AlgoBox : Construction du triangle de Pascal

Présentation de l'algorithme :

Le triangle de Pascal est formé par les lignes donnant les coefficients du développement de (a+b)n.

  • ligne 1 : 1 1         (a+b)1 = 1*a + 1*b
  • ligne 2 : 1 2 1       (a+b)2 = 1*a2 + 2*a*b + 1*b2
  • ligne 3 : 1 3 3 1     (a+b)3 = 1*a3 + 3*a2*b + 3*a*b2 + 1*b3
  • ligne 4 : 1 4 6 4 1   (a+b)4 = 1*a4 + 4*a3*b + 6*a2*b2 + 4*a*b3 + 1*b4
Principe de construction du triangle :
  • Le premier et le dernier coefficient de chaque ligne sont toujours égaux à 1.
  • On obtient chaque autre coefficient en additionnant le nombre qui lui est situé au-dessus ainsi que celui qui lui est situé au-dessus à gauche.
Parmi les algorithmes possibles, celui ci-dessous utilise deux listes : une pour représenter la dernière ligne déjà construite (la liste ligne) et une autre pour construire la prochaine ligne (la liste ligne_suivante).
Le code ci-dessous construit le triangle de la ligne 2 jusqu'à la ligne n (variable dont la valeur est demandée à l'utilisateur au début).

Fichier AlgoBox associé : pascal.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)


Tester l'algorithme
Cliquer sur ce bouton pour exécuter l'algorithme : 

Résultats

Code de l'algorithme
1   VARIABLES
2     ligne EST_DU_TYPE LISTE
3     i EST_DU_TYPE NOMBRE
4     j EST_DU_TYPE NOMBRE
5     n EST_DU_TYPE NOMBRE
6     ligne_suivante EST_DU_TYPE LISTE
7   DEBUT_ALGORITHME
8     LIRE n
9     SI (n>=2) ALORS
10      DEBUT_SI
11      ligne[1] PREND_LA_VALEUR 1
12      ligne[2] PREND_LA_VALEUR 1
13      POUR i ALLANT_DE 2 A n
14        DEBUT_POUR
15        ligne_suivante[1] PREND_LA_VALEUR 1
16        AFFICHER ligne_suivante[1]
17        POUR j ALLANT_DE 2 A i
18          DEBUT_POUR
19          ligne_suivante[j] PREND_LA_VALEUR ligne[j-1]+ligne[j]
20          FIN_POUR
21        ligne_suivante[i+1] PREND_LA_VALEUR 1
22        POUR j ALLANT_DE 2 A i+1
23          DEBUT_POUR
24          ligne[j] PREND_LA_VALEUR ligne_suivante[j]
25          AFFICHER " ; "
26          AFFICHER ligne[j]
27          FIN_POUR
28        AFFICHER " "
29        FIN_POUR
30      FIN_SI
31  FIN_ALGORITHME