Présentation de l'algorithme :
Principe de la simulation du lancer de 3 dés :
- La fonction random() permet d'obtenir un nombre décimal pseudo-aléataoire compris entre 0 et 1.
Pour simuler le lancer d'un dé, on utilise : floor(6*random()+1) (la fonction floor() donne la partie entière)
- Pour simuler le lancer de 3 dés et calculer la somme des points obtenus, il faut utiliser :
floor(6*random()+1)+floor(6*random()+1)+floor(6*random()+1)
Remarque : il ne faut pas utiliser 3*(floor(6*random()+1)) car cela reviendrait à supposer que les 3 dés donnent le même nombre de points.
Stockage des données :
- Pour stocker le nombre de fois où apparait une certaine somme de points, on utilise une liste appelée issue dans l'algorithme.
- Par exemple, issue[5] représente le nombre de fois où l'on a obtenu 5 points en simulant les lancers des 3 dés.
A chaque fois qu'on obtient une somme de 5 points, on augmente de 1 la valeur de issue[5].
- Remarque : lors du lancer de 3 dés, la somme des points obtenue est forcément comprise entre 3 à 18.
L'algorithme ci-dessous simule 100000 lancers de 3 dés, calcule les fréquences observées pour la somme des points obtenus et trace le diagramme en bâtons de ces fréquences.
Code de l'algorithme :
VARIABLES
issue EST_DU_TYPE LISTE
i EST_DU_TYPE NOMBRE
somme EST_DU_TYPE NOMBRE
propor EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
POUR i ALLANT_DE 3 A 18
DEBUT_POUR
issue[i] PREND_LA_VALEUR 0
FIN_POUR
POUR i ALLANT_DE 1 A 100000
DEBUT_POUR
somme PREND_LA_VALEUR floor(6*random()+1)+floor(6*random()+1)+floor(6*random()+1)
issue[somme] PREND_LA_VALEUR issue[somme]+1
FIN_POUR
POUR i ALLANT_DE 3 A 18
DEBUT_POUR
propor PREND_LA_VALEUR issue[i]/1000
AFFICHER i
AFFICHER " points -> "
AFFICHER propor
AFFICHER " % des cas observés"
TRACER_SEGMENT (i,0)->(i,propor)
FIN_POUR
FIN_ALGORITHME
Fichier AlgoBox associé : lancersdes.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)
Tester l'algorithme :