1
resposta

Duvida da questão 06 números aleatórios

Acredito que a alternativa B) Para gerar um número entre 1 e 3, podemos usar o código: let numeroAleatorio1a3 = parseInt(Math.random() * 4); também está correta, por que não vale esta alternativa ?

1 resposta

Olá, Tiago! Tudo bem?

A função Math.random() em JavaScript gera um número decimal aleatório entre 0 (inclusivo) e 1 (exclusivo), ou seja um número entre o intervalo de 0 a 0,99999... Dessa forma, quando multiplicamos esse número por 4, como na opção B) let numeroAleatorio1a3 = parseInt(Math.random() * 4);, o resultado pode ser qualquer número de 0 (inclusivo) até 4 (exclusivo), ou seja, entre 0 e 3,9999... Assim, quando usamos a função parseInt(), esse número é arredondado para baixo, resultando em um número inteiro entre 0 e 3.

Portanto, a opção B) pode gerar os números 0, 1, 2 e 3, e não apenas os números entre 1 e 3, como a pergunta solicitava.

Por outro lado, a opção A) let numeroAleatorio1a3 = parseInt(Math.random() * 3) + 1; multiplica o número aleatório por 3, o que pode resultar em qualquer número de 0 (inclusivo) até 3 (exclusivo), depois, adiciona 1 ao resultado. Portanto, essa opção gera um número inteiro entre 1 (inclusivo) e 4 (exclusivo), ou seja, 1, 2 ou 3, que é exatamente o que a pergunta solicitava.

Espero ter ajudado!

Um forte abraço e bons estudos!