1
resposta

Algoritmo para Calcular a Taxa de Entrega

O algoritmo deve solicitar a distância da entrega e verificar se o pedido foi feito em um dia de chuva. Com essas informações, o sistema calcula a taxa base conforme a distância e adiciona R$ 2,00 caso esteja chovendo.

Algoritmo em linguagem natural:

  1. Solicitar a distância até o cliente, em quilômetros.
  2. Perguntar se está chovendo.
  3. Verificar a distância informada.
  4. Se a distância for até 5 km, a taxa será de R$ 5,00.
  5. Se a distância for maior que 5 km e até 10 km, a taxa será de R$ 8,00.
  6. Se a distância for maior que 10 km, a taxa será de R$ 10,00.
  7. Se estiver chovendo, acrescentar R$ 2,00 à taxa.
  8. Exibir a mensagem com o valor final da entrega.

Exemplo:

Início
  Ler distância
  Ler chovendo

  Se distância <= 5 então
      taxa = 5
  Senão se distância <= 10 então
      taxa = 8
  Senão
      taxa = 10
  FimSe

  Se chovendo = verdadeiro então
      taxa = taxa + 2
  FimSe

  Escrever "Taxa de entrega: R$ ", taxa
Fim

Dessa forma, o sistema informa corretamente o valor final da entrega, considerando tanto a distância quanto a condição de chuva.

1 resposta

Olá, Filipe! Tudo bem?

Parabéns pela resolução do desafio! O seu algoritmo está muito bem estruturado e demonstra uma compreensão clara de como utilizar estruturas condicionais encadeadas e acumuladores para resolver problemas do mundo real.

A lógica que você aplicou separa corretamente dois momentos distintos do cálculo:

  1. Definição da Taxa Base: Onde você usa a distância para classificar o valor inicial ($R$ 5$, $R$ 8$ ou $R$ 10$).
  2. Acréscimo Condicional: Onde você verifica a variável "chovendo" para decidir se deve somar o valor extra de $R$ 2,00$.

Destaques Técnicos da sua Resolução

  • Uso Eficiente do Senão se: Ao utilizar distância <= 10 logo após o primeiro Se, você eliminou a necessidade de verificar se a distância é maior que 5, pois o fluxo só chega ali se a primeira condição for falsa. Isso é um ótimo exemplo de eficiência algorítmica.
  • Independência de Condições: Você acertou ao colocar a verificação da chuva em um bloco Se separado. Se ela estivesse dentro do bloco de distância, você teria que repetir a mesma regra para todas as faixas de quilometragem, o que deixaria o código redundante.
  • Variável Acumuladora: A instrução taxa = taxa + 2 é fundamental na programação para atualizar o estado de uma variável mantendo o valor anterior.

Visualizando a Lógica de Cálculo

Veja como o "pensamento" do seu sistema funciona passo a passo:

DistânciaEstá chovendo?CálculoValor Final
3 kmNão$R$ 5,00$ (base) + $R$ 0,00$$R$ 5,00$
7 kmSim$R$ 8,00$ (base) + $R$ 2,00$$R$ 10,00$
12 kmSim$R$ 10,00$ (base) + $R$ 2,00$$R$ 12,00$

Dica de Ouro: Tipagem de Dados

Como você está lidando com valores monetários e distâncias, lembre-se que em linguagens como Java ou C#, a distância poderia ser um double (para aceitar 5.5 km) e a taxa um decimal ou float para garantir a precisão dos centavos.

Filipe, excelente contribuição! Como você adaptaria esse algoritmo se houvesse também uma Taxa de Urgência de $R$ 3,00$ que o cliente pudesse escolher? Seria um novo bloco Se ou você mudaria a lógica atual?