(x, y)

Vreau sa trimit date catre functii!

Dupa aceasta lectie, vei intelege cum sa trimiti informatii catre functii folosind parametri.

INCEARCA

Gandeste-te la asta!

Provocarea ta (2 minute):
Imagineaza-ti ca ai o functie care calculeaza aria unui dreptunghi.

Intrebari:
1. Ce informatii are nevoie functia pentru a calcula aria?
2. Cum ii spui functiei ce lungime si ce latime sa foloseasca?
3. Daca vrei sa calculezi aria pentru 3 dreptunghiuri diferite, cum faci?
Ai nevoie de ajutor? Click aici pentru indiciu

Functia are nevoie de lungimea si latimea.

Le trimiti ca parametri - valorile pe care le dai functiei cand o apelezi.

Pentru 3 dreptunghiuri, apelezi functia de 3 ori cu valori diferite!

INVATA

Parametrii functiilor

Analogie: Functia = Robot de bucatarie

Imagineaza-ti ca functia este un robot de bucatarie care face smoothie.

Parametrii = ingredientele pe care i le dai (fructe, lapte, zahar)
Return = smoothie-ul pe care il primesti inapoi

Daca ii dai mere si lapte, face smoothie de mere. Daca ii dai banane si iaurt, face smoothie de banane!

Ce sunt parametrii?
Parametrii sunt variabilele prin care trimitem date catre functie.

Cand declari functia - sunt parametri formali (placeholder-e)
Cand apelezi functia - valorile trimise se numesc argumente
APEL
aria(5, 3)
-->
FUNCTIE
int aria(int L, int l)
-->
REZULTAT
15
Transmitere prin valoare
In C++, cand trimiti un parametru, functia primeste o copie a valorii.
Modificarile din functie NU afecteaza variabila originala!
Exemplu - transmitere prin valoare:
void dubleaza(int x) {
x = x * 2; // modific COPIA
cout << x; // afiseaza 10
}
int main() {
int n = 5;
dubleaza(n);
cout << n; // afiseaza tot 5!
}
Parametri multipli
Poti avea oricate parametri ai nevoie, separati prin virgula.
Fiecare parametru trebuie sa aiba tipul specificat!
Exemple cu mai multi parametri:
// 2 parametri - acelasi tip
int aduna(int a, int b) {
return a + b;
}
// 3 parametri - tipuri diferite
void afiseazaElev(string nume, int varsta, float medie) {
cout << nume << " are " << varsta << " ani";
cout << " si media " << medie;
}
Atentie la ordine!
Cand apelezi functia, ordinea argumentelor CONTEAZA!
void impartire(int a, int b) {
cout << a / b;
}
impartire(10, 2); // 10/2 = 5
impartire(2, 10); // 2/10 = 0 (diferit!)
Exemplu complet
Calculator de arie dreptunghi:
int ariaD(int lungime, int latime) {
return lungime * latime;
}
int main() {
// Calculez aria pentru 3 dreptunghiuri
cout << ariaD(5, 3); // 15
cout << ariaD(10, 4); // 40
cout << ariaD(7, 7); // 49
return 0;
}
VERIFICA

Hai sa vedem ce ai retinut!

1. Ce sunt parametrii unei functii?
Rezultatele pe care le returneaza functia
Variabilele prin care trimitem date catre functie
Numele functiei
2. Ce afiseaza codul urmator?
int test(int a, int b) { return a - b; }
cout << test(10, 3);
-7
7
13
3. Cate argumente trebuie sa trimiti cand apelezi: void f(int x, int y, int z)?
1
2
3
(x, y)

Felicitari!

Ai terminat Lectia 3: Parametrii functiilor

+50 XP

Acum stii cum sa trimiti date catre functii!