Esame di Stato 2017 – Quesito 8
Un dado ha la forma di un dodecaedro regolare con le facce numerate da 1 a 12.
Il dado è truccato in modo che la faccia contrassegnata dal numero 3 si presenti con una probabilità p doppia rispetto a ciascun’altra faccia.
Determinare il valore di p in percentuale e calcolare la probabilità che in 5 lanci del dado la faccia numero 3 esca almeno 2 volte.
Determinare il valore di p in percentuale.
Considera la frequenza assoluta e relativa in percentuale per ogni faccia
import random # choice() PROVE=200000 DADO =[1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Ha un doppio 3... # 0 1 2 3 4 5 6 7 8 9 10 11 12 CONTI=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # Contatori for i in range(PROVE): dado=random.choice(DADO) CONTI[dado] += 1 for dado in range(1,13): # Stampa i conti e le percentuali print("%2i %5i %9f %%" %(dado, CONTI[dado], 100*CONTI[dado]/PROVE))
Ottieni una tabella simile alla seguente
1 15400 7.700000 % 2 15703 7.851500 % 3 30604 15.302000 % 4 15314 7.657000 % 5 15365 7.682500 % 6 15322 7.661000 % 7 15516 7.758000 % 8 15221 7.610500 % 9 15234 7.617000 % 10 15423 7.711500 % 11 15472 7.736000 % 12 15426 7.713000 %
matplotlib
Aggiungendo poche righe di codice
import matplotlib.pyplot as plt # bar() import random # choice() PROVE=200000 DADO =[1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] CONTI=[0,0,0,0,0,0,0,0,0,0, 0, 0, 0] for i in range(PROVE): dado=random.choice(DADO) CONTI[dado] += 1 FREQ=[0,0,0,0,0,0,0,0,0,0, 0, 0, 0] for dado in range(1,13): FREQ[dado]=CONTI[dado]/PROVE print("%2i %5i %9f %%" %(dado, CONTI[dado], FREQ[dado])) plt.grid (which="major") plt.bar (range(13),FREQ) plt.title("Dodecaedro truccato") plt.show ()
si ottiene il grafico
Come nella richiesta, considera solo le uscite della faccia 3
import random # choice() PROVE=200000 DADO =[1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Doppio 3... conta3=0 # Un contatore for i in range(PROVE): dado=random.choice(DADO) if(dado == 3): conta3 += 1 freqRelativa=conta3/PROVE percentuale =100*freqRelativa print(conta3, freqRelativa, percentuale, "%")
Calcolare la probabilità che in 5 lanci del dado la faccia numero 3 esca almeno 2 volte
import random # choice() PROVE=200000 DADO =[1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Doppio 3... positivo=0 for i in range(PROVE): conta3=0 # Una prova di 5 lanci for lancio in range(5): dado=random.choice(DADO) if(dado == 3): conta3 += 1 if(conta3 >= 2): # Evento positivo? positivo += 1 freqRelativa=positivo/PROVE percentuale =100*freqRelativa print(positivo, freqRelativa, percentuale, "%")