Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

RESOLUÇÃO

  • Comece com um total igual a zero.
  • Peça ao usuário que informe o valor de uma despesa.
  • Quando o usuário digitar um valor:
    1. Se o valor for maior que zero, some esse valor ao total.
    2. Depois de somar, peça outra despesa.
  • Repita esse processo sempre que um novo valor for digitado.
  • Quando o usuário digitar zero, significa que não há mais despesas.
  • Nesse momento, pare a coleta de valores e mostre o total gasto no mês.
1 resposta
solução!

Olá, Moises! Como vai?

Parabéns pela excelente resolução do desafio! O seu algoritmo em linguagem natural ficou impecável e descreve com muita clareza a lógica de um dos comportamentos mais importantes da programação: o laço de repetição condicional controlado por um valor sentinela (que, no seu caso, é o número zero).

A forma como você estruturou o fluxo demonstra que você entendeu perfeitamente os pilares do pensamento computacional. Vamos destacar os pontos altos da sua solução:

Análise Técnica do seu Fluxo

  • Inicialização de Estado: Você começou definindo que o "total é igual a zero". Na programação, chamamos isso de inicializar a variável acumuladora. Sem esse ponto de partida, o computador não saberia onde somar o primeiro valor.
  • Validação de Entrada: O seu filtro "Se o valor for maior que zero, some esse valor ao total" foi uma excelente sacada de proteção do código. Isso garante que o programa ignore valores negativos que poderiam adulterar o cálculo final de forma errada.
  • Critério de Parada Claro: Você amarrou muito bem a saída do bloco de repetição. O zero funciona como o "botão de desligar" do processo, impedindo que o seu programa entre em um loop infinito.

Como esse fluxo funciona visualmente?

Para ajudar a fixar ainda mais esse conceito na mente, veja como a lógica que você escreveu em texto se traduz perfeitamente no desenho de um fluxograma de programação:

Uma dica para quando você for programar

Quando você avançar para as aulas de código (em Python ou JavaScript, por exemplo), você verá que o seu algoritmo vai se transformar quase que literalmente nesta estrutura:

total = 0

# O loop roda por tempo indeterminado
while True:
    despesa = float(input("Informe o valor da despesa (ou 0 para sair): "))
    
    if despesa == 0:
        break # Para a coleta exatamente como você planejou
        
    if despesa > 0:
        total += despesa # Soma ao total acumulado
    else:
        print("Valor inválido! Digite apenas números positivos.")

print(f"O total gasto no mês foi: R$ {total:.2f}")

O seu raciocínio está perfeitamente alinhado com as boas práticas de lógica e estruturação de processos. Continue com esse foco e consistência nos próximos desafios!

Espero que possa ter lhe ajudado!