Recherche d’une valeur approchée de π
(méthode de Monte Carlo)
Alexandre, Julie et Coralie passent l’après midi chez Coralie. Julie veut faire un gâteau de semoule et Alexandre
s’amuse avec Google Earth. Il montre à ses amies sur sa tablette numérique le lycée Eiel et le lac des Près du
Hem d’Armentières.
Julie est surprise de la taille du lac :
« Quelle est son aire ? »
« Je ne sais pas ! »
C’est alors que Coralie renverse le paquet de se-
moule sur la photo (attention, ne pas reproduire
l’expérience !)
En regardant les dégâts, elle s’exclame :
« J’ai trouvé comment obtenir une bonne ap-
proximation de l’aire du lac ! . »
A quoi Coralie a-t-elle pensé ?
Appeler le professeur
On se propose d’utiliser la même méthode pour trouver une valeur approchée du nombre π(sans semoule !)
1) Dans un repère d’origine O, construire le carré de centre O, dont les côtés de longueur 2 sont parallèles aux
axes. (on pourra choisir 4 cm pour unité)
2) Construire le cercle de centre O et de rayon 1
3) En considérant les aires du disque et du carré, comment retrouver π?
4) En utilisant la méthode de Coralie, proposer une méthode pour approcher π
5) Pour écrire l’algorithme qui simule le placement de points dans le carré, deux questions :
a. Comment placer un point au hasard dans le carré ?
b. Comment vérifier si ce point est dans le cercle ou non ?
Appeler le professeur
6) Écrire l’algorithme simulant le placement de npoints dans le carré, vérifiant leur appartenance ou non au
disque, calculant les fréquences correspondantes et achant 4 fois celles-ci.
Appeler le professeur
7) Écrire cet algorithme avec Algobox. On demandera au logiciel de construire les points de couleur diérents
suivants qu’ils sont dans le disque ou à l’extérieur du disque. Le faire tourner.
Appeler le professeur
Approximation de πpar la méthode de Monte Carlo
1: VARIABLES
2: x EST_DU_TYPE NOMBRE
3: y EST_DU_TYPE NOMBRE
4: D EST_DU_TYPE NOMBRE
5: n EST_DU_TYPE NOMBRE
6: f EST_DU_TYPE NOMBRE
7: k EST_DU_TYPE NOMBRE
8: p EST_DU_TYPE NOMBRE
9: DEBUT_ALGORITHME
10: LIRE n
11: f PREND_LA_VALEUR 0
12: p PREND_LA_VALEUR 0
13: TRACER_SEGMENT (-1,-1)->(-1,1)
14: TRACER_SEGMENT (-1,1)->(1,1)
15: TRACER_SEGMENT (1,1)->(1,-1)
16: TRACER_SEGMENT (1,-1)->(-1,-1)
17: POUR kALLANT_DE 1An
18: DEBUT_POUR
19: x PREND_LA_VALEUR 2*random()-1
20: y PREND_LA_VALEUR 2*random()-1
21: D PREND_LA_VALEUR sqrt(pow(x,2)+pow(y,2))
22: SI (D<=1) ALORS
23: DEBUT_SI
24: f PREND_LA_VALEUR f+1
25: TRACER_POINT (x,y)
26: FIN_SI
27: SINON
28: DEBUT_SINON
29: p PREND_LA_VALEUR p+1
30: TRACER_POINT (x,y)
31: FIN_SINON
32: FIN_POUR
33: f PREND_LA_VALEUR 4*f/n
34: p PREND_LA_VALEUR 4*p/n
35: AFFICHER "approximation de pi "
36: AFFICHER f
37: AFFICHER "approximation de l’aire restante "
38: AFFICHER p
39: FIN_ALGORITHME
1 / 2 100%