Sunteți pe pagina 1din 23

SUBPROGRAME

PROF. MARINESCU CRISTINA


NOȚIUNI
Subprogramul este o secvenţă de instrucţiuni care
rezolvă o anumită sarcină şi care poate fi descris separat
de blocul rădăcină şi lansat în execuţie din cadrul unui
bloc ori de câte ori este nevoie.

DEFINIȚIE
Un subprogram, la fel ca şi programul, este format din:
• antet
• corpul subprogramului.

Declararea, definirea şi apelul


subprogramelor
Pentru a executa o funcţie, aceasta trebuie apelată. Apelul unei funcţii se
face scriind numele funcţiei, urmat de paranteze rotunde () şi, eventual, de o
listă de parametri.
Parametri sunt date pe care funcţia apelantă le transmite funcţiei apelate.
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.

EXEMPLU_1
REZOLVARE_1
O variabilă este vizibilă numai în interiorul subprogramului
în care aceasta a fost declarată, începând din momentul
declarării ei.
Variabilele declarate în afara subprogramului sunt vizibile în
toate subprogramele care urmează declarării. Din acest punct
de vedere, variabilele se împart în două categorii:
Variabile Locale (Interne) sunt recunoscute din momentul
declarării lor şi sunt vizibile numai în interiorul subprogramului
în care au fost declarate;
Variabile Globale (Externe) sunt vizibile în toate
subprogramele, din momentul declarării lor.

Variabile locale şi variabile


globale
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 calculează media lor
aritmetică şi afişează rezultatul obţinut.
Valorile variabilelor x şi y sunt citite în funcţia
apelantă.

EXEMPLU_2
VARIABILE
Variabile locale şi
variabile globale
N este variabilă globală și poate fi
accesată în cadrul oricărei funcţii,
iar x este variabilă locală, vizibilă
doar în cadrul funcţiei f1().
Se va afişa:
4
10
5

EXEMPLU_3
Se afişează 77 .
N este variabilă globală și poate fi
accesată în cadrul oricărei funcţii.
x este variabilă locală și poate fi
accesată doar în cadrul funcţiei f1()
p este parametru formal și poate fi
accesat doar în f1().

EXEMPLU_4
Parametri formali apar în antetul subprogramului şi sunt
utilizaţi de subprogram pentru descrierea abstractă a unui
proces de calcul.
Parametri actuali apar în instrucţiunea de apelare a uni
subprogram şi sunt folosiţi la execuţia unui proces de calcul
pentru valori concrete. Parametrii formali nu sunt variabile.
O variabilă este caracterizată de nume, tip şi adresă.
Legarea unui parametru formal la o adresă se realizează în
timpul execuţiei instrucţiunii de apelare a subprogramului.

Parametri formali şi
parametri actuali
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.

EXEMPLU
REZOLVARE
• Identificati parametrii
formali si efectivi
• Care este rezultatul apelului
functiei afis()
• Care este rezultatul de dupa
apelul functiei afis()

EXEMPLU
FUNCTII PROCEDURALE
Functiile procedurale (void) - nu returneaza niciun rezultat
sau returneaza prin parametri

CLASIFICARE
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.

FUNCŢII OPERAND
EXEMPLU
Identificarea variabilelor
Ce va afisa programul ?

Aplicatie_1
Identificarea variabilelor
Ce va afisa programul ?

Aplicatie_2
1. Sa se calculeze aria unui patrat utilizand functia
aria_patrat();
2. Sa se calculeze aria unui cerc utilizand functia aria_cerc();
3. Sa se calculeze aria unui triunghi utilizand functia
aria_triunghi();

Indicatii : #include<iomanip.h>
float pi=3.14159;
Comentarii : /*…………….*/

Aplicatii Propuse

S-ar putea să vă placă și