Muitos programas precisam de valores (pseudo)aleatórios para simular eventos do mundo real.
Alguns exemplos comuns e familiares:
Gerar valores verdadeiramente aleatórios com um computador é um desafio técnico surpreendentemente difícil. Por isso também existem geradores "pseudoaleatórios".
A função Math.random() NÃO deve ser usada para aplicações de segurança e criptografia!
Conclua o(s) exercício(s) de aprendizagem sobre este conceito para saber mais
Em Javascript, você pode gerar números pseudoaleatórios usando a função Math.random().
Ela retorna um número de ponto flutuante pseudoaleatório entre 0 (inclusive) e 1 (exclusive).
Mary é uma grande fã da série de TV Star Trek: The Next Generation. Ela costuma jogar RPG de mesa, em que ela e os amigos fingem ser a tripulação da nave estelar Enterprise. A personagem de Mary é o Capitão Picard, o que significa que ela precisa manter o diário de bordo do capitão. Ela adora a parte criativa do jogo, mas não gosta de gerar dados aleatórios na hora.
Ajude a Mary criando geradores aleatórios para os dados que costumam aparecer no diário de bordo do capitão.
A Enterprise (número de registro NCC-1701) não é a única nave estelar voando por aí! Quando encontra outra nave estelar, Mary precisa anotar o número de registro dessa nave.
Os números de registro começam com o prefixo "NCC-" e depois usam um número de 1000 a 9999 (inclusive).
Implemente a função randomShipRegistryNumber() que retorna um número de registro de nave estelar aleatório.
randomShipRegistryNumber();
// => "NCC-1947"
De que serve um diário se ele não inclui datas?
Uma data estelar é um número de ponto flutuante. As aventuras da nave estelar Enterprise na primeira temporada de The Next Generation acontecem entre as datas estelares 41000.0 e 42000.0. O "4" representa o século XXIV, o "1" representa a primeira temporada.
Implemente a função randomStardate que retorna um número de ponto flutuante entre 41000.0 (inclusive) e 42000.0 (exclusive).
randomStardate();
// => 41458.15721310934
A nave estelar Enterprise encontra muitos planetas em suas viagens. No universo de Star Trek, os planetas são divididos em categorias com base em suas propriedades. Por exemplo, a Terra é um planeta de classe M. Todas as classes planetárias possíveis são: D, H, J, K, L, M, N, R, T e Y.
Implemente a função randomPlanetClass().
Ela deve retornar uma das classes planetárias aleatoriamente.
randomPlanetClass();
// => "K"
Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.