Differenze tra le versioni di "Template:Random"
[versione verificata] | [versione bozza] |
(Creata pagina con "<!-- Pseudo-Random Number Generator che fa uso della formula: n(x+1) = (n(x) * A + C) modulo M; -- con a = 1103515245, c = 12345, m = 2^31 -- Il seed è settato dal tempo...") |
|||
Riga 4: | Riga 4: | ||
-- la pagina con http://url_pagina?action=purge. | -- la pagina con http://url_pagina?action=purge. | ||
--> | --> | ||
− | + | <onlyinclude> | |
<!-- define seed as current time --> | <!-- define seed as current time --> | ||
{{#if: {{#varexists: seed}} | | {{#vardefine:seed|{{#time: s}} }} }} | {{#if: {{#varexists: seed}} | | {{#vardefine:seed|{{#time: s}} }} }} | ||
Riga 11: | Riga 11: | ||
{{#vardefine: M | {{#expr: 2^31}} }} | {{#vardefine: M | {{#expr: 2^31}} }} | ||
+ | <noinclude> | ||
Time: {{#time: s}}<br> | Time: {{#time: s}}<br> | ||
Seed: {{#var:seed}}<br> | Seed: {{#var:seed}}<br> | ||
+ | </noinclude> | ||
<!-- parse arguments --> | <!-- parse arguments --> | ||
{{#if: {{{1|}}} | | {{#if: {{{1|}}} | | ||
{{#if: {{{2|}}} | | {{#if: {{{2|}}} | | ||
− | {{#vardefine: offset|{{{1}}}}} {{#vardefine: scale|{{#expr: {{{2}}} - {{{1}}}}}}} | | + | {{#vardefine: offset|{{{1}}} }} {{#vardefine: scale|{{#expr: {{{2}}} - {{{1}}} }} }} | |
{{#vardefine: offset|0}} {{#vardefine: scale|{{{1}}} }} }} | {{#vardefine: offset|0}} {{#vardefine: scale|{{{1}}} }} }} | ||
}} | | }} | | ||
Riga 24: | Riga 26: | ||
− | + | {{#expr: {{#var:offset}} + {{#var:scale}} * (({{#var:seed}} * {{#var:A}} + {{#var:C}}) mod {{#var:M}}) / {{#var:M}} }}</onlyinclude> | |
== Utilizzo del template == | == Utilizzo del template == |
Versione delle 16:05, 7 gen 2014
Time: 49
Seed: 49
|
}}
0.17935789655894
Utilizzo del template
Questo template genera numeri pseudo-casuali. Il numero generato cambia ogni volta che la pagina è refreshata tramite:
http://url.della.pagina?action=purge
È possibile richiamare il template in 3 modi:
- Senza argomenti: in questo caso verrà restituito un valore compreso tra 0 e 1
{{Random}}
- Con un argomento (numerico): verrà restituito un valore tra 0 e quell'argomento
{{Random|6}}
- Con due argomenti (numerici): verrà restituito un valore tra il primo e il secondo.
{{Random|3|7}}