Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


SUBPROGRAME DE TIP FUNCTIE

pascal



+ Font mai mare | - Font mai mic



SUBPROGRAME DE TIP FUNCTIE

Subprogramele de tip func ie sunt in linii mari, la fel ca procedurile, cu urmatoarele excep ii:



a. numele unei func ii va fi un identificator ce desemneaza pe langa entitatea respectiva (func ia), i o variabila a carui tip va fi specificat la sfar itul liniei de definire a func iei.

SUBPROGRAME DE TIP FUNCTIE

b. o func ie se define te cu ajutorul cuvantului rezervat function (in loc de procedure).

c. pe parcursul func iei (blocului de instruc iuni), inainte de revenirea in programul apelant, numele func iei (variabila) trebuie sa primeasca o valoare (rezultata din calculele din corpul func iei).

d. apelul unei func ii se realizeaza ca i apelul unei proceduri in ce priveste parametrii actuali, dar, apari ia apelului nu va fi independenta, ci undeva intr‑o instruc iune sau expresie sau mai bine zis oriunde are voie sa apara o variabila (in membrul drept).

e. modul de func ionare al apelului este asemanator cu cel al unei proceduri cu excep ia ca dupa ce se realizeaza apelul in momentul apari iei numelui func iei, i dupa ce se evalueaza func ia (execu ia ei), se revine in instruc iunea respectiva cu o valoare in numele func iei i se continua cu evaluarea expresiei (sau execu ia instruc iunii) exact dupa numele func iei i nu cu instruc iunea imediat urmatoare.

SUBPROGRAME DE TIP FUNCTIE

Exemplu:

program maxim5;

var

a,b,c,d,max:integer;

procedure maxab(a,b:integer):integer;

begin

if a>b then maxab:=a

else maxab:=b;

end;



begin

writeln ('introduceti a si b');

readln(a,b);

writeln ('introduceti c si d');

readln(c,d);

max:=maxab(a,b);

writeln('max(a,b)=',max);

writeln('max(c,d)=',maxab(c,d));

end.

Acum observam ca numele func iei (respectiv apelul func iei) apare in program, sau mai bine spus in instruc iuni, expresii etc., oriunde este corect sa apara o variabila.

Exemplu de aplica ie:

Se da un sir de numere (vector) de n elemente. Sa se calculeze suma i maximul dintre elemente.

SUBPROGRAME DE TIP FUNCTIE

program aplicatie1;

var

a:array[1..100] of integer;

n,i,s,max:integer;

procedure introd;

begin

write('nr. elemente=? ');

readln(n);

for i:=1 to n do

begin

write('a(',i,')=');

readln(a[i]);

end;

end;

procedure calc_suma;

begin

s:=0;

for i:=1 to n do s:=s+a[i];

end;

procedure calc_max;

function maxab(a,b:integer):integer;

begin

if a>b then maxab:=a

else maxab:=b;

end;

begin

max:=a[1];

for i:=2 to n do

if maxab(max,a[i]) > max then

max:=maxab(max,a[i]);

end;

begin

introd;

calc_suma;

calc_max;

writeln;

writeln('suma celor ',n,' elemente este: ',s);

writeln('maximul dintre elemente este: ',max);

end.

SUBPROGRAME DE TIP FUNCTIE

Obs: In interiorul unui program, putem insera comentarii care sa faca programul PASCAL mai explicit i mai usor de depanat, dar care sa nu fie luate in considerare de catre compilator. Astfel, tot ce apare intre doua paranteze acolade se considera comentariu.

Iata rezultatul unei execu ii a programului aplica ie1:

nr. elemente=? 4

a(1)=34

a(2)=56

a(3)=32

a(4)=12

suma celor 4 elemente este: 134

maximul dintre elemente este: 56




Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1297
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