Subprograme Domenii de vizibilitate | Page 4

Domeniul de vizibilitate al declaraţiei var c : real este format din doua fragmente de text cuprinse intre {2}, {3} şi {5}, {6}. Domeniul de vizibilitate al declaratiei var c : char este textul cuprins intre {4} şi {5}.

Cunoasterea domeniilor de vizibilitate ale declaratiilor este necesara pentru determinarea obiectului curent desemnat de un nume.

De exemplu, identificatorul c din instructiunea

c:=chr(d)

a programului P105 desemneaza o variabila de tip char. Acelaşi identificator din instructiunea

c:=b+1

desemneaza o variabila de tip real.

De retinut ca declaratia unui nume de functie/procedura se considera terminata la sfirsitul antetului. Prin urmare, domeniul de vizibilitate al unei astfel de declaratii include di corpul functiei/procedurii respective. Acest fapt face posibil apelul recursiv: in corpul functiei/procedurii aceasta poate fi referita, fiind vizibila. Evident, declaratia unui parametru formal este vizibila numai in corpul subprogramului respectiv.

De exemplu, domeniul de vizibilitate al declaratiei procedure Q este textul cuprins intre punctele marcate {3}şi {6}. Domeniul de vizibilitate al declaratiei d:integer este textul cuprins intre {3}şi {5}.

Intrebari si exerctitii

1) Cum se determina domeniul de vizibilitate al unei declaratii?

Raspuns:

Domeniul de vizibilitate incepe imediat dupa terminarea declaratiei şi se sfirseste odata cu textul blocului respectiv.

2) Determinati domeniile de vizibilitate ale declaratiilor b : real si

x : real din programul P105.

Raspuns:

Domeniul de vizibilitate al declaratiei b:real este format din doua fragmente de text cuprinse intre {2}, {3} si {5},{6}.

Domeniul de vizibilitate al declaratie x:real este:

begin

f:=x/2;

end;