Bonjour,

Je suis en train de faire un exercice en Pascal qui me demande de calculer le triangle de Pascal de dimension N (Définie par l'utilisateur) et en utilisant une procédure calcul(Triang) et une procédure Affichage(Triang). Etant débutant avec les procédures, j'ai encore un peu de mal à avoir le truc, du coup j'ai du mal à corriger mes erreurs.

Voici ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Program Exo4TP9;
 
Const Nmax=25;
 
TYPE tableau=array [1..Nmax,1..Nmax] of integer;
 
PROCEDURE calcul(VAR N:integer);
VAR c,l :integer;
    Triang:tableau;
 
Begin
 
Triang[1,1]:=1;
for l := 2 to N do
   begin
    Triang[l,1]:=1;
    for c := 1 to l-1 do
      Triang[l,c]:=Triang[l-1,c]+Triang[l-1,c-1];
      Triang[l,l]:=1;
   end;
End;
 
PROCEDURE Affichage(N:integer ; Triangl:tableau);
VAR l,c:integer;
 
          Begin
              for l := 1 to N do
              begin
                for c := 1 to l do
                  write(Triangl[l,c],' ');
                  writeln('');
              end;
End;
 
VAR NC:integer;
 
Begin
Writeln('Saisir N');
Readln(NC);
 
calcul(NC);
Affichage(NC);
 
readln;
 
END.
Mais en compilant j'obtient cette erreur : 42 / 11 Error: Wrong amount of parameters specified

J'ai donc essayé de faire une modification dans ma deuxième procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Program Exo4TP9;
 
Const Nmax=25;
 
TYPE tableau=array [1..Nmax,1..Nmax] of integer;
 
PROCEDURE calcul(VAR N:integer);
VAR c,l :integer;
    Triang:tableau;
 
Begin
 
Triang[1,1]:=1;
for l := 2 to N do
   begin
    Triang[l,1]:=1;
    for c := 1 to l-1 do
      Triang[l,c]:=Triang[l-1,c]+Triang[l-1,c-1];
      Triang[l,l]:=1;
   end;
End;
 
PROCEDURE Affichage(N:integer);
VAR l,c:integer;
    Triang:tableau;
 
          Begin
              for l := 1 to N do
              begin
                for c := 1 to l do
                  write(Triang[l,c],' ');
                  writeln('');
              end;
End;
 
VAR NC:integer;
 
Begin
Writeln('Saisir N');
Readln(NC);
calcul(NC);
Affichage(NC);
 
readln;
 
END.
Je n'ai plus d'erreur cette fois-ci mais un avertissement : 31 / 41 Warning: Local variable TRIANG does not seem to be initialized

Et quand je le lance j'obtiens ce résultat :
Nom : 2a7460a50ef44555847ea641429b7194.png
Affichages : 312
Taille : 1,5 Ko

J'aurais besoin de votre aide car je n'arrive pas à trouver le problème.

Merci d'avance.