Avec des dés à quatre faces 1 L`expérience 2 L`algorithme

publicité
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
Téléchargement