Predefinição:Rand
Saltar para a navegação
Saltar para a pesquisa
35
| Esta predefinição não apresenta nenhuma documentação. Por favor, documente-a caso a saiba usar ou tenha conhecimentos para tal. |
Esta predefinição gera um pseudo-aleatório inteiro entre 0 e count -1. Este número é baseado no número de segundos desde 1 de janeiro de 1970 (função do mediawiki {{#time:U}}, do qual se tira o módulo em relação à variável count (default = 100).
Uso
{{Rand|count|seed|prime}}- Todos parâmetros são opcionais e tem um valor default. Eles devem ser inteiros. Eles não devem ser passados através de count = n (ou seja, {{Rand|count=10}}, mas diretamente, na forma {{Rand|10}}
- O primeiro parâmetro, count, dá o intervalo do resultado final, que vai de 0 a count-1. O seu valor default é 100, e este parâmetro não pode ser zero.
- Os parâmetros seed e prime tem por finalidade fazer uma transformação afim do número de segundos desde 1 de janeiro de 1970, e devem ser usados para que, em uma página com vários argumentos aleatórios, estes assumam valores diferentes. É conveniente que o parâmetro multiplicativo prime seja relativamente primo com o parâmetro count, caso contrário o resultado final excluirá alguns números no intervalo 0 - count-1.
- Os defaults de prime e seed são, respectivamente, 67 e 7. Muito cuidado ao gerar números aleatórios em que count seja um múltiplo de 67. Nestes casos, deve-se alterar o valor de prime.
Exemplos de números gerados entre 0 e 999
{{Rand|1000}}= 635{{Rand|1000|6}}= 634{{Rand|1000|5}}= 633{{Rand|1000|4}}= 632{{Rand|1000|3}}= 631{{Rand|1000|2}}= 630{{Rand|1000|1}}= 629{{Rand|1000|0}}= 628
variando o valor de prime
{{Rand|1000|1|17}}= 429{{Rand|1000|1|19}}= 597{{Rand|1000|1|23}}= 933{{Rand|1000|1|29}}= 437{{Rand|1000|1|31}}= 605{{Rand|1000|1|37}}= 109{{Rand|1000|1|41}}= 445{{Rand|1000|1|43}}= 613{{Rand|1000|1|47}}= 949{{Rand|1000|1|51}}= 285{{Rand|1000|1|53}}= 453{{Rand|1000|1|59}}= 957{{Rand|1000|1|61}}= 125{{Rand|1000|1|67}}= 629{{Rand|1000|1|71}}= 965{{Rand|1000|1|73}}= 133{{Rand|1000|1|79}}= 637
Nota:
- Variar seed de forma linear mantendo o mesmo count gera números em sequência cíclica (por exemplo, se count for 5, geraria 3,4,0,1,2,3,4,0, ...);
- Variar prime (mas mantendo prime sempre relativamente primo a count) gera números diferentes, mas a sequência costuma ter pouca variabilidade, sendo quase determinística;
- Por construção, se count for par, então, mesmo variando prime, a sequência terá a mesma paridade. Em alguns casos, será constante.
- Duas invocações de {{Rand}} na mesma página, mas com mesmos parâmetros, gerarão o mesmo valor.
Exemplos das Notas
sequências cíclicas, variando seed:
{{Rand|100|1|67}}= 29{{Rand|100|2|67}}= 30{{Rand|100|3|67}}= 31{{Rand|100|4|67}}= 32{{Rand|100|5|67}}= 33
sequências com mesma paridade:
{{Rand|10|1|1}}= 5{{Rand|10|1|3}}= 3{{Rand|10|1|5}}= 1{{Rand|10|1|7}}= 9{{Rand|10|1|9}}= 7{{Rand|10|1|11}}= 5{{Rand|10|1|13}}= 3
a partir do segundo ou terceiro, os valores se repetem:
{{Rand|9|1|67}}= 5{{Rand|9|1|70}}= 8{{Rand|9|1|73}}= 2{{Rand|9|1|76}}= 5{{Rand|9|1|79}}= 8{{Rand|9|1|82}}= 2{{Rand|9|1|85}}= 5
problema não é resolvido variando-se seed:
{{Rand|9|1|67}}= 5{{Rand|9|2|70}}= 0{{Rand|9|3|73}}= 4{{Rand|9|4|76}}= 8{{Rand|9|5|79}}= 3{{Rand|9|6|82}}= 7{{Rand|9|7|85}}= 2
| A documentação acima é transcluída de Predefinição:Rand/doc. (editar | histórico) Editores podem experimentar nas páginas de teste (criar | espelhar) e de exemplos para testes (criar) desta predefinição. Por favor adicione categorias à subpágina /doc. Subpáginas desta predefinição. |