Entrada necessária
Valores das despesas informados um a um pelo usuário (números reais/decimais)
Saída esperada
Total gasto no mês (soma de todos os valores informados)
Algoritmo em linguagem natural
text
INÍCIO
DEFINIR variável soma_total = 0
REPETIR:
a. SOLICITAR ao usuário: "Informe o valor da despesa (ou digite 0 para encerrar):"
b. LER o valor informado e armazenar em valor_despesa
c. SE valor_despesa == 0:
INTERROMPER a repetição (sair do loop)
SENÃO:
ADICIONAR valor_despesa à soma_total
(opcional: EXIBIR "Despesa de R$ X adicionada com sucesso")APÓS sair do loop, EXIBIR:
"Total de despesas do mês: R$" + soma_total
FIM
Exemplo de execução passo a passo
Passo Ação Valor digitado soma_total
Início - - 0,00
1 Usuário digita 150,00 150,00
2 Usuário digita 89,90 239,90
3 Usuário digita 35,50 275,40
4 Usuário digita 12,75 288,15
5 Usuário digita 0 → interrompe
Resultado exibido: Total de despesas do mês: R$ 288,15
Fluxograma visual
text
INÍCIO
↓
soma_total = 0
↓
┌─────────────┐
│ Pedir valor │
│ ao usuário │
└──────┬──────┘
↓
┌─────────────┐
│ Ler valor │
└──────┬──────┘
↓
valor == 0 ?
↙ ↘
SIM NÃO
↓ ↓
Sair soma_total += valor
loop ↓
↓ Retornar ao pedido
└──────────┘
↓
Exibir soma_total
↓
FIM
Variação com validação (tratando entradas inválidas)
Caso o usuário digite um valor negativo por engano:
text
INÍCIO
soma_total = 0
REPETIR:
a. SOLICITAR valor da despesa (0 para encerrar)
b. LER valor_despesa
c. SE valor_despesa < 0:
EXIBIR "Valor negativo ignorado. Digite um valor positivo."
CONTINUAR (voltar ao início do loop)
d. SE valor_despesa == 0:
INTERROMPER loop
SENÃO:
soma_total = soma_total + valor_despesaEXIBIR "Total: R$" + soma_total
FIM
Características importantes deste algoritmo
Característica Explicação
Número indefinido de iterações O usuário decide quantas despesas informar
Condição de parada Valor digitado igual a zero (sentinela)
Acumulador Variável soma_total que guarda o resultado parcial
Simplicidade Não é necessário perguntar "quantas despesas você tem?"
Este algoritmo é um exemplo clássico de estrutura de repetição com condição de saída no meio do loop (do-while em muitas linguagens).