Olá, Rafael! Como vai?
Sua solução para o desafio da Calculadora de Despesas é um excelente exemplo de como aplicar o Pensamento Computacional para resolver problemas do cotidiano. Você utilizou conceitos fundamentais que toda linguagem de programação exige.
Gostaria de destacar os pontos técnicos que tornam seu algoritmo lógico e funcional:
1. O Conceito de Acumulador
A variável Total = 0 que você criou funciona como um Acumulador. Na computação, essa é uma técnica onde uma variável é atualizada sucessivamente com novos valores. Sem ela, o computador "esqueceria" o valor da despesa anterior assim que você digitasse a próxima.
2. Estrutura de Repetição com Condição de Parada
O ponto mais alto do seu algoritmo é a Decisão baseada no valor 0. Na programação, chamamos isso de Sentinela.
- O algoritmo entra em um laço de repetição (loop).
- Ele continua pedindo dados enquanto o valor for diferente de 0.
- O valor 0 não é uma despesa real, mas um "sinal" para o código de que o trabalho acabou.
3. Decomposição e Abstração
Você aplicou a Decomposição ao quebrar o processo de "fechar o mês" em passos repetitivos de entrada e soma. E usou a Abstração ao focar apenas no valor numérico, ignorando (por enquanto) detalhes como a data da despesa ou a categoria, focando no objetivo principal: o saldo final.
Dica para o Algoritmo (Pseudocódigo)
Para te ajudar a visualizar como isso seria escrito de forma mais técnica, veja este exemplo:
Enquanto despesa for DIFERENTE de 0:
Ler despesa
Total = Total + despesa
Exibir Total
Sugestão de Melhoria
Uma ideia legal para evoluir esse pensamento seria: e se o usuário digitar um valor negativo por engano?
Você poderia adicionar uma validação: "Se o valor for menor que 0, exibir mensagem de erro e não somar ao total". Isso tornaria seu algoritmo muito mais robusto contra erros humanos!
Parabéns pela lógica estruturada. Esse é exatamente o caminho para começar a escrever códigos reais com segurança.
Espero que possa ter lhe ajudado!
No seu projeto, você considerou o valor 0 como a única forma de encerrar? Como o algoritmo deveria reagir se o usuário apenas apertasse "Enter" sem digitar nada?