Esame di Stato 2009 PNI – Quesito 3
Una moneta da 2 euro (il suo diametro è di 25,75 mm) viene lanciata su un pavimento ricoperto con mattonelle quadrate di lato 10 cm.
Qual è la probabilità che la moneta vada a finire internamente a una mattonella (cioè non tagli i lati dei quadrati)?
Vedi la discussione (Moneta di Buffon).
La probabilità teorica è =
=
= … = 0.5513… (55 %)
import random
N =5000 # numero lanci
L =10 # lato della piastrella
D =2.575 # diametro della moneta
L2=L/2 # metà del lato
R =D/2 # raggio della moneta
def controllo(x,y):
if(abs(x) < L2-R) and (abs(y) < L2-R):
return 1
else:
return 0
fa=0 # frequenza assoluta
for lanci in range(N):
x = random.uniform(-L2,+L2)
y = random.uniform(-L2,+L2)
fa += controllo(x,y)
fr=fa/N # frequenza relativa
print(fr)

import matplotlib.pyplot as plt
import random
N =5000 # numero lanci
L =10 # lato della piastrella
D =2.575 # diametro della moneta
L2=L/2 # metà del lato
R =D/2 # raggio della moneta
def controllo(x,y):
if(abs(x) < L2-R) and (abs(y) < L2-R):
return 1
else:
return 0
fa=0 # frequenza assoluta
xp=[]
yp=[]
xP=[]
yP=[]
for lanci in range(N):
x=random.uniform(-L2,+L2)
y=random.uniform(-L2,+L2)
if controllo(x,y):
fa += 1
xp.append(x) # dentro
yp.append(y)
else:
xP.append(x) # sul bordo
yP.append(y)
fr=fa/N # frequenza relativa
print(fr)
plt.axis("equal")
plt.grid(which="major")
plt.scatter(xp, yp, color="green", marker ="." ) # dentro
plt.scatter(xP, yP, color="red" , marker ="." ) # sul bordo
plt.title("Moneta da 2 euro")
plt.show()
…