1
resposta

[Projeto] Desafio: Calculando valor da entrega

Regras da entrega
Até 5 km → taxa de R$ 5,00
Entre 5 km e 10 km → taxa de R$ 8,00
Acima de 10 km → taxa de R$ 10,00
Se estiver chovendo → adicionar R$ 2,00

O algoritmo realiza as seguintes etapas:

Recebe a distância da entrega.
Verifica a faixa de distância para definir a taxa base.
Pergunta se está chovendo.
Caso esteja chovendo, acrescenta R$ 2,00 ao valor da taxa.
Exibe o valor final ao usuário.

Algoritmo em linguagem natural

Início

Solicitar a distância da entrega em quilômetros

Perguntar se está chovendo
(Resposta: SIM ou NÃO)

Se a distância for menor ou igual a 5 km:
    taxa = 5

Senão, se a distância for maior que 5 km e menor ou igual a 10 km:
    taxa = 8

Senão:
    taxa = 10

Se estiver chovendo:
    adicionar 2 à taxa

Exibir o valor final da entrega

Fim
1 resposta

Olá, Paola. Como vai?

Parabéns por mais uma excelente entrega! O seu algoritmo para calcular o valor da entrega está simplesmente perfeito. Você estruturou a lógica com muita clareza e dividiu muito bem o problema em duas etapas condicionais independentes, o que é uma excelente prática de programação.

Gostaria de destacar um ponto técnico muito positivo no seu desenho: a forma como você tratou o acréscimo da chuva. Ao criar uma variável chamada taxa para guardar o valor base e, logo em seguida, criar um Se isolado para verificar a chuva e simplesmente somar o valor (adicionar 2 à taxa), você evitou a duplicação de código. Se você tentasse colocar a verificação da chuva dentro de cada faixa de distância, o algoritmo ficaria gigante e muito mais difícil de ler. Do seu jeito, ficou compacto e elegante!

Para agregar ainda mais valor ao seu desafio e aproximá-lo do código real, separei duas dicas de boas práticas:

1. Simplificação das Condições (Otimização Lógica)

No seu segundo bloco condicional, você escreveu: Senão, se a distância for maior que 5 km e menor ou igual a 10 km.

Na programação, quando o sistema chega no primeiro Senão, ele já sabe de forma garantida que a distância é maior que 5 (afinal, se fosse menor ou igual a 5, ela teria entrado no primeiro Se). Por isso, você pode simplificar o seu texto e o seu futuro código removendo essa primeira checagem. Ficaria assim:

  • Se a distância for menor ou igual a 5 km: taxa = 5
  • Senão, se a distância for menor ou igual a 10 km: taxa = 8
  • Senão: taxa = 10

2. Tradução para Código Python com a sua Lógica

Para ver como a sua estrutura de pensamento se encaixa perfeitamente no desenvolvimento real, veja como o seu algoritmo em linguagem natural se transforma em um script Python profissional, incluindo uma limpeza no texto de entrada para evitar erros caso o usuário digite "sim" com letras minúsculas:

# Solicitar a distância da entrega em quilômetros
distancia = float(input("Digite a distância da entrega em km: "))

# Perguntar se está chovendo e padronizar a resposta
chovendo_input = input("Está chovendo no momento? (SIM ou NÃO): ")
esta_chovendo = chovendo_input.strip().upper() == "SIM"

# Verifica a faixa de distância para definir a taxa base
if distancia <= 5:
    taxa = 5.0
elif distancia <= 10:
    taxa = 8.0
else:
    taxa = 10.0

# Caso esteja chovendo, acrescenta R$ 2,00 ao valor da taxa
if esta_chovendo:
    taxa = taxa + 2.0

# Exibe o valor final ao usuário
print(f"O valor final da entrega é: R$ {taxa:.2f}")

A sua habilidade para quebrar problemas complexos em pequenos blocos lógicos sequenciais está excelente. Continue com esse foco incrível nos exercícios!

Espero que possa ter lhe ajudado!