1
resposta

Minha resolução Calculadora de despesas

Meu raciocínio divididos por etapas:

1° Desenvolver sistema de controle pessoal;
2° Usuário informar diversas despesas mensais;
3° Final, sistema apresentar total de gastos;

Sistema + (total de valores) (apenas valor, sem informar quantidade de despesas)
Sistema encerra quando o último valor for = 0.
Se = 0 (exibir o valor total)

Início do algoritmo

Inicio = 0
digitar valor < 0

Somar (valores > 0)
Leia (valores sem mostrar o resultado final)
Resultado = Digitado 0 (apresentar valor da soma total)

Se digitado > 0
total de despesas+valor digitado

Se não digitado >0
permanecer sem resultado (solicitar novo valor)

Se digitado = 0
Resultado = informar valor total de despesas somadas.
Fim

1 resposta

Olá, Jessica! Como vai?

Parabéns pela resolução do desafio! Você estruturou muito bem as etapas do pensamento computacional, especialmente a decomposição do problema (dividir em etapas) e a lógica de repetição controlada por sentinela (o sistema rodar até que o valor 0 seja digitado).

Sua lógica está correta: você utiliza um acumulador (uma variável que vai guardando a soma de tudo) e um critério de parada. Esse é o coração de muitos sistemas financeiros reais!

Para te ajudar a visualizar como esse raciocínio se transforma em um programa funcional, gostaria de destacar dois pontos importantes:

1. O Ciclo de Repetição (Loop)

No seu algoritmo, você mencionou: "permanecer sem resultado (solicitar novo valor)". Na programação, isso é feito com uma estrutura chamada while (enquanto). Enquanto o valor for diferente de zero, o programa continua "preso" pedindo novos dados.

2. Tradução para Código (Python)

Veja como o seu passo a passo se torna um código limpo e eficiente. Note que iniciamos o total com zero e vamos somando cada despesa nova a ele:

total = 0
despesa = -1  # Iniciamos com um valor diferente de 0 para o loop começar

print("Calculadora de Despesas (digite 0 para encerrar)")

while despesa != 0:
    despesa = float(input("Digite o valor da despesa: "))
    if despesa > 0:
        total += despesa  # Aqui acontece a mágica da soma acumulada
    elif despesa < 0:
        print("Valor inválido! Digite apenas valores positivos.")

print(f"Total de gastos mensais: R$ {total:.2f}")

Dica de Ouro: Tratamento de Negativos

Notei que no seu algoritmo você colocou: "digitar valor < 0". Na prática, despesas são valores positivos que subtraem do nosso saldo, mas para a calculadora somar o "prejuízo", o usuário digita valores positivos. Se ele digitar um valor negativo por engano, é legal colocar um aviso (como fiz no exemplo acima) para não bugar o seu cálculo final.

Você teve facilidade em pensar nessa condição de parada com o "0" ou chegou a cogitar alguma outra forma de encerrar o programa?

Espero que possa ter lhe ajudado!