Referat Functii Si Proceduri
Mai jos puteti citi fragmente din
Referat Functii Si Proceduri si de asemenea puteti face
Download Referat Functii si proceduriCiteste fragmente din Referat Functii Si Proceduri
TEMA: FUNCÅ¢II ÅžI PROCEDURI ÃŽN LIMBAJUL DE PROGRAMARE PASCAL.
ENUNÅ¢UL PROBLEMEI:
PROB.1):
Elaboraţi o funcţie care returnează media aritmetică a patru numere
întregi.
PROB:2):
Elaboraţi o procedură care afişează la ecran tabelul de adevăr al
funcţiei y=not x.
PARTEA TEORETICÄ‚:
FUNCÅ¢II:
Conceptul de funcţie corespunde celui uzua matematic şi extinde pe
cel de expresie Pascal.
În general textul Pascal al unei declaraţii de funcţii are forma:
Function f(x1;…; xn) : t;
D1;
Begin
…
f:= e;
...
end; {f}
Primul rând ilustrează antetul funcţiei cu:
f: identificator reprezentând numele funcţiei;
(x1;..;xn ): listă (opţională) de parametri formali reprezentând
argumentele funcţiei;
t: identificator reprezentând tipul rezultatului; acesta trebuie să
fie un tip simplu
(scalar) sau pointer.
Antetul este urmat de corpul funcţiei, format din:
- D1: declaraţii locale ale funcţiei (opţionale) grupate în
secţiuni (eventual vide)scri-
se în ordinea:
label
const
type
var
function / procedure
- begin ... f:=e; ... end; : instrucţiune compusă specificând
prelucrările de date ce se
produc prin execuţia funcţiei; numele f al funcţiei (fără
parametri) apare cel puţin
o dată în partea stângă a unei instrucţiuni de atribuire care se
execută f:=e. Rezul-
tatul întors de funcţie, de tipul t, este ultima valoare atribuită
lui f.
Utilizarea unei funcţii se specificţ printr-un apel de forma: f(a1, .
.,an), cu
- f: numele funcţiei;
- (a1, . . ,an): lista de parametri actuali reprezentând expresii ale
căror valori sau adrese sînt furnizate funcţiei.
Apelul de funcţie este un operand într-o expresie; el se inserează
în locul în care este
dorită valoarea produsă de funcţie. Când expresia este evaluată,
funcţia este activată, iar
operandului devine valoarea întoarsă de funcţie.
PROCEDURI:
Conceptul de procedură extinde pe cel de instrucţiune. Formele
sintactice ale decla-
raţiei şi apelului sânt similare celor pentru funcţii.
Forma generală a textului unei declaraţii de procedură este:
Procedure p(x1; . . . ;xn);
D1;
Begin
. . .
end; {p}
ÃŽn antetul procedurii apar:
p: numele procedurii;
(x1; . . . ;xn): listă (opţională) de parametri formali.
În corpul procedurii sânt incluse:
- D1: declaraţii locale procedurii (opţionale) grupate după
aceleaşi reguli ca în cazul
funcţiilor;
- begin ... end; : instrucţiune compusă; ea nu conţine vreo
atribuirii asupra numelui
procedurii.
Procedura poate să întoarcă mai multe rezultate, dar nu prin numele
ei, ci prin va-riabilele desemnate special (prefixul var) în lista de
parametri; tipurile rezultatelor se spe-
cifică în lista de parametri ca tipuri ale acestor variabile.
Activarea unei proceduri se specifică printr-un apel de forma: p(a1,
. . . ,an) cu
p:numele procedurii;
â€Â
ÂÂ
¢
¬
®
¾
À
Þ
ÃÂ
ü
â€Â
Ëâ€
¼
Ãâ€
Ã’
Ø
è
ò
l
l
"): lista (opţională) de parametri actuali.
Spre deosebire de funcţie, apelul de procedură este o instrucţiune;
aceasta se inserează în
program în locul în care sânt dorite efectele produse de execuţia
procedurii pentru eventualii parametri actuali a1, . . . ,an.
PROGRAMELE OBÅ¢INUTE:
PROB.1):
program lucr4a;
uses
crt;
var
a,b,c,d:integer;
med:real;
function
media(a,b,c,d:integer):real;
var
med:real;
begin
med:=(a+b+c+d)/4;
media:=med;
end;
begin
clrscr;
writeln( Introduceti 4 numere intregi a, b, c, d: );
write( a= );readln(a);
write( b= );readln(b);
write( c= );readln(c);
write( d= );readln(d);
med:=media(a,b,c,d);
writeln( Media aritmetica a numerelor ,a, ,b, ,c, ,d, este:
,med:3:3);
readkey
end.
PROB.2):
program lucr4b;
uses
crt;
var
x,y,z1,z2,z3:boolean;
procedure
tabel_de_adevar(x,y:boolean;var z1,z2,z3:boolean);
begin
z1:=not y;
z2:=x and y;
z3:=x or y;
end;
begin
clrscr;
writeln( Primul caz: x ia valoare adevarata: );
x:=true;
y:=not x;
writeln( x= ,x);
writeln( y= ,y);
tabel_de_adevar(x,y,z1,z2,z3);
writeln( not y= ,z1);
writeln( x and y= ,z2);
writeln( x or y= ,z3);
writeln;
writeln( Al doilea caz: x ia valoare falsa: );
x:=false;
y:=not x;
writeln( x= ,x);
writeln( y= ,y);
tabel_de_adevar(x,y,z1,z2,z3);
writeln( not y= ,z1);
writeln( x and y= ,z2);
writeln( x or y= ,z3);
readkey
end.
REZULTATE:
PROB.1):
Introduceti patru numere intregi a, b, c, d:
a=1
b=2
c=3
d=4
Media aritmetica a numerelor 1, 2, 3, 4 este : 2.500
RPOB.2):
Primul caz: x ia valoare adevarata:
x=TRUE
y=FALSE
not y = TRUE
x and y = FALSE
x or y = TRUE
Al doilea caz: x ia valoare falsa:
x=FALSE
y=TRUE
not y = FALSE
x and y = FALSE
x or y = TRUE
CONCLUZII:
Utilizarea funcţiilor şi procedurilor permite elaborarea unor programe
mai mici ca volum, deci care ocupă mai puţin spaţiu de memorie şi
care sunt mai bine de înţeles pen-
tru alţi utilizatori(alţii decât cei care au elaborat programul).
Plus la asta aduce ÅŸi o eco-
nomie de timp programatorului la elaborarea programului, deoarece odată
elaborate, funcţiile şi procedurile pot fi apelate ori de câte ori nu
am avea nevoie de instrucţiunea în cauză în program.
ì¥Â@