1aC     
Esercitazione di laboratorio n.11
Esempi

Random in JavaScript
Tutti i linguaggi di programmazione hanno un generatore di numeri(pseudo)casuali, che viene chiamato random, parola inglese che sta per "fatto a caso";
Per ottenere un numero a caso in JavaScript occorre chiamare la funzione Math.random()
Esempio
<SCRIPT>
    x=Math.random(); // memorizza il numero nella variabile x
    alert("numero casuale prodotto= ",x)
</SCRIPT>
Se si fa funzionare questo script, ci si accorge che il numero prodotto è un numero compreso tra 0 e 1, come accade nella random di molte calcolatrici.
Per ottenere un numero intero da 1 a N, si deve moltiplicare per N il numero ottenuto con la random, aggiungere 1 e togliere la parte decimale.
Esempio: simulazione del lancio di un dado.
<SCRIPT>
    x=Math.random(); // memorizza il numero nella variabile x
    x=6*x+1;         // moltiplica per 6 e aggiunge 1
    x=parseInt(x);    // toglie la parte decimale
    alert("numero casuale prodotto= ",x)
</SCRIPT>

1. Lancio del dado
Chiede all'utente un numero intero da 1 a 6. Estrae a caso un numero da 1 a 6.
Se l'utente ha indovinato, glielo comunica.
Altrimenti gli comunica che ha perso.
<SCRIPT>
 n=prompt("Introduci un numero intero da 1 a 6","")
 x=parseInt(1+Math.random()*6); // in una sola istruzione le tre di sopra!
 if (x==n) alert("hai vinto! è stato estratto proprio " + x);
 else alert("hai perso! è stato estratto " +x);
</SCRIPT>

2. Testa o croce
Chiede all'utente di selezionare testa (T) o croce (C). Estrae a caso un numero da 1 a 2.
Poiché la random dà numeri e l'utente introduce una stringa, dapprima trasformiamo il numero estratto dalla random in stringa.
Poi effettuiamo il controllo.
Altrimenti gli comunica che ha perso.
<SCRIPT>
 n=prompt("Introduci T (testa) o C (croce)","")
 x=parseInt(1+Math.random()*2); // in una sola istruzione le tre di sopra!
 if (x==1) x="T"; // facciamo corrispondere a 1 Testa
 else x="C"; // e facciamo corrispondere a 2 Croce
 if (n==x) alert("hai vinto! è stato estratto proprio " + x);
 else alert("hai perso! è stato estratto " + x);
</SCRIPT>