Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

3
respostas

Desafio: Calculando valor da entrega

  1. Iniciar o algoritmo.
  2. Solicitar ao usuário a distância da entrega em quilômetros.
  3. Perguntar se está chovendo.
  4. Verificar a distância:
  5. Se a distância for até 5 km, definir a taxa como R$ 5,00.
  6. Se a distância for maior que 5 km e até 10 km, definir a taxa como R$ 8,00.
  7. Se a distância for maior que 10 km, definir a taxa como R$ 10,00.
  8. Se estiver chovendo, adicionar R$ 2,00 à taxa de entrega.
  9. Exibir o valor final da taxa de entrega.
  10. Encerrar o algoritmo.
3 respostas

Oi, Ana. Tudo bem com você?

Seu algoritmo segue corretamente as regras propostas na atividade, considerando tanto a distância da entrega quanto a condição de chuva para determinar a taxa final. A sequência apresentada também está coerente, iniciando pela coleta das informações, realizando as verificações necessárias e, por fim, exibindo o resultado ao usuário. Não identifiquei inconsistências na lógica que você descreveu.

Pensando em uma situação real de um aplicativo de delivery, como você adaptaria esse algoritmo caso a empresa também cobrasse uma taxa adicional para entregas realizadas durante a madrugada?

Parabéns pela atividade, Ana. Obrigado por compartilhar sua solução e continue utilizando o fórum sempre que surgir uma dúvida ou quiser dividir seu aprendizado.

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

P1: "Qual seu endereço, cliente?"
Com a resposta de P1, verificar a distância da empresa até o endereço, em km, no Google Maps e definir o valor em distancia_cliente.
P2: "Está chovendo onde você mora, cliente?"
Se a resposta de P2 for sim, definir dia_chuva = True, mas se for não, dia_chuva = False.

Dessa forma, segue exemplo:

# Variáveis
distancia_cliente = 7     # km
taxa = 0.0     # R$
dia_chuva = True

# Condicional da distância
se distancia_cliente <= 5:
     taxa = 5.0
ainda se distancia_cliente > 10:
     taxa = 10.0
caso contrario:
     taxa = 8.0

# => retorno: taxa = R$ 8.0

# Condicional da chuva
se dia_chuva:
     taxa += 2.0
caso contrário:
     passa

# => retorno: taxa = R$ 10.0

Oi, Rodrigo.

Obrigado por compartilhar sua solução para o desafio. Sua lógica contempla corretamente as regras propostas, considerando tanto a distância quanto o acréscimo da taxa em dias de chuva. A divisão do algoritmo em etapas também facilita a leitura e deixa claro como o valor final é obtido. Além disso, utilizar uma variável para armazenar a taxa antes de aplicar o adicional torna a solução mais organizada e simples de manter.

Pensando em uma evolução desse algoritmo, como você incluiria uma regra para oferecer frete grátis em compras acima de um determinado valor, mantendo a lógica organizada?

Parabéns pela resolução e por detalhar o raciocínio utilizado. Continue compartilhando suas soluções. O fórum está à disposição para acompanhar sua evolução.

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