La planche de Galton est une planche à n étages qui sert à simuler des lois du hasard. Au sommet, plusieurs billes tombent au travers d'une pyramide de clous sur une planche inclinée. À l'arrivée, les billes tombent dans des conteneurs de taille identique.

On souhaite écrire un algorithme pour simuler la planche de Galton.
Quels sont les paramètres que l'algorithme peut prendre en entrée ?
On souhaite simuler un tirage pour savoir comment se répartissent l'ensemble des B boules à l'arrivée dans une pyramide de hauteur n étages, qui va définir donc N boîtes distinctes.
L'algorithme prend en entrée : B le nombre de boules et N le nombre d'étages.
On donne l'algorithme suivant :
B, N, I, J, A, X : entiers
L_1 : listes
Lire B, N
Effacer L_1
pour I de 1 à N+1 faire :
0 \to L_1(I)
fin
pour I de 1 à B faire
0 \to X
pour J de 1 à N faire
EntAléa(0,1) \to A
si A = 1 alors
X+1 \to X
fin
fin
L_1(X+1) + 1 \to L_1(X+1)
fin
Afficher L_1
À quoi correspond la variable A ?
À chaque étage, la boule peut aller soit vers la gauche, soit vers la droite. On représente cette déviation par une variable A qui vaut 0 s'il n'y a aucun décalage vers la droite ou 1 si la boule se décale vers la droite.
La variable A indique donc si une boule se décale vers la droite à un étage donné.
Que représente la variable X ?
Pour une boule, on représente le nombre total de déviations vers la droite à l'arrivée par une variable X . Cette variable est incrémentée de 1 à chaque étape où A vaut 1 .
La variable X représente donc le nombre total de déviations d'une boule vers la droite à l'arrivée.
À quoi correspond la variable L_1 ?
On affiche la répartition des boules dans les N +1 boîtes avec la liste L_1 . Chaque élément de la liste représente le nombre de boules dans cette case.
La liste L_1 contient donc le nombre de boules dans chaque boîte.