No iunea desubprogram
ț :
Subprogramele sunt părţi ale unui program, identificabile prin nume, care se pot activa la cerere prin
intermediul acestor nume.Prezenţa subprogramelor implică funcţionarea în strânsă legătură a două noţiuni:
definiţia unui subprogram şi apelul unui subprogram.Definiţia unui subprogram reprezintă de fapt
descrierea unui proces de calcul cu ajutorul variabilelor virtuale (parametri formali) iar apelul unui
subprogram nu este altceva decât execuţia procesului de calcul pentru cazuri concrete (cu ajutorul
parametrilor reali, (efectivi, actuali) ).
Un subprogram (funcţie) are o definiţie şi atâtea apeluri câte sunt necesare.
3.
✓ Defini iaunui subprogram
ț reprezintă de fapt
descrierea unui proces de calcul cu ajutorul
variabilelor (parametri formali);
✓ Apelul unui subprogram nu este altceva decât
execu ia procesului de calcul pentru cazuri
ț
concrete.
4.
No iunea desubprogram
ț :
Subprogramele sunt părţi ale unui program, identificabile prin nume, care se pot activa la cerere prin
intermediul acestor nume.Prezenţa subprogramelor implică funcţionarea în strânsă legătură a două noţiuni:
definiţia unui subprogram şi apelul unui subprogram.Definiţia unui subprogram reprezintă de fapt
descrierea unui proces de calcul cu ajutorul variabilelor virtuale (parametri formali) iar apelul unui
subprogram nu este altceva decât execuţia procesului de calcul pentru cazuri concrete (cu ajutorul
parametrilor reali, (efectivi, actuali) ).
Un subprogram (funcţie) are o definiţie şi atâtea apeluri câte sunt necesare.
Subprogramele sunt unită i de program care
ț :
• au un algoritm propriu
• pot fi proiectate independent
• pot fi scrise independent
• pot fi compilate independent
• nu se pot executa independent ci numai în cadrul unui program (apel)
5.
Avantajele utilizării subprogramelor
oelaborarea algoritmilor prin descompunerea problemei ce trebuie a fi
rezolvată în mai multe probleme mai simple – în acest caz vom rezolva
probleme mai simple;
o modularizarea problemei (descompunerea in subprobleme);
o reutilizarea codului - subprogramul odată scris poate fi utilizat şi în
alte programe;
o reducerea numărului de erori care apar scrierea programului;
o depistarea şi corectarea cu uşurinţă a erorilor;
o realizarea unor programe uşor de urmărit.
6.
Clasificarea subprogramelor
1. 1.Subrograme standard (subprograme de sistem) utilizarea lor presupune includerea fi ierului ce con ine prototipul
ș ț
dorit, exemplu:
#include <math> i apelarea subrogramului func iei.
ș ț
double rezultat = sqrt(25.0);
7.
Clasificarea subprogramelor
1. Subrogramestandard (subprograme de sistem) utilizarea lor presupune includerea fi ierului ce con ine prototipul
ș ț
dorit, exemolu:
2. Subprograme definite de utilizator acestea sunt scrise de programator pentru rezolvarea unor cerin e specifice.
ț
Utilizarea lor presupune precizarea prototipului, definirea i apelul.
ș
int suma(int a, int b) {
return a + b;
}
// Apelul func iei definite de utilizator
ț
int rezultat = suma(3, 5);
8.
Clasificarea subprogramelor
1. Subrogramestandard (subprograme de sistem) utilizarea lor presupune includerea fi ierului ce con ine prototipul dorit,
ș ț
exemolu:
2. Subprograme dedfinite de utilizator acestea sunt scrise de pprogramator pentru rezolvarea unor cerin e specifice.
ț
Utilizarea lor presupune precizarea prototipului, definirea i apelul.
ș
3. Subprograme apelate ca instruc iuni procedurale
ț func ii void, returnează(sau nu) o valoare prin intermediul
ț
parametrilor. Apelul se face prin nume i parametri.
ș
#include <iostream>
void afisareMesaj() {
cout << "Salut!n";
}
// Apelul func iei void
ț
afisareMesaj();
9.
Clasificarea subprogramelor
1. Subrogramestandard (subprograme de sistem) utilizarea lor presupune includerea fi ierului ce con ine prototipul dorit,
ș ț
exemolu:
2. Subprograme dedfinite de utilizator acestea sunt scrise de pprogramator pentru rezolvarea unor cerin e specifice.
ț
Utilizarea lor presupune precizarea prototipului, definirea i apelul.
ș
3. Subprograme apelate ca instruc iuni procedurale
ț func ii void, returnează(sau nu) o valoare prin intermediul
ț
parametrilor. Apelul se face prin nume i parametri.
ș
4. Subprograme apelate ca operanzi, returnează un rezultat chiar prin numele său i eventual alte rezultate prin parametri.
ș
Apelul se face în interiorul unei expresii.
int inmultire(int a, int b) {
return a * b;
}
// Apelul func iei într-o expresie
ț
int rezultat = 2 + inmultire(4, 5);
10.
Un subprogram, lafel ca i programul, este format din
ș :
• Antet
• Corpul subprogramului
11.
Pentru a executao func ie, aceasta trebuie apelată.
ț
Apelul unei func ii
ț se face scriind numele func iei, urmat de paranteze
ț
rotunde() i de o listă de parametri.
ș
Parametri sunt date pe care func ia apelantă le transmite func iei apelate.
ț ț
13.
Să se calculezeşi să se afişeze media aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care citeşte două numere reale x şi y, calculează media lor
aritmetică şi afişează rezultatul obţinut.
14.
Variabilele în C++
Variabileledintr-un program C++ pot fi clasificate în:
1. Variabile globale;
2. Variabile locale;
3. Parametri formali.
15.
Variabilele în C++
Variabileledintr-un program C++ pot fi clasificate în:
1. Variabile globale :
• Se declară în afara oricărei func ii
ț din program;
• Sunt alocate static, în segmentul de date al programului;
• (de regulă) sunt ini ializate implicit, cu valoarea 0
ț ;
• Au domeniul de vizibilitate tot fi ierul sursă, adică pot fi folosite din
ș
locul în care au fost definite i până la sfâr itul fi ierului
ș ș ș ;
• Au alocat spa iu în memorie tot timpul rulării programului.
ț
16.
Să se calculezeşi să se afişeze media aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care citeşte două numere reale x şi y, calculează media lor
aritmetică şi afişează rezultatul obţinut. Toate variabilele folosite sunt variabile globale.
17.
Variabilele în C++
Variabileledintr-un program C++ pot fi clasificate în:
1. Variabile globale;
2. Variabile locale;
• Se declară doar în interiorul unei func ii
ț din program, inclusiv în func ia
ț main();
• Sunt alocate implicit pe stiva sistemului;
• Nu sunt ini ializate implicit
ț , dacă nu sunt ini ializate explicit de programator,
ț
re in o valoare oarecare, numită
ț valoare reziduală;
• Au domeniul de vizibilitate la nivelul blocului în care au fost declarate, adică pot
fi folosite doar în cadrul acelui bloc de instruc iuni
ț ;
• Au alocat spa iu în memorie
ț numai în timpul rulării blocului respectiv de
instruc iuni.
ț
18.
Variabilele în C++
Variabileledintr-un program C++ pot fi clasificate în:
1. Variabile globale;
2. Variabile locale;
3. Parametri formali – reprezintă o cale de comunicare între modulul apelant i
ș
func ia apelată.
ț
Pot fi:
• Parametri de intrare corespund datelor de intrare din analiza problemei:
Sunt valori transmise de modulul apelant către func ia apelată
ț ;
Se transmit prin valoare;
Se declară ca orice variabilă.
• Parametri de ie ire(rezultate)
ș corespund datelor de ie ire din analiza
ș
problemei:
Se transmit prin referin ă.
ț
Parametri de intrare i ie ire sunt parametri formali, transmi i prin adresă, dar care
ș ș ș
sunt folosi i i pentru a transmite date de intrare.
ț ș
19.
Să se calculezeşi să se afişeze media aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care primeşte ca parametri două numere reale x şi y, calculează
media lor aritmetică şi afişează rezultatul obţinut.
20.
Să se calculezeşi să se afişeze media aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care primeşte ca parametri două numere reale x şi y, calculează
media lor aritmetică şi afişează rezultatul obţinut.
21.
În cadrul parametrilortransmişi prin referinţă, în lista de parametri formali,
declararea parametrului este precedată de simbolul ampersand (sau epershand,"&"). În
acest caz, blocul apelant transmite blocului apelatadresa la care este stocat în memorie
parametrul actual.
În cazul parametrilor transmişi prin referinţă, parametri formali sunt parametri de
intrare-ieşire, deoarece sunt folosiţi pentru a transmite date dinspre blocul apelant către
blocul apelat, dar şi invers, la terminarea execuţiei, blocul apelat transmite date către
blocul apelant.
22.
Să se calculezeşi să se afişeze media aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care primeşte ca parametri două numere reale x şi y şi care
furnizează prin al treilea parametru media lor aritmetică.
23.
Să se calculezeşi să se afişeze media aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care primeşte ca parametri două numere reale x şi y şi care
furnizează prin al treilea parametru media lor aritmetică.
24.
Funcţiile care returneazăo valoare se numesc şi funcţii operand.
O funcţie operand este un subprogram care returnează un rezultat prin
chiar numele său, şi eventual şi alte rezultate, prin intermediul parametrilor.
Tipul unei funcţii operand este dat de tipul valorii returnate de către
funcţie.
25.
Să se calculezeşi să se afişeze media
aritmetică a două numere reale x şi y. Se va
folosi o funcţie calcul care primeşte ca
parametri două numere reale x şi y şi care
furnizează prin al treilea parametru media lor
aritmetică.