Section courante

A propos

Section administrative du site

Triangle Pascal

Un triangle de Pascal (ou triangle arithmétique) est un arrangement triangulaire des coefficients binomiaux. Il a été nommé en l'honneur de Blaise Pascal, bien qu'il ait été étudié bien avant lui dans diverses cultures.

Voici tout d'abord un exemple d'une classe permettant d'afficher un triangle arithmétique progressif de style Pascal écrit en Free Pascal :

  1. Program TrianglePascal;
  2.  
  3. Var
  4.  I,J:Byte;
  5.  
  6. BEGIN
  7.  For I:=0 to 9 do Begin
  8.   For J:=0 to I do Write(' ',J*I);
  9.   WriteLn;
  10.  End;   
  11.  { Dessin Triangle }
  12.  For I:=0 to 12 do Begin
  13.   For J:=0 to 13-I do Write(' ');
  14.   Write('< ');
  15.   For J:=0 to I+I do Write('x ');
  16.   WriteLn('*');
  17.  End;
  18. END.

on obtiendra le résultat suivant :

0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
                            < x *
                          < x x x *
                        < x x x x x *
                      < x x x x x x x *
                    < x x x x x x x x x *
                  < x x x x x x x x x x x *
                < x x x x x x x x x x x x x *
              < x x x x x x x x x x x x x x x *
            < x x x x x x x x x x x x x x x x x *
          < x x x x x x x x x x x x x x x x x x x *
        < x x x x x x x x x x x x x x x x x x x x x *
      < x x x x x x x x x x x x x x x x x x x x x x x *
    < x x x x x x x x x x x x x x x x x x x x x x x x x *

Le première exemple permet d'imaginer comment construire un triangle de nombre, mais il ne respect pas les règles imaginés par Blaise Pascal. Ainsi, le triangle est construit de la manière suivante :

Voici un programme en C# générant un triangle de Pascal en fonction du nombre de lignes spécifié :

  1. Program PascalTriangle;
  2.  
  3. Uses SysUtils;
  4.  
  5. Procedure GeneratePascalTriangle(n:Integer);
  6. Var
  7.  Triangle:Array of Array of Integer;
  8.  i,j:Integer;
  9. Begin
  10.  SetLength(triangle,n);
  11.   { Remplir le triangle }
  12.  For I:=0 to n-1 do Begin
  13.   SetLength(triangle[i], i + 1);
  14.   Triangle[i][0]:=1; { Premier élément de chaque ligne }
  15.   Triangle[i][i]:=1; { Dernier élément de chaque ligne }
  16.   For j:=1 to i-1 do Triangle[i][j]:=Triangle[i-1][j-1]+Triangle[i-1][j];
  17.  End;
  18.   { Afficher le triangle }
  19.  For i:=0 to n-1 do Begin
  20.   Write(StringOfChar(' ',(n - i)*2)); { Espaces pour centrer le triangle }
  21.   For j:=0 to i do Write(triangle[i][j]:4); { Espacement uniforme des nombres }
  22.   Writeln;
  23.  End;
  24. End;
  25.  
  26. Var
  27.  n:Integer;
  28. BEGIN
  29.  Write('Entrez le nombre de lignes du triangle de Pascal : ');
  30.  ReadLn(n);
  31.  If n>0 Then Begin
  32.   Writeln('Voici le triangle de Pascal :');
  33.   GeneratePascalTriangle(n);
  34.  End
  35.   Else
  36.  Writeln('Veuillez entrer un nombre supérieur à 0.');
  37. END.

Si nous l'exécutons, nous nous assurerons qu'il fonctionne correctement. Voici à quoi ressemble le résultat pour une entrée avec le nombre 12 :

Entrez le nombre de lignes du triangle de Pascal : 12

Triangle de Pascal :
                         1
                       1   1
                     1   2   1
                   1   3   3   1
                 1   4   6   4   1
               1   5  10  10   5   1
             1   6  15  20  15   6   1
           1   7  21  35  35  21   7   1
         1   8  28  56  70  56  28   8   1
       1   9  36  84 126 126  84  36   9   1
     1  10  45 120 210 252 210 120  45  10   1
   1  11  55 165 330 462 462 330 165  55  11   1

Voir également

Science - Mathématique

Dernière mise à jour : Jeudi, le 29 décembre 2011