1
resposta

[Dúvida] na verdade a confusão ocorre na pergunta e solução

Uma duvida...

O texto começa afirmando que o desconto somente ocorrem com valor superior a 5000 sendo assim o sinal de >, porém na explicação para ter o desconto é: Mas, segundo relatos de clientes, ao tentar utilizar o desconto referente a 5.000 milhas, não ocorre nenhum desconto , o que estaria correto, pois o desconto valeria somente a partir de 5001 ou para incluir o 5000 não teria que ter o sinal de = e ficaria assim: >= 5000?

1 resposta

Olá, Thiago!

Entendo sua confusão com a pergunta e a solução apresentadas. Na verdade, a explicação está correta, mas a forma como foi apresentada pode ter gerado essa dúvida.

A regra de negócio diz que pessoas com uma quantidade de milhas superior a 5.000, mas inferior a 30.000, recebem 10% de desconto. Portanto, o sinal de comparação correto seria ">=" (maior ou igual a) e não ">" (maior que), igual você mencionou.

Dessa forma, a opção correta para modificar o código e fazê-lo funcionar corretamente é a letra D. Fazendo a utilização de um bloco if dentro do bloco else, como:

let porcentagemDesconto = 0;

if(quantidadeMilhas > 30000){
    porcentagemDesconto = porcentagemDesconto + 20;
} else {
    if(quantidadeMilhas >= 5000){
        porcentagemDesconto = porcentagemDesconto + 10;
    }
}

Assim, se a quantidade de milhas for maior que 30.000, o desconto será de 20%. Caso contrário, se a quantidade de milhas for maior ou igual a 5.000, o desconto será de 10%.

Espero ter ajudado e bons estudos!