O procedura Pascal poate avea uan din urmatoarele sintaxe.
Forma a) fara parametrii formli cu sintaxa
PROCEDURE nume; [sectiunea declaratii] BEGIN [ instructiuni] END Forma b) cu parametrii formali, cu sintaxa PROCEDURE nume([VAR] l1: t1; [VAR] l2:t3…; [VAR] ln: tn); [sectiunea declaratiei] BEGIN [instructiunii] END;
unde -nume este un indentificator Pascal, unde si este numele procedurii; -(l1:t1;…;ln: tn) reprezinta listele parametrilor formali si a tipurilor acestora, daca multimea acestora nu e vida; li : ti, i=1,2,…,n sint separate prin caracterul “i”( punct si virgula) si se numesc parametric formali.
Parametrii formali dintr-o procedura(si functie) se declara numai in antetul de procedura(functie) si nu in sectiunea declaratiei ca celelalte obiecte Pascal.
Observatii:
O procedura are o structura asemanatoare cu a unui program diferit doar prin antet (instructiunea de inceput).
Intr-o declaratie de procedura sunt obligatorii doar antetul de procedura si instructiunea compusa BEGIN….END.
Orice identificator folosit in zona de instructiuni a procedurii, exceptand parametrii formali, trebuie sa fie declarat fie in sectiunia de decalratii a
procedurii(cand are valoare locala-numai in corpul procedurii), fie in programul din care face parte procedura in care caz variabila are valoare gloabla –dac aceiasi variabila nu este declarata si in procedura
Daca un identificator cu acelas nume figureaza si este declarat si in programul principal si in subprogram(procedura functie), atunci semnificatiiele lui sunt diferite in programul principal si subprogram
program Project4; Numele Programului Type vector=array[1..1000] of integer; Declararea tabloului unideminsional var a:vector; atribuirea variabilei a tabloului var i,n,sum_par:integer; declararea variabilelor Procedure suma; Declararea procedurii begin sum_par:=0; for i :=1 to n do if a[i] mod 2=0 then sum_par:=sum_par+a[i]; Calculul sumei numerelor pare end; begin Writeln('Introdu nr de termeni');readln(n); Introducerea datelor tabloului for i := 1 to n do begin Writeln('A[',i,']='); readln(a[i]); end; suma; Writeln('Suma elementelor pare este: ', sum_par); Afisarea sumei numerelor pare ale acestui tablou readln end.