1
resposta

(RESPOSTA) 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.

Início do Algoritmo

// ENTRADA
Defina taxa_de_entrega = 0
Defina adicional_clima_chuvoso = 0
Defina valor_final = 0

Mostre "Informe o Valor do Pedido: "
Leia total_do_pedido
Enquanto valor_do_pedido <= 0 faça
    Mostre "Valor Inválido! Digite Novamente!
    Leia valor_do_pedido
Fim_Enquanto

Mostre "Informe a distância da entrega: "
Leia distancia
Enquanto distancia <= 0 faça
    Mostre "Distância Inválida! Digite Novamente!"
    Leia distancia
Fim_Enquanto	
Mostre "Está chovendo? Digite 1 para SIM ou qualquer número para NÃO: "
Leia esta_chovendo

// PROCESSAMENTO
Se esta_chovendo == 1 então
    adicional_clima_chuvoso = 2.00
Fim_Se	

Se distancia <= 5 então
    taxa_de_entrega = 5.00
    total_do_pedido = valor_do_pedido + taxa_de_entrega + adicional_clima_chuvoso
    Mostre "Valor do Pedido: "+valor_do_pedido
    Mostre "Taxa de Entrega: "+taxa_de_entrega
    Mostre "Adicional Clima Chuvoso: "+adicional_clima_chuvoso
    Mostre "Total à Pagar: "+total_do_pedido
Fim_Se

Se distancia > 5 E distancia <= 10 então
    taxa_de_entrega = 8.00
    total_do_pedido = valor_do_pedido + taxa_de_entrega + adicional_clima_chuvoso
    Mostre "Valor do Pedido: "+valor_do_pedido
    Mostre "Taxa de Entrega: "+taxa_de_entrega
    Mostre "Adicional Clima Chuvoso: "+adicional_clima_chuvoso
    Mostre "Total à Pagar: "+total_do_pedido
Fim_Se

Se distancia > 10 então
    taxa_de_entrega = 10.00
    total_do_pedido = valor_do_pedido + taxa_de_entrega + adicional_clima_chuvoso
    Mostre "Valor do Pedido: "+valor_do_pedido
    Mostre "Taxa de Entrega: "+taxa_de_entrega
    Mostre "Adicional Clima Chuvoso: "+adicional_clima_chuvoso
    Mostre "Total à Pagar: "+total_do_pedido
Fim_Se

Fim do Algoritmo
1 resposta

Olá, Cristian. Como vai?

Parabéns pela resolução do desafio! O seu algoritmo está muito bem estruturado e a lógica para a validação de dados com o comando Enquanto garante que o programa não siga com informações incorretas, o que é uma excelente prática de programação.

Para agregar ainda mais valor ao seu código e torná-lo mais limpo, uma sugestão seria mover o cálculo do total_do_pedido e as mensagens de Mostre para fora das estruturas condicionais de distância. Como essas linhas se repetem em todos os blocos Se, você pode deixá-las apenas uma vez ao final do processamento.

Veja como o trecho final poderia ficar mais conciso:

// PROCESSAMENTO FINAL UNIFICADO
valor_final = valor_do_pedido + taxa_de_entrega + adicional_clima_chuvoso

Mostre "Valor do Pedido: " + valor_do_pedido
Mostre "Taxa de Entrega: " + taxa_de_entrega
Mostre "Adicional Clima Chuvoso: " + adicional_clima_chuvoso
Mostre "Total à Pagar: " + valor_final

Além disso, notei um pequeno detalhe na sua leitura inicial: você armazena o valor em total_do_pedido, mas valida e usa a variável valor_do_pedido. Padronizar o nome da variável ajuda a evitar erros de execução.

  • Utilize o Senão Se (ou else if) em estruturas de faixas de valores para que o computador não precise testar todas as condições caso a primeira já seja verdadeira.
  • Mantenha sempre o cálculo final isolado da lógica de decisão para facilitar futuras manutenções no código.

Espero que possa ter lhe ajudado!