Oi, Juliana, como vai?
Sua descrição em linguagem natural capturou perfeitamente a lógica de controle de fluxo necessária para solucionar o desafio proposto. Você conseguiu mapear de forma clara conceitos fundamentais do pensamento computacional, como a inicialização de uma variável acumuladora para armazenar a soma e a definição precisa da condição de parada utilizando uma estrutura de repetição baseada no valor zero. A forma como encadeou os acontecimentos demonstra uma excelente capacidade de abstração e modelagem de problemas.
Uma dica útil para quando você for traduzir esse algoritmo para uma linguagem de programação real é o uso da estrutura de repetição que executa o teste da condição no início ou no fim do bloco de código. Em lógicas onde precisamos garantir que a leitura aconteça ao menos uma vez antes da verificação, algumas linguagens oferecem a estrutura do-while, enquanto em outras estruturamos um laço while tradicional garantindo que a variável receba um valor inicial que permita a primeira entrada no bloco de repetição.
Pensando na experiência da pessoa que vai utilizar esse sistema no dia a dia, como poderíamos adaptar essa lógica para garantir que o programa não quebre caso o usuário digite acidentalmente um valor negativo ou um caractere de texto no lugar do valor da despesa?
Parabéns pelo excelente raciocínio no desenvolvimento desse algoritmo e muito obrigado por compartilhar sua solução no fórum. Continue se dedicando aos estudos e lembre-se de que a comunidade está à disposição para colaborar com o seu aprendizado.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!