Un dado ha la forma …

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.

Vedi la discussione

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, "%")