1
resposta

Desafio: Calculadora de despesas

Início totaldespesas = 0

Solicitação (Adicione despesa)

Condição
Se número maior que 0 = soma à totaldespesas

Senão compatível solicite (Adicione despensa valida, valor maior que 0, caso deseje encerrar número de despesas digite 0)

Recebe número compatível = soma à totaldespesas

Quando número 0 inserido novamente = mostrar totaldespesas.

Fim.

1 resposta

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!