|
LIMBAJUL DE PROGRAMARE PASCAL – Proceduri
Deoarece de multe ori este necesar? ob?inerea ca rezultat a mai multor valori, limbajul Pascal permite utilizarea unui al doilea tip de subprogram, procedura.
Spre deoasebire de func?ii, procedurile furnizeaz? rezultate prin intermediul parametrilor ?i nu prin numele asociat.
Forma general? este:
procedure p(x1.. xn);
D1;
begin
…
end;
unde p este numele procedurii;
(x1.. xn) list? op?ional? de parametrii formali;
D1 declara?ii locale;
begin … end; este o instruc?iune compus?.
Apelul unei proceduri este de forma:
p(a1.. an), unde:
p este numele procedurii
(a1.. an) este lista(op?ional?) de parametri actuali.
Pentru procedur?, datele de inttrare se transmit prin parametrii valoare, prin valoarea acestora, iar rezultatele se transmit prin intermediul parametrilor variabil?, care trebie preceda?i în lista parametrilor formali de cuvântul cheie var.
Parametrii valoare reprezint? mijlocul comun în Pascal pentru comunicarea datelor de la locul de apel spre func?ia / procedura apelat?.
Un astfel de parametru se declar? în antetul func?iei / procedurii prin numele s?u urmat de specifica?ia de tip. Parametrul actual corespunz?tor este o expresie a c?rei valoare are tipul celui formal.Substitu?ia implicat? de parametrii valoare are loc astfel: la apelul func?iei / procedurii se aloc? spa?iu pentru parametru formal, se evalueaz? parametrul actual ?i valoarea rezultat? se depune în acest spa?iu drept valoare curent? a parametrului formal. Acesta cap?t? statut de variabil? local?. El poate fi referit în func?ie / procedur?, valoarea sa poate fi modificat? aici. Valoarea dobândit? astfel de parametrul formal se pierde la revenirea în program.
Parametrii variabil? reprezint? mijlocul principal de recuperare a rezultatelor din procedura apelat?. Parametrul actual corespunz?tor unui parametru formal variabil? este un identificator de variabil?(nu poate fi o component? a unei structuri de date împachetate).Substitu?ia implicat? de parametrii variabil? const? în asocierea loca?iei parametrului actual cu parametrul formal corespunz?tor, astfel încât, pe durata apelului, orice referire la parametrul formal este de fapt o referire la paremetrul
|