Olá, Ana. Como vai?
Sua lógica para o algoritmo da calculadora de despesas está muito bem direcionada! Você conseguiu captar bem o conceito de acumulador (a variável totaldespesas) e a necessidade de uma condição de parada para encerrar o programa.
Para tornar sua explicação ainda mais técnica e próxima do que usamos na programação, podemos destacar que esse processo onde o código se repete até que o usuário digite 0 é chamado de laço de repetição ou loop.
Aqui estão algumas sugestões para complementar o seu raciocínio:
- Variável Acumuladora: É importante garantir que a variável
totaldespesas comece sempre com o valor 0 para não somar lixo de memória. - Refinamento do Fluxo: Na lógica de programação, costumamos usar uma estrutura chamada Enquanto (ou While). Enquanto o número digitado for diferente de 0, o programa continua pedindo novos valores.
- Feedback ao Usuário: É interessante mostrar o subtotal a cada nova inserção, para que a pessoa saiba que o valor foi somado corretamente.
Veja um exemplo de como esse fluxo ficaria estruturado de forma mais linear:
Início
Defina totaldespesas = 0
Defina valor_digitado = -1
Enquanto valor_digitado != 0 faça:
Mostre "Digite o valor da despesa (ou 0 para sair): "
Leia valor_digitado
Se valor_digitado > 0 então:
totaldespesas = totaldespesas + valor_digitado
Senão Se valor_digitado < 0 então:
Mostre "Valor inválido! Digite um valor maior que zero."
Fim_Se
Fim_Enquanto
Mostre "O total de suas despesas é: " + totaldespesas
Fim
Essa organização ajuda a visualizar exatamente o momento em que o programa decide se continua rodando ou se exibe o resultado final.
Espero que possa ter lhe ajudado!