Avec des dés à quatre faces 1 L'expérience On dispose de deux dés en forme de tétraèdre régulier, l'un vert et l'autre rouge, dont les faces sont numérotées de 1 à 4. Ces deux dés sont supposés être parfaitement équilibrés. On lance ces deux dés sur une piste de jeu et on relève les numéros des faces en contact avec la surface de la piste. On associe un nombre R aux deux numéros selon le protocole suivant : • si le numéro indiqué par le dé vert est pair alors R est le double du numéro indiqué par le dé rouge • si le numéro indiqué par le dé vert est impair alors R est la somme des deux numéros Il est facile de vérier que le nombre R peut prendre toutes les valeurs entières comprises entre 2 et 8. On se propose d'estimer la probabilité de chaque valeur que peut prendre le nombre R par sa fréquence d'apparition au cours d'un nombre N de simulations. On pourra exploiter les résultats obtenus avec les outils statistiques disponibles en classe de seconde, notamment les intervalles de conance, pour inférer et valider une distribution de probabilité des valeurs possibles du nombre R. 2 L'algorithme On va construire l'algorithme en deux temps. On va d'abord simuler une expérience avec mémorisation de la valeur du nombre R obtenu dans un tableau T [i] puis on va insérer ce premier algorithme dans une boucle pour simuler un nombre donné d'expériences et ensuite calculer et acher les fréquences des diérentes valeurs de R. • algorithme pour simuler une expérience pour i de 2 à 8 T [i] ← 0 # initialisation faire du tableau T[i] simuler le lancer d'un dé et mettre le résultat dans v simuler le lancer d'un dé et mettre le résultat dans r v est pair alors a ← 2 × r T [a] ← T [a] + 1 si 1 sinon a←v+r • algorithme pour simuler N expériences et calculer la fréquence de chacune des valeurs possibles pour R n←N pour i de 2 à 8 T [i] ← 0 faire i de 1 à n faire pour # initialisation du tableau T[i] simuler le lancer d'un dé et mettre le résultat dans v simuler le lancer d'un dé et mettre le résultat dans r v est pair alors a ← 2 × r sinon a ← v + r T [a] ← T [a] + 1 pour i de 2 à 8 faire # calcul des fréquences T [i] T [i] ← n Acher T si 3 Programmation dans diérents langages • avec Python 2.6 # -*- coding: iso-8859-1 -*from math import * from random import * n=input("nombre de simulations? ") T=[] # création du tableau T for i in range(9): # initialisation du tableau T T.append(0) for i in range(n): v=randint(1,4) # lancer du dé vert r=randint(1,4) # lancer du dé rouge if (v%2==0): # calcul du résultat a=2*r else: a=v+r T[a]=T[a]+1 # mémorisation de la valeur obtenue for i in range(2,9): # affichage des fréquences print'frequence de',i,':',T[i]/float(n) 2 • avec Algobox 1 VARIABLES 2 n EST_DU_TYPE NOMBRE 3 v EST_DU_TYPE NOMBRE 4 r EST_DU_TYPE NOMBRE 5 T EST_DU_TYPE LISTE 6 i EST_DU_TYPE NOMBRE 7 a EST_DU_TYPE NOMBRE 8 DEBUT_ALGORITHME 9 AFFICHER "Nombre de simulations? " 10 LIRE n 11 AFFICHER n 12 POUR i ALLANT_DE 2 A 8 13 DEBUT_POUR 14 T[i] PREND_LA_VALEUR 0 15 FIN_POUR 16 POUR i ALLANT_DE 1 A n 17 DEBUT_POUR 18 v PREND_LA_VALEUR floor(random()*4+1) 19 r PREND_LA_VALEUR floor(random()*4+1) 20 SI (v%2==0) ALORS 21 DEBUT_SI 22 a PREND_LA_VALEUR 2*r 23 FIN_SI 24 SINON 25 DEBUT_SINON 26 a PREND_LA_VALEUR v+r 27 FIN_SINON 28 T[a] PREND_LA_VALEUR T[a]+1 29 FIN_POUR 30 POUR i ALLANT_DE 2 A 8 31 DEBUT_POUR 32 T[i] PREND_LA_VALEUR T[i]/n 33 AFFICHER "Fréquence de " 34 AFFICHER i 35 AFFICHER " : " 36 AFFICHER T[i] 37 FIN_POUR 38 FIN_ALGORITHME 3