a. Principe de l’algorithme
Une grande partie de la programmation consiste à construire l’arbre.
On choisit tout d’abord l’ordre suivant pour explorer l’arbre :
Rouge-Vert-Bleu.
Cela signifie que l’on va parcourir les branches partant d’un nœud
Rouge dans un premier temps, puis les branches avec un nœud Vert
et enfin Bleu.
Ainsi, la première branche parcourue sera Rouge-Rouge-Rouge et la
dernière : Bleu-Bleu-Bleu.
Ci-contre : exemple de l’ordre de parcours pour n=2 (lire l’arbre de
bas en haut)
A chaque fois qu’une branche est terminée, on compte le nombre de
« Rouge » puis on évalue le gain (X=-1, X=2 ou X=5).
Ensuite, il faut calculer la probabilité de réaliser la branche.
Puis, on fait la somme des probabilités de toutes les banches qui ont
le même gain.
L’algorithme affiche en dernier les 3 probabilités :
- la probabilité de perdre 1€ (si la couleur Rouge est apparue plus
d’une fois) : variable S.
- la probabilité de gagner 2€ (si le Rouge n’est jamais apparu) :
variable Q.
- et la probabilité de gagner 5€ (si le Rouge est apparu exactement
une fois) : variable R.
Comme Algobox ne considère que les nombres, on identifie la
couleur Rouge à 1, la couleur Verte à 2 et la couleur Bleue à 3.
b. Variables et initialisations
- S, Q, R initialisés à 0.
- Demander n (nombre d’expériences)
- Liste L de taille n (initialisés à n cases rouges)
- Combinaison est une variable booléenne : 0 si Faux, 1 si Vraie. Si on vient de changer le rouge en vert ou
le vert en bleu, combinaison vaut 1, par contre, lors d’un changement de nœud, combinaison vaut 0.
Combinaison est initialisée à 0.
- La variable booléenne continueBoucle vaut 1 tant que la dernière combinaison Bleu-Bleu-Bleu n’a pas
été générée (et 0 sinon).
continueBoucle est initialisée à 1
- Les variables i et indice balayent la liste de 1 à n.
- La variable compteur initialisée à 0 compte le nombre de « Rouge », une fois une branche terminée.
- La variable proba (initialisée à 1) calcule la probabilité d’obtenir le tirage de la liste L, une branche étant
terminée.