Galatan+Susana

GĂLĂŢAN SUSANA

**__ SUBPROGRAME __**

SUBPROGRAMUL reprezinta parti identificabile prin nume care se pot activa la cerere prin intermediul acetui nume. O parte din subprogram se contruieste ca subprogram daca un algoritm cuprinde in mai multe locuri aceiasi secventa de operatii executabila pentru aceleasi date sau pentru date diferite. In loc ca subprogramul sa cuprinda in acelasi loc, acelasi grup de instructiuni, concepand grupul de intructiuni ca subprogram, el va aparea in program o singura data si se va activa de mai multe ori. Partea respectiva de program rezolva o subproblema din cele in care se descompune problema complexa. In limbajul Pascal, avem doua tipuri de subprograme : procedurile si functiile. Deosebirea intre ele consta in numarul de valori calculate si returnate programului apelat. Procedurile calculeaza mai multe valori sau nici una, iar functiile returneaza o singura valoare asociata numelui functiei. Atat procedurile cat si functiile pot fi standard(predefinite in unitul sistem), cat si nestandard(definite de utilizator). Procedurile si functiile nestandard trebuie declarate obligatoriu inainte de a fi apelate. O declaratie de subprograme cuprinde: -un antet de supbrogram care precizeaza interfata subprogramului cu mediul sau, si - blocul subprogramului care descrie functionarea lui interna.

**__//DOMENIUL DE VIZIBILITATE AL INDENTIFICATORILOR//__** Prin domeniul de vizibilitate (valabilitate) se intelege zona de program in care e valabila declararea sau definirea unui identificator. Toti indentificatorii definiti sau declarati intr-un bloc sunt cunoscuti in blocul respectiv si se numesc variabile locale. Daca blocul cuprinde blocuri incluse in care identificatorii (variabile locale ale acestora) nu se definesc sau redenumesc, atunci acestea sunt cunoscute in blocurile incluse si se numesc variabile globale pentru acesta. Daca o variabila declarata intr-un bloc se redefineste atunci in blocul in care a fost redeclarata va fi variabila atribuita generata la redeclarare.

O procedura e un sunbrogram care calculeaza mai multe valori accesibile sau nu programului apelant sau efectueaza anumite operatii fara sa calculeze vreo valoare. Valorile calculate accesibile programului apelant reprezinta parametrii de iesire ai subprogramului. Acestia pot depinde de anumite valori pe care subprogramul le primeste din programul apelant, valori reprezentand parametrii de intrare. Parametrii formali sunt variabile simbolice in care lucreaza subprogramul. Ele sunt declarate in antetul subprogramului si sunt cunoscute numai in interiorul subprogramului. La apelarea procedurii se specifica parametrii efectivi sau actuali prin intermediul instructiunii procedurale. Parametrii efectivi reprezinta variabilele cu care subprogramele lucreaza efectiv in momentul activarii. __Declararea procedurii se face folosind:__ //PROCEDURE nume_procedura(lista parametrii)// -parametrii precizati la scrierea proedurii sunt parametrii formali si se separa prin ‘ ; ’ -pentru fiecare parametru se precizeaza numele si tipul acestuia.
 * //__DECLARAREA SI APELUL PROCEDURILOR.__//** **//__PARAMETRII FORMALI SI PARAMETRII EFECTIVI__//**

__Apelarea procedurii :__ Pentru a executa o procedura aceasta trebuia apelata. La apel se da numele procedurii si valorile concrete ale parametrilor care se separa prin punct si virgula.