Open source cross-platform software of geometry, analysis and simulation - Yves Biton
 
Home - Examples

Exemple d’utilisation de macros : Une expérience aléatoire

publication Sunday 13 June 2010.


De par sa simplicité, cette figure peut être utilisée dès le collège.

Nous allons simuler l’expérience aléatoire suivante : Un rectangle de 10 cm sur 2 cm étant donné et un cercle de rayon 1 cm étant situé au centre de celui-ci, on "lance" au hasard un point dans ce rectangle.

Utilisez l’icône de la barre supérieure et choisir un repère othonormal non quadrillé.

A l’aide de l’icône , capturez l’origine O pour l’emmener en bas et à gauche de la figure.

Utilisez l’icône pour tracer un point de coordonnées (5; 0).

Appuyez sur F9 pour réactiver ce même outil et placez de même les points de coordonnées (0; 2) et (5; 2).

Cliquez sur l’outil de construction d’un polygone.

Cliquez successivement sur O, les points de coordonnées (5; 0), (5; 2) et (0; 2) puis cliquez le bouton droit (ou sur le premier sommet) pour refermer le polygone.

Maintenant utilisez l’icône pour cacher les axes du repère.

Activez la couleur bleue.

Cliquez sur l’icône puis sur le polygone (rectangle) pour le remplir de couleur bleue.

A l’aide de l’icône , capturez le point I pour agrandir le rectangle.

Créons maintenant le centre de notre rectangle à l’aide de l’icône (coordonnées (2.5; 1)).

Utilisez l’icône pour nommer ce point K.

Dans la palette des couleurs, activez la couleur rouge.

Utilisez l’icône pour créer le cercle de centre K et de rayon 1. Pour cela, cliquez d’abord sur K puis entrez 1 dans le champ Rayon de la boîte de dialogue qui apparaît.

Utilisez l’icône pour remplir ce cercle de couleur rouge.

Dans la palette des couleurs, activez la couleur noire.

Nous allons maintenant utiliser la fonction Rand de Mathgraph32 qui permet de créer un nombre pseudo aléatoire compris entre 0 et 1 (0 pouvant être atteint et 1 étant exclu).

Cliquez sur l’icône de création d’un calcul algébrique.

Renseignez la boîte de dialogue de la façon suivante :

Dlg1

remarque : L’argument 0 utilisé pour la fonction Rand peut être remplacé par n’importe quel nombre. Sa valeur n’a pas d’importance.

Appuyez sur F9 pour créer un nouveau calcul de la façon suivante :

Dlg2

Utilisez l’icône pour créer le point de coordonnées (x; y) (x et y sont les calculs algébriques que nous avons précédemment définis).

Utilisez l’icône pour nommer ce nouveau point M.

Remarque : Si vous cliquez sur l’icône de réaffichage complet de la figure, de nouvelles valeurs aléatoires sont régénérées et le point M se déplace de façon aléatoire.

Nous allons maintenant créer trois variables :

Une variable NbExp qui servira à préciser le nombre d’expériences aléatoires à réaliser.

Une variable Compteur qui servira à compter le nombre de fois où le point M se sera trouvé à l’intérieur du disque.

Une variable j qui servira de variable de boucle et qui prendra lors de la boucle toutes les valeurs de 1 à la valeur contenue dans NbExp.

Créons d’abord la variable à l’aide du menu Calculs >> Nouvelle Variable (raccourci Ctrl V) et en renseignant la boîte de dialogue de la façon suivante :

Dlg3

Comme nous avons coché la case fenêtre associée, une fenêtre apparaît en bas et à droite de la fenêtre qui nous permettra de changer la valeur de NbExp.

Créons ensuite la variable Compteur (appuyez sur F10) :

Créons enfin la variable j (appuyez sur F10) :

Dlg5

Remarque : La valeur maximale de j n’a pas d’importance. Elle sera modifiée par une macro plus tard.

Sauvegardez votre figure en cas de mauvaise manipulation ultérieure.

Il nous faut mesurer la longueur KM pour savoir si le point M est ou non à l’intérieur du disque.

Cliquez sur l’icône de mesure de longueur. Cliquez ensuite sur K puis sur M. Un message vous avertit de la création de cette mesure.

Créons maintenant un calcul algébrique qui nous permettra de savoir si le point M est ou non à l’intérieur du disque.

Cliquez sur l’icône de création d’un calcul algébrique pour créer un calcul appelé Test.

Remarque : la formule utilisée est un test. Lorsque KM est inférieure ou égale à 1, Test contiendra 1 et sinon il contiendra 0.

Créons maintenant un calcul algébrique nommé NbSuc qui nous servira à actualiser la variable Compteur lors de la boucle.

Appuyez sur F9 et créez le calcul de la façon suivante :

Remarquons que vous pouvez coller les noms des variables dans le champ Formule en utilisant le bouton .

Affichons sur la figure les valeurs des variables j et NbSuc.

Activez la couleur verte dans la palette des couleurs.

Cliquez sur l’icône d’affichage d’une valeur. Cliquez au-dessus du rectangle et renseignez la boîte de dialogue :

Appuyez sur F9 pour afficher une nouvelle valeur (celle de NbSuc). Cliquez à droite de l’affichage précédent et complétez la boîte de dialogue :

Nous allons maintenant créer plusieurs macros.

Créons une première macro qui mettra la variable Compteur à zéro.

Utilisez le menu Macros >> Nouvelle macro >> Affectation valeur à variable.

Cliquez en haut de la figure, vers la droite en laissant de la place pour l’intitulé de la macro.

Renseignez la boîte de dialogue de la façon suivante :

La deuxième macro affectera la valeur de la variable NbExp à la valeur maximale de i.

Pour cela, utilisez le menu Macros >> Nouvelle macro >> Modification d’une variable.

Cliquez au-dessous de la macro précédente pour placer l’intitulé et remplissez la boîte de dialogue :

La troisième macro exécutera les deux macros précédentes.

Utilisez pour la créer le menu Macros >> Nouvelle macro >> Exécution d’une suite de macros.

Cliquez au-dessous de la macro précédente pour placer l’intitulé et remplissez la boîte de dialogue :

Cliquez dans le cadre de gauche sur les deux intitulés des macros puis sur le bouton Insérer à la fin (un raccourci est de double cliquer sur chacune).

Notre quatrième macro affectera la valeur du calcul NbSuc à la variable compteur. C’est cette macro qui sera exécutée à la fin de chacune de nos boucles.

Utilisez le menu Macros >> Nouvelle macro >> Affectation valeur à variable.

Cliquez en dessous des intitulés précédents. Remplissez la boîte de dialogue :

Créons maintenant une macro qui va faire "boucler" la figure tous les centièmes de seconde.

Utilisez le menu Macros >> Nouvelle macro >> Boucle avec animation.

Cliquez en haut et à gauche de la figure pour placer l’intitulé.

Remplissez la boîte de dialogue :

Quelques explications : Avant l’exécution des boucles, la macro Initialisation sera exécutée. Ainsi la variable compteur sera mise à zéro et la valeur actuelle de NbExp sera affectée à la valeur maximale de j.

Ensuite j prendra successivement toutes les valeurs de sa valeur minimale à sa valeur maximale par pas de 1. A la fin de chaque boucle, la macro Fin de boucle sera exécutée et ainsi la variable compteur sera actualisée.

Pour réaliser la même expérience de façon plus rapide, nous pouvons créer une nouvelle macro faisant la même chose mais sans animer la figure.

Utilisez le menu Macros >> Nouvelle macro >> Boucle avec animation.

Cliquez à côté de l’intitulé de la macro précédente et renseignez la boîte de dialogue :

A l’aide de l’outil masquez les initulés des macros autres que celles de boucle.

Il ne vous reste plus qu’à exécuter ces deux macros en cliquant sur l’outil d’exécution d’une macro.

Attention: Pour interrompre l’animation, appuyer sur la touche Echappement.

Une suggestion pour enrichir la figure :

Créez un nouveau calcul nommé Freq contenant comme formule NbSuc/ j et créez ensuite un affichage de cette valeur sur la figure.

Pour une utilisation pédagogique il sera intéressant de créer un autre calcul contenant 10*Freq et de faire comparer ce calcul avec pi.

Voici ci-dessous la figure obtenue animée par la librairie JavaScript de MathGraph32 de MathGraph32 (à noter que l’animation en vitesse maximale sera bien plus rapide dans la figure ouverte dans le logiciel qui c-dessous en JavaScript) :