1
resposta

[Projeto] Desafio: Calculadora de despesas

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.

Início

despesas total = zero

pegar despesa
vefiricar se despesa adcionada igual a zero
se não, somar despesa à despesas totais do mês
se sim, solicitar que confirme se despesa igual zero, para garantir que quer encerrar o processo
se sim para despesa nova igual zero
apresentar total de despesa mês

1 resposta

Olá, Dannyel! Como vai?

O seu algoritmo ficou excelente! Você capturou com perfeição o coração do desafio, que era identificar a necessidade de um laço de repetição condicional (um loop que roda enquanto uma condição for verdadeira) para somar as despesas sem que o usuário precise dizer a quantidade exata delas antes.

A sua sacada de adicionar uma etapa de confirmação quando o usuário digita zero ("solicitar que confirme se despesa igual zero") foi um toque de mestre em termos de Experiência do Usuário (UX). Na vida real, o usuário pode digitar zero por engano, e essa confirmação evita que ele perca todo o progresso da digitação. Parabéns pela visão prática!


Analisando o Fluxo Lógico

Do ponto de vista do Pensamento Computacional, o seu algoritmo está muito bem desenhado. Ele segue perfeitamente a estrutura de:

  1. Inicialização: despesas total = zero (criar a variável acumuladora).
  2. Entrada de dados: pegar despesa.
  3. Tomada de Decisão (Condicional): Verificar se o valor é zero para decidir se continua somando ou se encerra.

Se fôssemos desenhar esse algoritmo em um fluxograma de programação para visualizar o caminho do código, ele ficaria com essa estrutura:


Um pequeno ajuste na repetição (Linguagem Natural)

Para que o seu algoritmo em linguagem natural fique 100% blindado e pronto para ser transformado em código (como em Python ou JavaScript), só falta deixar explícito o momento em que o sistema volta para pegar a próxima despesa.

Do jeito que está escrito, o sistema pega a despesa uma vez e segue direto para o fim. Precisamos indicar que, se a resposta for "não" (ou seja, a despesa não é zero), o sistema deve repetir o processo.

Veja como podemos reescrever o seu algoritmo mantendo todas as suas ideias ótimas (incluindo a confirmação), mas deixando o ciclo de repetição bem claro:

Início

  1. Defina despesas_totais = 0
  2. Repita as seguintes etapas:
  • Peça para o usuário digitar o valor da despesa_atual.

  • Se despesa_atual for igual a 0:

  • Peça para o usuário confirmar: "Deseja mesmo encerrar?"

  • Se a resposta for Sim:

  • Interrompa a repetição (saia do loop).

  • Se a resposta for Não:

  • Ignore o zero e continue o processo.

  • Senão (se a despesa for maior que zero):

  • Some o valor: despesas_totais = despesas_totais + despesa_atual.

  1. Apresente na tela o valor de despesas_totais.
    Fim

Esse pequeno ajuste de indicar o início da repetição e o momento de "interromper" deixa o seu algoritmo impecável sob a ótica da lógica de programação. Parabéns pela excelente evolução e por continuar compartilhando suas soluções no fórum!

Espero que possa ter lhe ajudado!