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
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?