L'agulla de Buffon

Podríeu començar dibuixant un objecte que sigui l'agulla (vestits, nou vestit, dibuixa).
L'agulla s'ha de situar primer en un punt determinat com el (0,16).
A continuació cal calcular les coordenades x i y per “resituar” l'agulla en un punt de coordenades (x, y) a l'atzar entre el rang de valors que pot tenir un punt dintre de l'escenari (la x de -240 a 240 i la y de -180 a 180)
I tot seguit s'ha de fer girar un angle a l'atzar entre -180 i 180.
Finalment simulareu que es van tirant agulles, una vegada cada cop que es premi la tecla espai ("per sempre si...", i "llapis", "vés a...", "gira..." i “estampa”).
Aquest programa s'ha escrit sobre l'objecte “agulla”:

A continuació cal estampar un fons de ratlles, amb una separació igual a la llargada de l'agulla. Per això podeu dibuixar un nou vestit “ratlla” que sigui un segment horitzontal que ocupi tot l'escenari i estampar-lo en punts separats verticalment una distància igual a la llargada de l'agulla.
Aquest programa s'ha escrit sobre l'objecte “ratlla”:


Si voleu comptar quantes vegades una agulla toca una ratlla, teniu una comanda al bloc de “sensors” que comprova la condició “tocant el color...”.
A partir d'aquí es tracta d'introduir comptadors perquè vagin comptant agulles tirades i vegades que toquen i "fer dir" a l'agulla (comanda "digues", del bloc "aspecte") quina és la freqüència relativa, és dir el quocient “vegades tocat”/”total de tirades”.
Podeu continuar
el programa de l'agulla... i fer que compti i calculi!
Si observem que s'apilonen moltes agulles, podem optar per no “estampar-les", ja que no es comptarien bé totes les vegades que una agulla toca ratlla.
Canvieu el control del progrma perquè en lloc de parar-lo amb la tecla espai, demani quantes agulles es volen tirar (i ho guardi en una nova varible n) i faci els llançaments automàticament fins el nombre desitjat.
Repetiu unes quantes vegades l'experiment de tirar 1000 agulles i observeu la freqüència relativa.
Llicenciat sota la Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
Programem amb Scratch!