Vineri, 29.03.2024, 00:16
Bine aţi venit Vizitator

Bine ai venit

Meniu site
Sondajul nostru
Evaluează site-ul meu
Total răspunsuri: 17
Statistici

Total online: 1
Vizitatori: 1
Utilizatori: 0

într-un program care nu conţine declaraţii de funcţii / proceduri, pentru orice identificator x al său există o singură declaraţie dx. Orice referire rx a lui x în program are în vedere obiectul definit de această declaraţie. Declaraţia şi referirile au loc în acelaşi program. Am văzut cum declaraţii de funcţii / proceduri în alte funcţii / proceduri conduc la structuri de programe cu mai multe nivele. Aceasta, împreună cu libertatea de alegere a numelor în program, fac posibil să existe, pentru acelaşi identificator x, mai multe declaraţii diferite în unităţi de program diferite. Fiecare astfel de declaraţie defineşte un alt obiect Aceiaşi identificator poate deci desemna (numi) obiecte diferite în diferite părţi ale programului.

De asemenea, în program pot să apară mai multe referiri rx ale identifica­torului x. Fiecare astfel de referire are în vedere obiectai x definit de o anumită declaraţie dx.

4.43.1. Domenii de vizibilitate ale declaraţiilor de identificatori

Definiţia 1. Fie P un program / procedură / funcţie, x un identificator şi dx o declaraţie a lui x în P. Se numeşte domeniu de vizibilitate al lui dx textul de program în care pot apare referiri rx la identificatorul x ce desemnează obiectul definit prin declaraţia dx.

Domeniul de vizibilitate al lui d^ începe imediat după terminarea de­claraţiei şi se sfîrşeşte odată cu p. Trebuie precizat că declaraţia unei funcţii / proceduri se consideră terminată la sfîrşitul antetului; acest fapt face posibil apelul recursiv: în corpul funcţiei / procedurii, aceasta poate fi referită, fiind vizibilă.

Exemplu: în programul următor, începuml domeniilor de vizibilitate este marcat prin comentarii, program P; const n = 3;

{de aici n devine vizibili type natural = 0..maxint; {de aici natural devine vizibil} function f(x: natural

{de aici x devine vizibil} ): natural; {de aici f devine vizibila} begin

if x - 0 then f:= 1    {deci f poate fi referit} else f:= x*f(x-l)

end;

begin

end.

Autentificare
Căutare