• Matéria: Informática
  • Autor: sandrely9684
  • Perguntado 8 anos atrás

como eu Faço um sorteio e apresente o contemplado usando alert. Para isso gere um número inteiro aleatório entre 0 e o número de concorrentes menos 1. Digamos que o número de concorrentes seja X. Para gerar um número aleatório entre 0 e X-1, podemos usar o seguinte código (procure entender o código): var sorteado = Math.floor(Math.random() * X);

Respostas

respondido por: bokomoko
0
Observe a expressão
var sorteado = Math.floor(Math.random() * X);

X é o limite que ser quer sortear.

Math.random() vai gerar um número fracionário entre 0 e 1 ou seja, algo entre 0,000000000001 e 0,9999999999

quando multiplicarmos isso por X teremos no máximo 0,9999999 X e no mínimo 0,00000001X 

Em seguida, usamos Math.floor() 
Essa função arredonda para baixo (floor) portanto, teremos no mínimo 0 e no máximo X-1

Se X for 12, por exemplo, 

O maior número que Math.random() * 12 pode gerar é 0,999999 * 12 = 
11,99988
Quando arredondamos para menos (Math.floor(11.99988)) ficamos com 11 apenas, que é 12-1

O menor número que Math.random() * 12 pode gerar é 0,0000000001 * 12 = que vai ser algo 
0,0000012. Quando apliciarmos Math.floor(0,000000012) vai dar 0 (zero)


Perguntas similares