1
resposta

No site onde pegamos o código Math.random, abaixo também tem um código que gera um número inteiro aleatório entre dois valores.

Se no site onde tem a documentação sobre javascript tem além do math random um código gerando um número inteiro aleatório entre dois valores, porque vocês não utilizaram ele que era mais prático e ainda nos ensinaria a utilizar deixando o código mais limpo?

Gerando um número inteiro aleatório entre dois valores, inclusive A função getRandomInt() acima tem intervalo com o valor mínimo incluído e o máximo excluído. Mas se você precisar que a função inclua, tanto o mínimo quanto o máximo, em seus resultados? A função getRandomIntInclusive() abaixo faz isso.

function getRandomIntInclusive(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; }

1 resposta

Olá, Raul.

Tudo bem?

Entendo seu questionamento e é uma ótima observação. A função getRandomIntInclusive(min, max) que você mencionou realmente pode ser uma alternativa mais limpa e prática para gerar um número inteiro aleatório entre dois valores.

No entanto, o uso de Math.random() * 10 e parseInt() na aula tem o objetivo didático de ensinar como essas funções funcionam e como podem ser utilizadas em diferentes contextos. É uma maneira de desmembrar as funcionalidades e entender o que cada uma faz, como mencionado na aula.

Por exemplo, a função Math.random() gera um número aleatório entre 0 (inclusivo) e 1 (exclusivo). Ao multiplicar esse número por 10, estamos expandindo o intervalo de possíveis valores para entre 0 e 10 (exclusivo). A função parseInt() é usada para converter o número decimal resultante em um número inteiro.

Quando concatenamos a multiplicação por 10 ao valor 1 (Math.random() * 10 + 1), estamos ajustando o intervalo para ser entre 1 e 10 (inclusivo), em vez de 0 e 9.

A função getRandomIntInclusive(min, max) que você mencionou encapsula todas essas etapas em uma única função, o que pode ser mais prático em alguns casos, mas pode não ilustrar claramente o que cada etapa está fazendo.

Espero ter ajudado e bons estudos!