Gli argomenti
I materiali
I link utili
Le calcolatrici
Download
professione progetto

Matematica finanziaria e Statistica

Esercizi svolti

Lancio di un dado Versione PDF
Problema

Utilizzando l'ambiente PROGRAM EDITOR delle calcolatrici, realizzare un programma che simuli il lancio di un dado n volte e fornisca i valori delle frequenze assolute e relative di uscita di ciascuna faccia per 100, 1000 e 10000 lanci.

Questo problema si pone l'obiettivo di utilizzare le capacità di programmazione delle calcolatrici grafico-simboliche della Texas Instruments per una verifica sperimentale della "legge dei grandi numeri": per n abbastanza grande la frequenza con cui un evento aleatorio si verifica tende ad assumere il valore della probabilità calcolata "a priori".

Risoluzione

Costruiamo un nuovo programma dal nome simdado in una cartella a nostra scelta:

- comparirà un modello vuoto di programma

Riempiamo ora il modello con le istruzioni necessarie.

Decidiamo di utilizzare le variabili:

Le variabili saranno definite con il comando LOCAL, in quanto la loro visibilità sarà limitata all'interno del programma:

.......
Local lancio,i,numlanci,esiti

Inseriamo quindi l'istruzione ClrIO per cancellare l'ambiente PrgmIO nel quale vengono eseguiti i programmi, creiamo la lista esiti e richiediamo quanti lanci si vogliono effettuare, memorizzando questo dato in numlanci:

.......
ClrIO
newList(6)  esiti
Input "inserisci il numero dei lanci: ",numlanci

Effettuiamo ora i lanci richiesti facendo uso dell'istruzione rand() e memorizzando i risultati nella lista esiti:

For i,1,numlanci
rand(6)  lancio
esiti[lancio]+1  esiti[lancio]
EndFor

Visualizziamo infine i risultati dei lanci con qualche scritta esplicativa:

.....
ClrIO
Disp " Su "&string(numlanci)&" lanci"

For i,1,6
Disp string(i)&" esce "&string(esiti[i])&" volte con fr. rel. "&string(approx(esiti[i]/numlanci))
EndFor

Ecco il nostro programma tutto intero:

simdado()
Prgm
Local lancio,i,numlanci,esiti
ClrIO
newList(6)  esiti
Input "inserisci il numero dei lanci: ",numlanci
For i,1,numlanci
rand(6)  lancio
esiti[lancio]+1  esiti[lancio]
EndFor
ClrIO
Disp " Su "&string(numlanci)&" lanci"
For i,1,6
Disp string(i)&" esce "&string(esiti[i])&" volte con fr. rel. "&string(approx(esiti[i]/numlanci))
EndFor
EndPrgm

Ecco i risultati su 100 lanci:

su 1000 lanci:

e infine, con un po' di pazienza, su 10000 lanci:

Si possono facilmente modificare le istruzioni per ottenere la simulazione di un dado con s facce:

.....
Local lancio,i,numlanci,esiti,numfacce
.....
rand(numfacce)  lancio
.....
For i,1,numfacce
Disp string(i)&" esce "&string(esiti[i])&" volte con fr. rel. "&string(approx(esiti[i]/numlanci))
EndFor

per s=2 si otterrà lo studio dell'analogo esperimento relativo al lancio di una moneta:

Icona
Commenti sull'argomento

Se sei un iscritto a Cartesio puoi lasciare il tuo commento su questo argomento. Per iscriverti, clicca qui.

Al momento non ci sono commenti.



Questo sito Credits