Generatoredi Numeri

Come Creare un Generatore di Numeri

1. Requisiti

Per seguire questo tutorial non serve esperienza avanzata. Sono sufficienti conoscenze base di HTML e di JavaScript, in particolare come funzionano variabili, funzioni ed eventi. Non è necessario usare framework: tutto il codice proposto funziona in un file HTML con uno script inline, apribile direttamente nel browser.

2. Il punto di partenza: Math.random()

Tutto parte da una funzione nativa di JavaScript: Math.random(). Chiamandola, restituisce un numero decimale pseudocasuale compreso tra 0 (incluso) e 1 (escluso), e il valore cambia a ogni chiamata. Da sola, però, ha un'utilità limitata. Serve una formula per trasformare quel valore in un numero intero all'interno di un intervallo specifico. Scopri come funziona la generazione casuale.

3. Generare numeri in un intervallo

La formula standard per ottenere un numero intero compreso tra min e max è: **Math.floor(Math.random() * (max - min + 1)) + min**. Come funziona: Math.random() produce un valore tra 0 e 0.99 che viene moltiplicato per l'ampiezza dell'intervallo, e questo dà un decimale. Math.floor() lo arrotonda all'intero inferiore, e sommando min si trasla il risultato nell'intervallo desiderato.

4. Generare numeri unici senza ripetizioni

Per estrazioni come il Lotto — 5 numeri distinti da 1 a 90 — i valori non possono ripetersi. Un approccio robusto è l'algoritmo Fisher-Yates: si crea un array con tutti i valori possibili, lo si mescola in modo statisticamente uniforme e si prendono i primi N elementi. L'algoritmo scorre l'array dall'ultimo elemento al primo e, per ciascuno, scambia la posizione con un elemento scelto a caso.