Olá, João. Como vai?
Sua lógica está excelente! Você estruturou perfeitamente o laço de repetição e a condição de parada. A forma como você pediu para ler o valor antes de entrar no laço e depois repetiu a leitura no final de cada ciclo é uma ótima prática na programação para trabalhar com essas condições de parada.
Para agregar ainda mais valor ao seu algoritmo, uma sugestão interessante seria adicionar um contador para saber quantas despesas foram registradas, além do valor total. Você poderia fazer isso criando uma nova variável simples. Ficaria mais ou menos assim:
- SOMA = 0
- QUANTIDADE = 0
- LEIA VALOR
- ENQUANTO VALOR != 0:
- SOMA = SOMA + VALOR
- QUANTIDADE = QUANTIDADE + 1
- LEIA VALOR
- EXIBIR "Total de despesas cadastradas: ", QUANTIDADE
- EXIBIR "Valor total: ", SOMA
Dessa forma, além do controle financeiro bruto, o usuário também recebe um pequeno relatório do volume de movimentações. Parabéns por compartilhar a sua resolução passo a passo, o seu post com certeza vai clarear a mente de muitos colegas da comunidade!
Espero que possa ter lhe ajudado!