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 :
Mais en compilant j'obtient cette erreur : 42 / 11 Error: Wrong amount of parameters specified
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.
J'ai donc essayé de faire une modification dans ma deuxième procédure :
Je n'ai plus d'erreur cette fois-ci mais un avertissement : 31 / 41 Warning: Local variable TRIANG does not seem to be initialized
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.
Et quand je le lance j'obtiens ce résultat :
J'aurais besoin de votre aide car je n'arrive pas à trouver le problème.
Merci d'avance.
Partager