Esame di Stato 2019 – Simulazione 28/2 – Quesito 3
Una scatola contiene 16 palline numerate da 1 a 16.
- Se ne estraggono 3, una alla volta, rimettendo ogni volta nella scatola la pallina estratta.
Qual è la probabilità che il primo numero estratto sia 10 e gli altri due minori di 10?- Se ne estraggono 5 contemporaneamente.
Qual è la probabilità che il più grande dei numeri estratti sia uguale a 13?
Una scatola contiene 16 palline numerate da 1 a 16.
Se ne estraggono 3, una alla volta, rimettendo ogni volta nella scatola la pallina estratta.
Qual è la probabilità che il primo numero estratto sia 10 e gli altri due minori di 10?
import random # choice() SCATOLA=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] ESTRAZIONI=10000 freqAssoluta=0 for i in range(ESTRAZIONI): p1=random.choice(SCATOLA) p2=random.choice(SCATOLA) p3=random.choice(SCATOLA) if(p1 == 10) and (p2 < 10) and (p3 < 10): freqAssoluta += 1 freqRelativa=freqAssoluta/ESTRAZIONI percentuale =100*freqRelativa print("Frequenza assoluta =", freqAssoluta ) print("Frequenza relativa =", freqRelativa ) print("Percentuale =", percentuale,"%")
Si può ottimizzare la fase di estrazione e controllo
import random SCATOLA=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] def controllo(): p=random.choice(SCATOLA); if(p != 10): return 0 p=random.choice(SCATOLA); if(p >= 10): return 0 p=random.choice(SCATOLA); if(p >= 10): return 0 return 1 ESTRAZIONI=10000 freqAssoluta=0 for i in range(ESTRAZIONI): freqAssoluta += controllo() freqRelativa=freqAssoluta/ESTRAZIONI percentuale =100*freqRelativa print("Frequenza assoluta =", freqAssoluta ) print("Frequenza relativa =", freqRelativa ) print("Percentuale =", percentuale,"%")
Una scatola contiene 16 palline numerate da 1 a 16.
Se ne estraggono 5 contemporaneamente.
Qual è la probabilità che il più grande dei numeri estratti sia uguale a 13?
import random SCATOLA=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] ESTRAZIONI=1000 freqAssoluta=0 for i in range(ESTRAZIONI): random.shuffle(SCATOLA) p1=SCATOLA[0] p2=SCATOLA[1] p3=SCATOLA[2] p4=SCATOLA[3] p5=SCATOLA[4] if(p1 <= 13) and (p2 <= 13) and (p3 <= 13) and (p4 <= 13) and (p5 <= 13): if(p1 == 13) or (p2 == 13) or (p3 == 13) or (p4 == 13) or (p5 == 13): freqAssoluta+=1 freqRelativa=freqAssoluta/ESTRAZIONI percentuale =100*freqRelativa print("Frequenza assoluta =", freqAssoluta ) print("Frequenza relativa =", freqRelativa ) print("Percentuale =", percentuale,"%")
Ottimizzare?
... freqAssoluta=0 for i in range(ESTRAZIONI): random.shuffle(SCATOLA) c13=False # controllo se uguale a 13 c14=False # controllo se maggiore o uguale a 14 for i in range(5): p=SCATOLA[i] if(p == 13): c13=True elif(p > 13): c14=True if(c13 == True) and (c14 == False): freqAssoluta += 1 ...
ancora…
... def controllo(): risp=0 for i in range(5): p=SCATOLA[i] if(p == 13): risp=1 elif(p > 13): return 0 return risp freqAssoluta=0 for i in range(ESTRAZIONI): random.shuffle(SCATOLA) freqAssoluta += controllo() ...