1
resposta

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.

Com base nas informações apresentadas no enunciado do desafio, sabe-se que:

Dados de entrada:

  • O valor inicial é igual a 0
  • O usuário informa individualmente os valores das despesas
  • O valor 0, quando indicado pelo usuário, indica a finalização e a soma total das despesas

A. Algoritmo:

  1. Início
    Criar uma variável denominada “Soma Total”, cujo valor inicial será definido como 0.
  2. Solicitar um valor de despesa ao usuário.
  3. Enquanto o valor adicionado pelo usuário for diferente de 0:
  • Adicionar o valor à soma total
  • Exibir o subtotal acumulado até o momento
  • Pedir ao usuário que digite o valor da próxima despesa
  1. Quando o valor informado for igual a 0, encerrar o ciclo de repetição
  2. Finalização: Mostrar o valor total acumulado.

B. Pensando em uma situação em que um usuário cometesse algum erro, criei o seguinte algoritmo:

  1. Início

Criar uma variável denominada “Soma Total”, cujo valor inicial será definido como 0.

  1. Solicitar um valor de despesa ao usuário.
  2. Enquanto o valor adicionado pelo usuário for diferente de 0:
  • Confirmar o valor digitado pelo usuário onde “S” está para Sim e “N” está para não

Se a resposta for “S”:

  • Somar o valor à variável “Soma Total”
  • Exibir o subtotal acumulado até o momento
  • Pedir ao usuário que digite o valor da próxima despesa

Se a resposta for “N”:

  • Exibir a mensagem: “O valor foi desconsiderado. Por favor, digite o valor correto”.
  1. Pedir ao usuário que digite o valor da próxima despesa
  2. Quando o valor informado for igual a 0, encerrar o ciclo de repetição
  3. Finalização: Mostrar o valor total acumulado.
1 resposta

Olá, Andressa. Como vai?

A sua resolução do Algoritmo A está perfeita! Você compreendeu muito bem o conceito da estrutura de repetição e da variável acumuladora (Soma Total), atendendo exatamente ao que o desafio pediu para construir.

Porém, o que realmente brilhou foi a sua iniciativa no Algoritmo B! Ter essa visão crítica de prever que o usuário pode cometer um erro de digitação é uma habilidade de ouro na área da programação. Na vida real de quem desenvolve software, nós chamamos isso de validação de dados, e é o que diferencia um sistema amador de um sistema profissional.

Para agregar ainda mais valor a essa sua ideia incrível, uma sugestão prática é que o sistema também pode fazer algumas validações matemáticas sozinho, antes mesmo de perguntar o "Sim ou Não". Por exemplo, como estamos somando despesas padrão, o usuário não deveria conseguir inserir um valor negativo por engano.

Você poderia adicionar uma verificação automática logo após a leitura do número, protegendo o seu código. Ficaria estruturado mais ou menos assim:

  • Solicitar um valor de despesa ao usuário.
  • Se valor < 0:
  • Exibir "Valor inválido. As despesas não podem ser negativas."
  • Pedir ao usuário que digite o valor novamente.
  • Senão:
  • Confirmar o valor digitado (S/N)...

Dessa forma, o seu programa fica duplamente inteligente: ele barra erros óbvios de digitação (como esbarrar no botão de menos) automaticamente e ainda confirma com o usuário se o valor digitado era realmente aquele. Parabéns por ir muito além do enunciado e pensar na experiência de quem vai usar o sistema!

Espero que possa ter lhe ajudado!