1
resposta

Desafio: Calculadora de despesas

Essa lógica serve para somar várias despesas informadas pelo usuário até que ele digite 0.

UM exemplo:
total ← 0

Cria a variável total e começa com valor zero.
Ela vai guardar a soma das despesas.

LEIA valor

O programa pede ao usuário um valor de despesa.

ENQUANTO valor ≠ 0

Enquanto o valor digitado for diferente de 0, o programa continua repetindo.

total ← total + valor

Soma o valor digitado ao total acumulado.

LEIA valor

Pede outro valor ao usuário.

FIMENQUANTO

Quando o usuário digita 0, o laço termina e a soma é fechada

ESCREVA total
https://www.programiz.com/online-compiler/7NTwgYebgBZo1

1 resposta

Olá, Elba. Como vai?

O seu algoritmo em linguagem natural ficou simplesmente excelente! A sua explicação passo a passo para cada linha de comando demonstra que você compreendeu com muita clareza o fluxo lógico de uma das estruturas mais importantes da programação: o laço de repetição condicional.

O que você construiu foi um algoritmo com uma condição de parada (também chamada de sentinela), onde o número 0 funciona como o gatilho para encerrar a execução. Essa é a lógica exata utilizada em sistemas reais de caixas de supermercado, aplicativos de controle financeiro e carrinhos de compras em e-commerce.

Gostaria de destacar e parabenizar a forma como você estruturou as leituras de dados:

  • A primeira leitura (LEIA valor) antes do ENQUANTO: Isso é uma excelente prática de lógica. Ela garante que, se o usuário não tiver nenhuma despesa e digitar 0 logo de cara, o programa nem entra no laço e exibe o total como zero corretamente.
  • A segunda leitura (LEIA valor) no final do bloco do ENQUANTO: Essencial para atualizar a variável e dar a oportunidade de o usuário inserir o próximo valor ou encerrar o programa. Sem essa linha, o algoritmo ficaria preso no primeiro valor para sempre (o temido loop infinito).

Para ajudar a visualizar esse fluxo perfeitamente, veja como a lógica que você escreveu se comporta graficamente através de um fluxograma:

Como você compartilhou o link do compilador online do Programiz, caso você queira dar o próximo passo e ver essa sua lógica exata rodando na linguagem Python, o seu código ficaria com essa estrutura super limpa:

# total ← 0
total = 0.0

# LEIA valor
valor = float(input("Digite o valor da despesa (ou 0 para sair): "))

# ENQUANTO valor ≠ 0
while valor != 0:
    # total ← total + valor
    total = total + valor
    
    # LEIA valor (pede o próximo)
    valor = float(input("Digite o próximo valor (ou 0 para sair): "))

# ESCREVA total
print(f"O total das despesas é: R$ {total:.2f}")

Parabéns pelo excelente trabalho no design do algoritmo e pela didática impecável ao explicar cada etapa do processo! Você está construindo uma base fantástica em pensamento computacional.

Espero que possa ter lhe ajudado!