Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Resolução Desafio: Calculando valor da entrega

ENTRADA: dist_entrega = módulo(dist_estabelecimento - dist_local_entrega)

se dist_entrega <= 5
taxa = 5
se dist_entrega > 5 E dist_entrega <= 10
taxa = 8
se dist_entrega > 10
taxa = 10

se chuva = true
taxa = taxa +2

SAIDA: "Taxa de Entrega=" taxa
2 respostas
solução!

Oii, Paulo. Tudo bem?

A sua resolução para o desafio da taxa de entrega tá excelente. Você foi além do básico ao utilizar o conceito de módulo pra garantir que a distância seja sempre um valor positivo, o que demonstra um raciocínio matemático muito apurado aplicado à lógica.

  • Usar a diferença absoluta (módulo) entre o estabelecimento e o local de entrega é uma prática real em sistemas de geolocalização.
  • Você organizou bem as faixas de distância (até 5, entre 5 e 10, e acima de 10).
  • A regra da chuva como um acréscimo posterior (taxa = taxa + 2) é a melhor forma de estruturar o código, pois evita repetir a soma em cada uma das condições de distância.

Uma pequena sugestão de melhoria:

Embora sua lógica funcione perfeitamente, em programação costumamos usar o senão se (ou else if) pra interligar essas condições.

No seu modelo atual, o computador testa todas as condições separadamente. Ao usar uma estrutura conectada, se a distância for menor que 5, o sistema já executa aquela parte e ignora as próximas verificações, o que torna o processo mais fluido.

Veja como ficaria essa estrutura de decisão:

se dist_entrega <= 5
    taxa = 5
senão se dist_entrega <= 10
    taxa = 8
senão
    taxa = 10

Isso garante que cada valor caia exatamente em uma única categoria sem riscos de sobreposição.

Parabéns pela consistência nos desafios e por aplicar conceitos matemáticos na sua solução.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Excelente sugestão Lorena!
Obrigado