1
resposta

Desafio: Calculando valor da entrega

Objetivo: criar um algoritmo que calcula e informa o preço da entrega, baseado nas seguintes condições:

  • 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.

//obter dados
distancia = (consultar mapa);
chuva = (consultar clima);

//calcular entrega
se distancia <= 5km:
preco = 5,00;

se distancia > 5km E <= 10km:
    preco = 8,00;

se distancia > 10km:
    preco = 10,00;

se chuva = true:
    adicional = 2,00;
    preco_total = preco + adicional;
    exibir: "O valor da entrega é:" + preco_total;
senão:
    exibir: "O valor da entrega é:" + preco;
1 resposta

Oii, Gabriel.
É muito bom ver sua evolução nos desafios. Você conseguiu estruturar bem as regras de negócio solicitadas, separando corretamente a lógica da distância da lógica da condição climática.

O seu raciocínio tá correto. O uso de condições encadeadas para a distância e uma condição separada para a chuva é o caminho ideal, pois a taxa extra de chuva independe de quão longe o entregador vai percorrer.

Analisando sua lógica:

Você utilizou três estruturas de se para a distância. Em programação, quando as condições são excludentes (ou seja, se uma é verdadeira, as outras não podem ser), costumamos usar o senão se (ou else if). Isso ajuda o computador a poupar esforço, pois ele para de testar as outras opções assim que encontra a correta.

Uma pequena dica de escrita:

No trecho:
se distancia > 5km E <= 10km:

Para que o algoritmo fique pronto para ser traduzido para código, lembre-se de sempre repetir a variável na comparação, assim:
se distancia > 5 e distancia <= 10:

Parabéns por mais esse passo na jornada lógica. Você está demonstrando um ótimo domínio sobre como organizar as variáveis antes de processar os cálculos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!