Differenze tra le versioni di "Template:Random"

[versione verificata][versione verificata]
(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...")
 
m (Ha protetto "Template:Random" ([Modifica=Consentito solo agli amministratori] (infinito) [Spostamento=Consentito solo agli amministratori] (infinito)))
 
(6 versioni intermedie di un altro utente non mostrate)
Riga 4: Riga 4:
 
   -- la pagina con http://url_pagina?action=purge.
 
   -- la pagina con http://url_pagina?action=purge.
 
-->
 
-->
 
 
<!-- define seed as current time -->
 
<!-- define seed as current time -->
{{#if: {{#varexists: seed}} | | {{#vardefine:seed|{{#time: s}} }} }}  
+
<onlyinclude>{{#if: {{#varexists: seed}} | | {{#vardefine:seed|{{#time: s}} }} }} {{#vardefine: A | 1103515245}} {{#vardefine: C | 12345}} {{#vardefine: M | {{#expr: 2^31}} }}
{{#vardefine: A | 1103515245}}
+
<noinclude>
{{#vardefine: C | 12345}}
 
{{#vardefine: M | {{#expr: 2^31}} }}
 
 
 
 
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}}} }}  
 
     }} |
 
     }} |
 
     {{#vardefine: offset|0}} {{#vardefine: scale|1}}
 
     {{#vardefine: offset|0}} {{#vardefine: scale|1}}
}}
+
}}  
                                                             
+
{{#expr: {{#var:offset}} + {{#var:scale}} * (({{#var:seed}} * {{#var:A}} + {{#var:C}}) mod {{#var:M}}) / {{#var:M}} }}</onlyinclude>
 
 
<onlyinclude>{{#expr: {{#var:offset}} + {{#var:scale}} * (({{#var:seed}} * {{#var:A}} + {{#var:C}}) mod {{#var:M}}) / {{#var:M}} }}</onlyinclude>
 
  
 
== Utilizzo del template ==
 
== Utilizzo del template ==
Riga 38: Riga 32:
 
*'''Con due argomenti (numerici)''': verrà restituito un valore tra il primo e il secondo.
 
*'''Con due argomenti (numerici)''': verrà restituito un valore tra il primo e il secondo.
 
<pre>{{Random|3|7}}</pre>
 
<pre>{{Random|3|7}}</pre>
 +
 +
[[Categoria:Template - Utility]]

Versione attuale delle 19:59, 6 mar 2014


Time: 28
Seed: 28


0.38820697600022

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}}