1
resposta

Desafio: Calculadora de despesas

Você está desenvolvendo um sistema simples de controle financeiro pessoal. Uma das funcionalidades é permitir que o usuário informe diversas despesas do mês (como mercado, transporte, lazer etc.), e ao final, o sistema deve apresentar o total gasto.

Sua tarefa é criar um algoritmo, em linguagem natural, que represente a seguinte lógica: o sistema deve somar automaticamente todos os valores informados pelo usuário, sem que ele precise dizer quantas despesas tem. O processo continua até que o valor digitado seja zero. Nesse momento, a soma total deve ser exibida.

Como o objetivo desse desafio seria desenvolver um algoritmo em linguagem natural pensei no seguinte.

despesas -> 0

enquanto for verdade
    despesa = le entrada usuario
    
    se despesa vazia
        falso
    senao
        soma despesa a despesas

imprime total de despesas

Pensando a longo prazo claro que podemos refinar isso, classificar essas despesas, imprimir algo mais detalhado caso o usuário queira, e a longo prazo podemos até utilizar os dados anteriores como base para prever os futuros.

1 resposta

Olá, Julia. Como vai?

Parabéns pela resolução do desafio! É excelente ver você aplicando as estruturas de controle do pensamento computacional para desenhar a lógica de um problema real de finanças pessoais.

O seu algoritmo em pseudocódigo/linguagem natural capturou muito bem a essência do que foi pedido. Você utilizou corretamente uma estrutura de repetição (enquanto) baseada em uma condição de parada, que é a escolha perfeita quando não sabemos antecipadamente quantas vezes o usuário vai digitar um valor.

A sua visão de longo prazo no final do post foi fantástica! Classificar os gastos em categorias (mercado, lazer, transporte), gerar relatórios detalhados e usar dados históricos para prever despesas futuras usando Inteligência Artificial e Ciência de Dados é exatamente o ecossistema que move as grandes fintechs do mercado hoje. Você pensou como uma verdadeira arquiteta de software!

Apenas para te ajudar a alinhar o seu algoritmo 100% com o enunciado da atividade, quero compartilhar um detalhe sutil sobre a regra de parada:


Ajustando a Condição de Interrupção

No seu algoritmo atual, você definiu que a repetição para se a entrada for vazia:

se despesa vazia
    falso

O enunciado do desafio pedia uma regra um pouquinho diferente: "O processo continua até que o valor digitado seja zero."

No desenvolvimento de sistemas, tratar o número 0 como fim é um padrão clássico conhecido como Valor Sentinela (um dado específico que serve apenas para avisar o programa que a brincadeira acabou). Reajustando o seu pseudocódigo para ler o número zero e garantir que a palavra falso mude o estado do laço, a lógica ficaria impecável assim:

total_despesas -> 0
continuar_lendo -> verdadeiro

enquanto continuar_lendo for verdadeiro:
    despesa = ler entrada usuario
    
    se despesa for igual a 0:
        continuar_lendo -> falso
    senao:
        somar despesa ao total_despesas

imprimir total_despesas

Como esse Raciocínio se Transforma em Código Real?

Veja que incrível: quando você domina o pensamento computacional em linguagem natural, traduzir isso para qualquer linguagem de programação de mercado (como o Python) vira um processo quase automático.

Olha como o algoritmo que você desenhou se transforma em um script real de computador respeitando exatamente os seus passos:

total_despesas = 0

while True:
    despesa = float(input("Digite o valor da despesa (ou 0 para encerrar): "))
    
    if despesa == 0:
        break  # Interrompe o laço 'enquanto' imediatamente
    else:
        total_despesas += despesa

print(f"O total de despesas do mês foi: R$ {total_despesas:.2f}")

Parabéns pela estruturação lógica e, principalmente, por já enxergar as evoluções futuras que o seu projeto pode ter. Continue com essa mentalidade analítica e ótimos estudos na computação!

Espero que possa ter lhe ajudado!