Pova ad eseguire i seguenti programmi che vorrebbero simulare il lancio di due dadi equi e rappresentarne via via l'istogramma di distribuzione:

programma 1   programma 2

I programmi, redatti in JavaScript, contengono un ciclo in cui viene ripetuta la simulazione del lancio dei due dadi: nel primo programma l'uscita U è simulata con le istruzioni riportate sotto a sinistra, nel secondo con quelle a destra. In JavaScript la funzione floor calcola la parte intera dell'argomento, mentre random() è il generatore di numeri casuali: genera un numero "reale" a caso con distribuzione uniforme in [0,1).
"Algebricamente" i sottoprogrammi sembrerebbero equivalenti (in quello a destra a X viene assegnato lo stesso termine assegnato a U1 e U2 in quello a sinistra). Spiega le eventuali differenze tra i due programmi.

 U1 = floor(random()*6+1);     |      X = random();
 U2 = floor(random()*6+1);     |      U1 = floor(X*6+1); U2 = floor(X*6+1);
 U = U1+U2                     |      U = U1+U2