1
resposta

[Projeto] Desafio: Calculando valor da entrega

É necessário perguntar ao cliente o endereço de sua residência. Com esse input, partimos para o processamento.

if (distancia <=5){
    taxa = 5
} else if (distancia > 5 && distancia <=10 {
    taxa = 8
} else {
    taxa = 10
}

Após o processamento, o sistema deve analisar se está ou não chovendo. Em caso de não estar, já exibe o valor (output) para o cliente. Caso esteja, é adicionado +R$2 na taxa de envio e exibe ao cliente informando sobre o acréscimo.

Dando um exemplo, supomos que Mateus more a 7 quilômetros de distância do restaurante que realiza o delivery em um dia chuvoso. A saída deverá ser de R$10. Já Giovana que mora a 5 quilômetros, deverá ser exibido o valor de R$5.

1 resposta

Oii, Mateus! Tudo bem?

A sua lógica tá muito bem encaminhada. Você conseguiu traduzir as regras de negócio para uma estrutura de decisão clara, e os exemplos que você trouxe ajudam a validar se o pensamento tá correto.

Notei apenas um pequeno detalhe na sintaxe do seu código e na lógica do acréscimo da chuva que podemos ajustar para que seu algoritmo fique ainda mais preciso.

  1. **Sintaxe do else if**: No segundo bloco, faltou fechar o parêntese da condição. O correto seria else if (distancia > 5 && distancia <= 10).
  2. Ordem do acréscimo: No seu texto, você mencionou que se não estiver chovendo o sistema já exibe o valor. Uma prática comum na programação é primeiro calcular todos os modificadores (como a chuva) e só realizar a exibição (o output) ao final. Isso evita repetir o comando de exibir o valor em vários lugares do código.

Para deixar o processo bem fluido, podemos estruturar o pensamento assim:

  • Passo 1: Definir a taxa base pela distância.
  • Passo 2: Verificar a condição da chuva. Se for verdadeiro, somar 2 ao valor que já temos.
  • Passo 3: Mostrar o resultado final.
// Entrada de dados
let distancia = 7; 
let estaChovendo = true;
let taxa = 0;

// Processamento da distância
if (distancia <= 5) {
    taxa = 5;
} else if (distancia > 5 && distancia <= 10) {
    taxa = 8;
} else {
    taxa = 10;
}

// Processamento da chuva
if (estaChovendo) {
    taxa = taxa + 2;
}

// Saída única
console.log("Taxa de entrega: R$ " + taxa.toFixed(2));

O uso de algoritmos em linguagem natural e sua conversão para código é a base do pensamento computacional. Você captou muito bem como as condições encadeadas funcionam.

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