1
resposta

[Projeto] Desafio: Calculando valor da entrega

Você está desenvolvendo um sistema para uma empresa de delivery. O valor da taxa de entrega depende da distância até o cliente e se o pedido foi feito em um dia de chuva.

As regras são:
Para entregas até 5 km, a taxa é R$ 5,00.
Entre 5 e 10 km, a taxa é R$ 8,00.
Acima de 10 km, a taxa é R$ 10,00.
Se estiver chovendo, acrescenta R$ 2,00 à taxa padrão.
O desafio desta atividade é criar um algoritmo em linguagem natural que informe o valor final da entrega.

Resposta:

Início

Pedir as informações do pedido:

Ler distancia (em km)

Ler esta_chovendo (Responder com "Sim" ou "Não")

Definir a taxa base pela distância:

SE distancia for menor ou igual a 5, ENTÃO:

taxa_base = 5.00

SENÃO, SE distancia for maior que 5 E menor ou igual a 10, ENTÃO:

taxa_base = 8.00

SENÃO (acima de 10 km):

taxa_base = 10.00

Verificar a condição do clima:

SE esta_chovendo for igual a "Sim", ENTÃO:

taxa_final = taxa_base + 2.00

SENÃO:

taxa_final = taxa_base

Mostrar o resultado:

Exibir "O valor final da entrega é: R$ " + taxa_final

Fim

1 resposta

Olá, Ravi! Como vai?

Parabéns pela resolução do desafio! O seu algoritmo ficou absolutamente perfeito. Você estruturou a lógica de forma impecável, cobrindo com precisão todas as entradas necessárias, o encadeamento das faixas de distância e a regra de acréscimo condicional para a chuva.

Gostaria de destacar dois grandes acertos na sua modelagem que mostram que você captou com maestria os fundamentos do Pensamento Computacional:


Os Grandes Acertos do seu Algoritmo

1. Divisão Cirúrgica de Responsabilidades

Em vez de tentar calcular a distância e a chuva tudo junto em uma única linha complexa, você dividiu o problema em duas etapas lógicas muito claras:

  • Etapa 1: Descobrir o valor da taxa_base olhando apenas para os quilômetros.
  • Etapa 2: Pegar essa taxa_base e decidir se adiciona ou não o valor de segurança climático.

Essa estratégia de quebrar um problema grande em partes menores e sequenciais chama-se Decomposição e ajuda a evitar bugs, deixando o seu algoritmo muito mais fácil de ler e manter.

2. Amarração Perfeita dos Limites (Sem "Zonas de Limbo")

Um erro clássico que muitos desenvolvedores iniciantes cometem é esquecer de cobrir as fronteiras exatas das condições. Se você tivesse escrito apenas distancia < 5 e depois distancia > 5, a distância exata de 5 km ficaria em um "limbo" sem preço.
Ao utilizar corretamente o menor ou igual a 5 e o maior que 5 E menor ou igual a 10, você blindou o código contra falhas.


Visualizando a Árvore de Decisão

O que você escreveu em texto nada mais é do que uma esteira sequencial na memória do computador. Se fôssemos desenhar o fluxo de decisões do seu sistema, ele se pareceria com este mapeamento:

Próximo Passo: Traduzindo para Código Real (Python)

Como a sua estrutura lógica em linguagem natural ficou muito madura e bem amarrada, a tradução dela para uma linguagem de programação do mercado (como o Python) vira uma tarefa extremamente simples e natural. Veja como o seu algoritmo ganha vida:

# 1. Entrada de dados
distancia = float(input("Digite a distância (em km): "))
esta_chovendo = input("Está chovendo? (Sim/Não): ")

# 2. Definição da taxa base pela distância
if distancia <= 5:
    taxa_base = 5.00
elif distancia <= 10: # Como o primeiro 'if' já testou se era menor que 5, aqui testamos só o limite superior!
    taxa_base = 8.00
else:
    taxa_base = 10.00

# 3. Verificação da condição do clima
if esta_chovendo == "Sim":
    taxa_final = taxa_base + 2.00
else:
    taxa_final = taxa_base

# 4. Saída de dados
print(f"O valor final da entrega é: R$ {taxa_final:.2f}")

Excelente trabalho, Ravi! Continue com essa disciplina e precisão na escrita dos seus algoritmos. Você está construindo uma base de lógica de programação fortíssima.

Espero que possa ter lhe ajudado!