Documente Academic
Documente Profesional
Documente Cultură
Introducere
Un subprogram reprezinta un ansamblu de instructiuni (de declarare, executabile) scrise în vederea executarii
unei anumite prelucrari. Este identificat printr-un nume si implementat separat.
Tipul void
Subprogram care nu returneaza nimic.
Secventa de cod din interiorul programului se executa a si cum ar fi copiata in interiorul programului, iar
variabilele trimise ca parametru se inlocuiesc cu cele din apelul functiei. (Valorile variabileleor se schimba in
programul mare doar daca au fost trimise ca referinta)
void afiseaza(int n)
{
cout<<n;
}
Secventa de cod din interiorul programului se executa ca si cum ar fi copiata in interiorul programului, iar
variabilele trimise ca parametru se inlocuiesc cu cele din apelul functiei. In plus, acest subprogram returneaza
o anumita valoare care poate fi (sau nu) preluata in locul din care a fost apelat subprogramul.
int dubleaza(int n)
{
return 2*n;
}
int main()
{
cout << dubleaza(2); // va afisa 4
}
Atunci când transmiteţi argumente (şi sunt variabile) unei funcţii, transmiteţi de fapt o copie a acelor
variabile. Aceasta este transmiterea prin valoare (pass by value). Orice modificare a parametrilor unei
funcţii este vizibilă numai în acea funcţie. Variabilele - folosite ca argumente - rămân nemodificate.
#include <iostream>
using namespace std;
void modifica(int a)
{
a = a + 5;
cout << "a are valoarea: " << a << '\n';
}
int main()
{
int x = 1;
cout << "x inainte de apel: " << x << '\n';
modifica(x);
cout << "x dupa apel: " << x;
return 0;
}
Output:
x inainte de apel: 1
a are valoarea: 6
x dupa apel: 1
#include <iostream>
using namespace std;
int main()
{
int x = 1;
cout << "x inainte de apel: " << x << '\n';
modifica(x);
cout << "x dupa apel: " << x;
return 0;
}
Output:
x inainte de apel: 1
a are valoarea: 6
x dupa apel: 6
Aplicatii
Probleme diverse
Probleme propuse
Probleme propuse spre rezolvare acasa
https://www.pbinfo.ro/?pagina=probleme&id=1664
https://www.pbinfo.ro/?pagina=probleme&id=1826
https://www.pbinfo.ro/?pagina=probleme&id=898
https://www.pbinfo.ro/?pagina=probleme&id=23
https://www.pbinfo.ro/?pagina=probleme&id=30
https://www.pbinfo.ro/?pagina=probleme&id=42
https://www.pbinfo.ro/?pagina=probleme&id=1510
https://www.pbinfo.ro/?pagina=probleme&id=1842
http://www.lbi.ro/~carmen/vineri/Subprograme%20iterative(pdf)/Subprograme%2
0Cpp.pdf