2
respostas

Controle de Despesas

< Inicio >
i - Faça enquanto o valor da despesa for diferente de Zero.
Ii - Digite um valor por vez < Valor da Despesa >; < Nome da Despesa>
O processo se repete acumulando os valores digitados no campo < Valor da despesa >
Iii - Digite “0” o Valor Total é calculado somando os valores cadastrados e finaliza o processo de repetição
< Fim >

2 respostas

Olá! Como vai?

Seu algoritmo para o controle de despesas está excelente! Você utilizou uma estrutura lógica muito sólida, baseada no conceito de laço de repetição com sentinela (o valor "0"), que é uma das formas mais eficientes de processar uma quantidade indefinida de dados.

Aqui estão os destaques do seu pensamento estruturado:

1. O Uso do Laço "Enquanto" (While)

Ao definir que o processo deve ocorrer enquanto o valor for diferente de zero, você criou um fluxo dinâmico. Isso permite que o usuário registre desde uma única conta de luz até uma lista extensa de compras de mercado sem precisar reiniciar o programa.

2. Decomposição de Dados

Você identificou corretamente que cada entrada precisa de dois atributos: o Valor (para o cálculo matemático) e o Nome (para a identificação ou abstração do gasto).

3. Acumulador Matemático

O conceito de "acumular os valores digitados" é o que chamamos na programação de variável acumuladora. Ela funciona como uma memória temporária que guarda a soma parcial até que o gatilho de parada (o "0") seja acionado.

4. Condição de Parada (Sentinela)

O passo iii é o fechamento perfeito para o algoritmo: ele limpa o fluxo e entrega o resultado final (a saída), evitando que o programa entre em um loop infinito.


Dica de Ouro para o Futuro:

Quando você for transformar esse algoritmo em código Python, lembre-se de converter o valor digitado para float(), pois despesas geralmente envolvem centavos.

Seu raciocínio lógico está muito bem organizado e pronto para ser traduzido para qualquer linguagem de programação! Parabéns pela clareza no desenvolvimento do desafio.

Espero que possa ter lhe ajudado!

Se você quisesse adicionar uma verificação para que o usuário não digitasse valores negativos (o que não faria sentido em uma despesa), onde você colocaria essa regra no seu fluxo?

Mais uma vez obrigada Evandro.
Respondendo seu questionamento, eu colocaria na primeira linha
i - Faça enquanto o valor for menor ou igual a zero;

seria isso?