Sunteți pe pagina 1din 5

Referat la informatică

TEMA: “Funcțiile și proprietățile lor”

Realizat de: Bulat Andreea, cl. a XI-a “C”


Verificat de: Leontieva Ecaterina
Cand un program devine foarte complex, acesta trebuie divizat in mai multe
parti. In acest mod programul devine mult mai usor de gestionat.
Pentru a putea diviza un program, se vor folosi functiile. O functie contine
instructiuni clare despre o anumita sectiune dintr-un program.
Aceasta este sintaxa unei functii:
tipul_de_data numele_functiei(tipul_de_parametrii) {corpul_functiei}
Exemplu:

int functie(int x)("tip1 parametru1, tip2 parametru2, ..., tipN parametruN")


{corpul_functiei}

Functiile mai sunt numite si subprograme


Exista doua tipuri de functii/programe:
-program apelant;
-program apelat;
Programul apelant poate fi un subprogram sau programul principal.
Programul principal este definit prin functia main().
Programul apelat poate fi doar un subprogram.

In urmatoarele randuri este un exemplu care ajuta la intelegerea mai buna a


programului apelant si cel apelat:
Gandeste-te la o firma.
O firma este formata dintr-un sef care are in subordine mai multi angajati.
Seful intotdeauna ii va trage la raspundere pe angajatii acestuia. Angajatii
niciodata nu vor putea sa il traga la raspundere pe sef.
In acest caz, il putem numi pe sef "Programul principal" care poate doar sa
apeleze.

Seful poate sa angajeze si un subsef. Acest subsef poate la randul lui sa fie apelat
de catre sef, dar si sa apeleze angajatii pe care acesta ii are in subordine.
In acest caz il putem numi pe subsef "program sau subprogram" deoarece poate
atat sa apeleze cat si sa fie apelat.

O functie nu poate fi definita in interiorul unei alte functii.


De regula, functiile se definesc inaintea functiei main().
Toate functiile pot fi apelate sau apelante, dar functia main()
va detine intotdeauna controlul.

EXEMPLU:

#include <iostream>
using namespace std;
int functie(int x){
cout<<x;
}

int main(){
int a=6;
functie(a);
return 0;}

6

Acum, sa explicam fiecare rand:


-"int functie(int x)" | acesta este antetul functiei
-"int" inseamna ca functia lucreaza cu numere intregi.
-"functie" este numele functiei (puteti pune orice nume
doriti).
-"(int x)" reprezinta tipul de parametrii formali pe care o sa ii
introduceti.
Est e o variabila care nu trebuie initializata.
Puteti introduce cati parametrii formali doriti separandu-i
prin virgula.
-intre aceste paranteze se afla corpul functiei.
printf("%d",x);
-"x" va fi inlocuit cu "x" din "int functie(int x)".
int a=6;
-am declarat o variabila
functie(a);
-am apelat functia "functie".
-"a" este un parametru actual si va inlocui "x" din "int
functie(int x)" care la randul lui va inlocui "x" din
"printf("%d",x);".
In concluzie, se va afisa 6.

Funcţii void
În principiu, o astfel de funcţie arată ca funcţia main, cu deosebirea că header-ul
său foloseşte cuvântul cheie void în locul lui int. În plus, o funcţie void nu conţine
nicio instrucţiune de tipul return 0; aşa cum se întâmplă în cazul lui main,
deci nu întoarce nicio valoare către apelant.

Apelul funcţiilor (invocarea)

Un apel de funcţie într-un program înseamnă execuţia corpului funcţiei apelate.


Şablonul sintactic apelului unei funcţii este următorul:

NumeFuncţie(ListăParametriActuali);

Parametrii dintr-un apel de funcţie se numesc parametri actuali. Parametrii


care apar în header-ul funcţiei se numesc parametri formali.

În momentul apelului unei funcţii, parametrii actuali sunt transmişi parametrilor


formali conform poziţiei lor, de la stânga la dreapta, iar apoi controlul este
transferat primei instrucţiuni din corpul funcţiei. Când se încheie şi execuţia
ultimei instrucţiuni din funcţie, controlul este transmis punctului în care s-a făcut
apelul.

Funcţii recursive
Programele pe care le-am scris până acum sunt structurate sub forma unor
funcţii care apelează alte funcţii într-o manieră ierarhică. În unele aplicaţii, este util
ca funcţiile să se poată apela ele însele. O funcţie recursivă este o funcţie care se
autoapelează.

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