Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


SUBPROGRAME

pascal



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

SUBPROGRAME

Tipul multime

SUBPROGRAME DE TIP FUNCTIE

Tipuri ordinale definite de utilizator

VERIFICARE FORMALIZATA A PROGRAMELOR

TIPURI DE DATE

LANSAREA IN EXECUTIE A SISTEMULUI TURBO PASCAL (TP)

FUNCTII STANDARD

Identificatori

Tipuri de date

MIME-Version: 1.0 Content-Location: file:///C:/EA7B62F5/sdtrf5765.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii"

SUBPROGRAME

     Dupa cum = am mai amintit la inceputul lucrarii, PASCAL‑ul este un limbaj = de programare modern, structurat, modularizat. Acest fapt reprezinta Õi capacitatea limbajului de a lucra cu concepte 'mai abstracte'. Despre ce este vorba ? În realitate  intalnim probleme complicate, sau chiar foarte complicate, care necesita mulÛi 'pasi mari' de execu= Ûie. Prin 'pasi mari' inÛelegem etape in execuÛia unui program, faze in rezolvarea unei probleme, cum ar fi acest exemplu didactic Õi foarte simplu:

     Se da un = vector cu 5 elemente. Sa se determine suma Õi produsul elementelor.

Deci in rezolvarea acestei probleme delimitam 3 etape (paÕi mari):

     1 ‑ introd= ucerea datelor

     2 ‑ suma elementelor

     3 ‑ produs= ul elementelor

deci in linii mari programul va fi urmatorul:

     begin=

       intr= od;

       suma= ;

       prod= us;

       writeln('suma=3D',s,'  produs=3D',p);

     end.<= /span>


9.   SUBPROGRAME

=

La prima vedere pare prea simplu Õi deci  imposibil. Nu, este posibil ca programul principal sa conÛina fazele de execuÛie a programului iar amanuntele de programa= re sa se afle undeva, tratate separat astfel incat in programul principal sa ne preocupe rezolvarea problemei, urman= d ca in subprograme sa ne preocupe rezolvarea unor pa<= sup>Õi mai mici, in toate amanuntele de programare.

Deci condiÛia este urmatoarea: in prealabil (in f= aÛa begin‑ului programului) sa definim = ce reprezinta Õi ce realizeaza fiecare dintre 'etapele' enumerate in exemplul anterior.=

     Aceste 'etape' sunt de fapt subp= rograme (numite in PASCAL proceduri) care au ca nume un identificator, Õi ca orice identificator (nume de variabila= , de procedura, etc) trebuie sa fie declarat (definit) inain= te de a fi utilizat (referit). Exact cum o variabila o declaram = ca fiind de un anumit tip, aÕa Õi o procedura (un subprogram in gener= al) o vom defini ce este Õi ce executa.

     Programul din ex= emplul anterior, in varianta completa va fi urmatorul:


9.   SUBPROGRAME

=

     program principa= l;

     var

       v:array[1..5] of integer;

       i,s,p:integer;

     procedure introd= ;

     begin=

       for = i:=3D1 to 5 do readln(v[i]);

     end;<= /span>

     procedure suma;<= o:p>

     begin=

       s:= =3D0;

       for = i:=3D1 to 5 do s:=3Ds+v[i];

     end;<= /span>

     procedure produs= ;

     begin=

       p:= =3D1;

       for = i:=3D1 to 5 do p:=3Dp*v[i];

     end;<= /span>

     begin=

       intr= od;

       suma= ;

       prod= us;

       writeln('suma=3D',s,'  produs=3D',p);

     end.<= /span>

     Dupa cum = se poate observa, in zona de instrucÛiuni executabile a programului principal, am enume= rat fazele principale (paÕii mari) a rezolv|rii problemei.

De fapt prin simpla apariÛie a numelui unei astfel de 'faze' se ex= ecut| un apel de subprogram.


9.   SUBPROGRAME

=

     Un subprogram este un program subordo= nat unui alt program numit program principal sau program apelant. Un subprogram= se mai numeste Õi program apelat.

     Un apel de subprogram (procedur&atild= e;) se realizeaza prin apariÛia in programul principal a unui nume de procedura. În acest moment se opreÕte execuÛia programului apelant Õi se transfera execuÛia la inceputul programului apelat. Dup&atil= de; ce se executa subprogramul (programul apelat), se transfera e= xecuÛia (automat) inapoi in programul apela= nt, la instrucÛiunea imediat urmatoare apelului respectiv.=

     Cu alte cuvinte in momentul in care (in exemplul anterior) in progr= amul principal se intalneste:

     introd;

se opreÕte execuÛia programului Õi se transfera executia la procedura (declarata anterior) cu numele introd. Dupa execuÛia instrucÛiunilor din procedura introd se revine in programul principal la instrucÛiunea:

     suma;=

care este un alt ape= l de procedura.

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2482
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou



Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024. All rights reserved