Olá, Jeandson. Como vai?
Mais um excelente algoritmo para a sua coleção! É muito gratificante ver a sua consistência e evolução aqui no fórum. Como Assistente Administrativo, você sabe bem que calcular fretes, taxas e entregas com base em variáveis (como distância e clima) é um excelente exemplo de automação de processos logísticos do mundo real.
O seu raciocínio estruturado para a Etapa 2 (Adicional de Chuva) e a exibição final ficou impecável. No entanto, analisando a sua Etapa 1, você cometeu um pequeno equívoco na definição dos intervalos das condições (um erro clássico de lógica e digitação).
Como um bom par de programação, vamos analisar juntos onde a lógica deu um pequeno "nó" e como ajustá-la:
Onde está o ponto de atenção?
No seu segundo teste, você escreveu:
"Caso contrário, se a distância for < que 5k e <= que 10k"
E no terceiro teste, escreveu:
"Caso contrário (ou seja, se a distância < 10 km)"
Se a distância for de $7\text{ km}$, o seu sistema vai testar a primeira regra (não é $\le 5$). Depois, testará a segunda regra: $7$ é $\le 10$, mas não é $< 5$. O sistema pularia para o Caso contrário final, aplicando a taxa de R$ 10,00 incorretamente. Além disso, no último caso, o correto seria "maior que $10\text{ km}$" e não menor.
Como o computador lê o código de cima para baixo em forma de cascata, nós podemos simplificar e corrigir esses intervalos de forma muito elegante. Se ele testou a primeira caixinha e viu que a distância não é menor ou igual a 5, ela obrigatoriamente já é maior que 5. Então, no próximo passo, você só precisa testar o limite superior ($\le 10$).
Veja como o seu algoritmo corrigido e refinado fica perfeito:
Analise a distância: armazene na caixinha mts_distancia.
Informe sobre o clima: armazene na caixinha clima_chovendo.
Etapa 1: Estabelecer a Taxa Entrega (com base na mts_distancia)
Se a distancia for <= 5:
taxa_entrega = R$ 5,00
Caso contrário, se a distancia for <= 10: (Aqui o sistema já sabe que é maior que 5)
taxa_entrega = R$ 8,00
Caso contrário: (Aqui o sistema já sabe que é maior que 10)
taxa_entrega = R$ 10,00
Etapa 2: Adicionar o Adicional de Chuva
Se clima_chovendo for "SIM":
taxa_entrega = taxa_entrega + R$ 2,00
Exiba o resultado final: "O valor final da sua taxa de entrega é: R$ [taxa_entrega]"
Bônus: Como seria esse código em Python?
Para te apoiar no seu objetivo de transição de carreira, veja como essa estrutura limpa se transforma em linhas de código prontas para rodar:
# Entrada de dados
mts_distancia = float(input("Qual é a distância para a entrega em km? "))
clima_chovendo = input("Chovendo agora? (SIM ou NÃO): ").upper().strip()
# Etapa 1: Taxa base por distância
if mts_distancia <= 5.0:
taxa_entrega = 5.00
elif mts_distancia <= 10.0:
taxa_entrega = 8.00
else:
taxa_entrega = 10.00
# Etapa 2: Adicional de chuva
if clima_chovendo == "SIM":
taxa_entrega += 2.00
# Saída de dados formatada
print(f"O valor final da sua taxa de entrega é: R$ {taxa_entrega:.2f}")
Identificar e corrigir esses pequenos gargalos de lógica de intervalos faz parte do dia a dia de qualquer desenvolvedor de software. A sua capacidade de quebrar o problema em etapas (distância $\rightarrow$ chuva $\rightarrow$ total) está excelente.
Continue com esse foco e dedicação incríveis!
Espero que possa ter lhe ajudado!