1
resposta

[Projeto] Desafio: Calculadora de despesas

    // Inicializa o total.
    total = 0

    // Recebe os valores repetidamente
    enquanto (valor !== 0):
        receber(valor)
        somar(valor, total)

    // Exibe o valor depois do loop
    exibir(total)
Fim```
1 resposta

Olá, Pedro Henrique. Como vai?

Excelente resolução! Você aplicou um conceito fundamental da programação chamado sentinela. Em computação, um sentinela é um valor especial (no seu caso, o número $0$) usado para sinalizar o fim de um processo de repetição.

Essa estrutura é perfeita para situações onde não sabemos de antemão quantas despesas o usuário vai digitar — pode ser apenas uma ou podem ser cem.

Gostaria de destacar os pontos fortes da sua lógica sob a ótica do Pensamento Computacional:

  • Decomposição: Você separou a inicialização do total, a coleta dos dados e a exibição do resultado.
  • Reconhecimento de Padrões: Você percebeu que a ação de "receber e somar" se repete até que uma condição específica seja atendida.
  • Algoritmo: A sequência está logicamente correta para evitar que o programa entre em um "loop infinito".

Um pequeno ajuste técnico

No mundo real da programação, existe um detalhe importante: a ordem das ações dentro do enquanto. No seu código atual, se o usuário digitar $0$, o programa pode tentar somar esse $0$ ao total antes de sair do loop. Embora somar zero não mude o resultado, em outros contextos (como uma divisão), isso poderia causar um erro.

Uma forma muito comum de escrever essa lógica em linguagens como Python ou JavaScript é garantir que o valor seja verificado imediatamente após ser recebido:

// Versão refinada
total = 0
valor = 1 // Iniciamos com um valor diferente de 0 para o loop começar

enquanto (valor != 0):
    obter(valor)
    total = total + valor

exibir(total)

Dica de Ouro:

Esse padrão que você usou é conhecido como Acumulador. A variável total vai "acumulando" os valores a cada volta do laço. Esse é o "coração" de sistemas de caixa de supermercado e aplicativos de finanças!

Parabéns pela consistência nos desafios. Você está construindo uma base de lógica muito sólida.

Espero que possa ter lhe ajudado!