Lectie Parametrii Info
-
Upload
michaelhaarp -
Category
Documents
-
view
223 -
download
2
description
Transcript of Lectie Parametrii Info
Bulagiule!!!!! cuM mare – Gabi Ionita 2015
Transferul parametrilor
Parametrii folositi la definirea subprogramelor se numesc formali.
La apelul subprogramelor parametrii actuali.
Cu o exceptie,numarul parametrilor formali, si cel al parametrilor actuali, trebuie sa fie acelasi.
Parametrii actuali si formali trebuie sa se corespunda ca ordine in lista sau ca tip de date.
Exista doua categorii de parametrii valoare sau referinta
Valoare : #include <iostream>
Using namespace std;
int f (int a, int b)
{a=1;
B=a+2;
Cout << a<< “ ”<,b;
Return a+b; }
Int main () {
Int x=3,y=4;
Cout<< f(x,y)<<endl;
Cout<< f(0,2)<<endl;
Cout<<f(x+1,y+2);
Return 0; }
In cazul param transmisi prin valoare, parametrii actuali pot fii variabile constant sau expresii.
In momentul apelului, parametrii acutali, sunt rezervati pe stiva in oridinea lor din lista si in locatiile rezervate se copiaza valorile param actuali. Param actuali au valabilitate pana la incheierea exe subprogramului.
Parametrii actuali, nu voi fii modificati in mod permanent de transformarile din subprogram.
PARAMETRII DE TIP REFERINTA
Masivele, vectorii, matricele, se transmit implicit prin referinta.
In cazul acestora, simbolul de refeinta nu se foloseste &.
Pt parametrii care nu sunt massive, se foloseste notatia. La momentul apelului, param actual coresp unuia formal de tip referinta nu poate fii decat o variabila (nu poate fii constanta nici expresie)
La transmiterea prin referinta, param actual sic el formal, au aceeasi zona de memorie, chiar daca au
denumiri diferite. Tot ceea ce se intampla cu formal se intampla si cu cel actual. Se gasesc param de tip referinta atunci cand dorim ca transformarile din subprogram sa fie permanente.
#include <iostream>
Using namespace std;
Void sub (int a, int &b)
{a=a+1; b=b+2;
Cout<<a<<b;}
Void sub2 (int &a, int b)
{ a=a+1; b=b+2;
Cout<<a<<b;}
Int main ()
{int x,y;
X=1,y=3;
Sub1 (x,y)
Cout<<x<<y;
Sub 2 (x,y)
Cout<<x<<y;
Sub 2(y,2)
Cout<<x<<y;
Return 0;}