Entrada
distância
chuva
Processamento
Se distância <= 5km então taxa = 5,00
Se distância > 5km OU <= 10km então taxa = 8,00
Se distância > 10km então taxa = 10,00
Se chuva == true então taxa = taxa + 2,00
Saída
Taxa
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!
Entrada
distância
chuva
Processamento
Se distância <= 5km então taxa = 5,00
Se distância > 5km OU <= 10km então taxa = 8,00
Se distância > 10km então taxa = 10,00
Se chuva == true então taxa = taxa + 2,00
Saída
Taxa
Oi, Luiz Felipe! Tudo bem?
Sua estruturação para o cálculo da taxa de entrega tá muito bem organizada. Você separou claramente as etapas de entrada, processamento e saída, o que é um dos pilares do pensamento computacional.
Notei um ponto importante na sua lógica de processamento que pode gerar uma pequena confusão para o computador na hora de executar. Vamos analisar juntos?
Na sua segunda regra, você definiu:
Na lógica de programação, o uso do OU nesse caso faria com que quase qualquer distância entrasse nessa regra. Por exemplo:
<= 10km (Verdadeiro), então a taxa seria 8,00.> 5km (Verdadeiro), então a taxa também seria 8,00.O ideal aqui é usar o operador E, garantindo que o valor esteja dentro de um intervalo específico (maior que 5 e ao mesmo tempo menor ou igual a 10).
Veja como o algoritmo ficaria mais preciso:
chuva == true é uma ótima prática para representar estados de "sim ou não" no sistema.Essa lógica é muito utilizada em aplicativos de delivery para ajustar preços em tempo real (o famoso preço dinâmico).
Como você faria para adicionar uma regra de "Frete Grátis" caso o valor do pedido do cliente fosse maior que um determinado valor, independente da distância? Onde você encaixaria essa verificação?