Números aleatórios em JavaScript
Números aleatórios têm todos os tipos de usos, do divertido ao prático. A maioria dos jogos envolve algum tipo de aleatoriedade na forma de coisas como dados ou cartas embaralhadas. Se você deseja exibir uma cotação aleatória quando alguém visita sua página, precisa de uma fonte aleatória. Números aleatórios não são todos divertidos e jogos, números aleatórios são usados ​​em criptografia, para amostragem aleatória, para modelagem e para colocar as coisas em ordem aleatória (como candidatos a uma votação). Alguns desses usos não usam números diretamente , mas você pode converter de números aleatórios em itens aleatórios, colocando o que deseja escolher em linhas e escolhendo uma linha aleatoriamente. Na programação, matrizes funcionam bem para isso. Números aleatórios nem sempre são verdadeiramente aleatórios. Se você jogar um conjunto de dados justos, obterá números aleatórios; no entanto, os métodos que os computadores usam para escolher números aleatórios geralmente são números pseudo-aleatórios, o que significa que eles parecem ser aleatórios na superfície, mas na verdade são previsíveis ou repetindo séries. Para algumas coisas, essa não é uma diferença importante. Se você estiver exibindo uma cotação ou piada aleatória toda vez que alguém carregar sua página da web, provavelmente não importa se alguém pode prever quando uma cotação específica será exibida e você pode usar com segurança números pseudo-aleatórios (nesse caso, você provavelmente apenas mostre suas citações na ordem em que você as anotou.) Se você estiver tentando fazer testes aleatórios de drogas em atletas do Tour de France, é crucial que os atletas não consigam prever quando ou se serão testados.

O objeto JavaScript Math inclui um método que fornece números pseudo-aleatórios. Ao contrário de muitas outras linguagens de programação, o JavaScript não permite que você propague o gerador de números com sua própria fonte de aleatoriedade. As diferentes implementações diferem quanto ao número de números aleatórios realmente fornecidos, mas em geral eles devem ser bons o suficiente para serem usados ​​em fins artísticos ou divertidos, mas se você precisar de números aleatórios para fins legalmente regulamentados ou de segurança, deverá encontrar uma fonte melhor aleatoriedade. o math.random () O método retorna um número aleatório que é 0 ou entre 0 e 1. Algumas versões do navegador Opera têm um padrão não compatível. math.random () método que raramente retornará 1. Você precisa lidar com esse resultado inesperado - a sugestão mais fácil que eu vi é usar o operador modulo com um contra o valor retornado por math.random (), isso retornará o valor original se o número aleatório estiver no intervalo definido e 0 se você tiver um 1. Além disso, acho que não preciso de um decimal aleatório menor que um, mas sim de um número inteiro aleatório. Para obter um número inteiro aleatório, você multiplica o valor de math.random () pelo número de possíveis números aleatórios que você deseja (X) e localizando o número inteiro anterior ou próximo. O objeto matemático fornece métodos de piso e teto que você pode usar para essa finalidade. Se você usar o math.floor () método, você obterá um número de 0 a (X-1). Se você usar o math.ceiling () método, você obterá um número inteiro de 1 a X.

Para encontrar um número aleatório entre 0 e (X-1), use:

Math.floor ((Math.random ()% 1) * X)

Estes são particularmente úteis para encontrar um elemento de matriz aleatória.

Para encontrar um número aleatório entre 1 e X, use:

Math.ceiling ((Math.random ()% 1) * X)

Tarefas como essa, que são bastante comuns, mas requerem bastante digitação, são boas candidatas para serem transformadas em uma função.

Para uma discussão sobre a diferença entre números verdadeiramente aleatórios e números pseudo-aleatórios que estamos usando aqui, uma fonte de números verdadeiramente aleatórios e alguns exemplos de coisas divertidas que você pode fazer com números aleatórios ou pseudo-aleatórios, visite www.random. org

Instruções De Vídeo: Como generar números aleatorios en javascript (Pode 2024).