Documente Academic
Documente Profesional
Documente Cultură
Modul de transmitere a
parametrilor
Singur...
Teminologie folosit
Definiie: Un subprogram este o secven de
Terminologie folosit
Variabile locale: variabile declarate n corpul unui subprogram; sunt
Prototipul
subprogramului
Antetul subprogramului
Apelul subprogramului
Definiia
subprogramului
Modulul apelant
Modulul apelat
# include <iostream.h>
void functie();
void main()
{ functie();
}
void functie()
{ cout<<exemplu de functie;
}
Parametrii de comunicare
Stabilesc legturile dintre modulul apelant i modulul apelat, realizeaz
legtura dintre module; Tipul parametrilor poate fi: ntreg, real,
caracter, pointer, tablou (vectori, matrice, string-uri). Acetia sunt:
Parametrii de intrare: datele ce se dau subprogramului, ce vor fi
prelucrate de subprogram
Parametrii de ieire: rezultatele obinute de subprogram dup ce le
prelucreaz i pe care le comunic modulului apelant, dup ce
subprogramul i termin execuia; reprezint valorile returnate de
ctre subprogram
Parametrii de intrare/ieire: datele ale cror valori pot fi modificate
att de subprogram ct i de modulul apelant; reprezint valorile
returnate de ctre subprogram
Clasificarea parametrilor
dup locul unde apar acetia
Parametrii formali: apar n antet, precedai de
Parametru transmis
prin valoare
Tipul functiei
Parametri
transmii prin
referin
Funcie operand:
subprogram care returneaz un rezultat chiar prin numele lui, dar
Funcie procedural:
subprogram care furnizeaz modulului apelant
Observaii:
Parametrii efectivi/actuali corespunztori parametrilor formali de
intrare transmii prin valoare POT fi: variabile, constante, expresii,
apel de funcie operand, de exemplu:
cout<<prim(x);
cout<<prim(15);
cout<<prim(x+y);
cout<<prim(invers(x));
unde funcia prim(x) verific dac x este numr prim, iar funcia
invers(x) returneaz inversul parametrului x.
# include <iostream.h>
int a,b;
int test (int a=10, int b=20)
{ return a+b;
}
int main()
{ cout<<test(30,40)<<endl;
cout<<test(30)<<endl;
cout<<test()<<endl;
return 0;
}
//se afiseaza 70
//se afiseaza 50
//se afiseaza 30
Parametrii efectivi
corespunztori
parametrilor formali
transmii prin
referin TREBUIE s
fie doar variabile,
adic nu pot fi
constante, expresii,
apeluri ale altor
funcii;
# include <iostream.h>
int a,b;
void sch (int &x, int &y)
{ int z;
z=x; x=y; y=z;
}
int main()
{ cin>>a>>b; //a=10, b=20
sch(a,b);
/* nu se poate apela sch(20, 30),
parametrii actuali TREBUIE s fie variabile */
cout<<a<<` `<<b; //a=20, b=10
return 0;
}
Apelul funciei
void main()
{ cin>>a>>b;
cout<<a<< <<b;
sch(a,b);
cout<<a<< <<b;
}
z=3
Zona
STACK
Zona de
date
y=5 3
x=3 5
x=3 5
b=5
b=5
a=3
a=3
Zona
STACK
Zona de
date
Apelul functiei
void main()
{ cin>>a>>b;
cout<<a<< <<b;
sch(&a, &b);
cout<<a<< <<b;
}
Variabil local
z=3
y reine adresa variabilei b
Zona
STACK
b=5 3
a=3 5
Zona de
date
Apelul functiei
void main()
{ cin>>a>>b;
cout<<a<< <<b;
sch(a,b);
cout<<a<< <<b;
}
Variabil local
z=3
y= se refer la variabila b
Zona
STACK
b=5 3
a=3 5
Zona de
date
Tablourile de memorie ca
parametri de funcii
Dac parametrii de ieire sau intrare/ieire sunt
Vectori ca parametrii
Dac un parametru formal este un tablou
Matrici ca parametri
Dac se transmite ca paramentru un tablou
Bibliografie
Mariana Miloescu, Manual de informatic pentru clasa a