1
resposta

Exercício Condicionais

let porcentagemDesconto = 0;

let quantidadeDeMilhas = 60000;

if(quantidadeDeMilhas >= 30000){
    porcentagemDesconto = porcentagemDesconto + 20;
    console.log(porcentagemDesconto);
}else{
    if(quantidadeDeMilhas > 5000){
        porcentagemDesconto = porcentagemDesconto + 10;
        console.log(porcentagemDesconto);
    }
}

// if(quantidadeDeMilhas > 5000){
//     porcentagemDesconto = porcentagemDesconto + 10;
//     console.log(porcentagemDesconto);
// }else{
//     if(quantidadeDeMilhas >= 30000){
//         porcentagemDesconto = porcentagemDesconto + 20;
//         console.log(porcentagemDesconto);
//     }
// }

A questão pede que arrumemos os problemas:

  1. Não receber desconto;
  2. Desconto exceder o valor.

Só que arrumando o problema descobri outro relacionado a leitura do código: Quando o if se inicia verificando os 5000, mas o valor da milha é 40000, o desconto dado é 10, mas deveria ser 20. Para arrumar isso eu inverti, passei 30000 para cima e percebi que ao colocar a milha como 6000, o desconto dado é 10 porque passa para a verificação dos 5000, já que 6000 não satisfaz a primeira verificação (30000), se fosse 40000, atenderia os 30000. Essa parte foi importante para compreender a leitura do código e ver o que está sendo feito primeiro.

1 resposta

Oi, Sara! Como vai?

Seu raciocínio está muito claro ao reorganizar os ifs para garantir que a condição mais restritiva seja verificada primeiro. Isso evita que valores maiores, como 60000, acabem entrando na condição menos vantajosa primeiro. Essa leitura atenta da ordem das verificações é um passo essencial para escrever códigos mais robustos.

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