Subprograme in Limbajul C
Subprograme in Limbajul C
Subprograme in Limbajul C
a. Modularizarea programelor
Pentru rezolvarea unei probleme complexe se poate descompune problema in
subprogram relative independente pentru fiecare subproblema scriinduse cate un
modul de program ( subprogram )
Ex. Se citeste de la tastaturaun tablou unidimensional cu n elemente numere intregi.
Sa se ordoneze elementele tabloului iar apo isa se afiseze elementele ordonate.
Azeasta problema poate fi impartita in 3 subprograme:
- Citirea datelor
- Sortarea elementelor tabloului
- Afisarea elementelor tabloului
b. Reutilizarea codului
Se dau 2 numere naturale a, b. se cere sa se calculeze suma oglinditelor celor doua
numere
Pentru rezolvarea acestei probleme trebuie sa scriem 2 secvente de program
aproape identice care sa calculeze oglinditele numerelor. In acest caz se poate scrie
un subprogram care determina oglinditul pentru un numar oarecare, subo=program
care va fi apelat de 2 ori. Aceste functii pot fi de 2 tipuri:
I. Functii ce returneaza o valoare
= functii care calculeaza ( determina ) un rezultat pornind de la anumite date de
intrare. Acest rezultat este returnat de functie. In acest caz, functia va fi apelata
ca operant intro expresie. Valoarea operandului in ecpresie fiind de fapt valoarea
returnata de functie.
Ex. Suma oglinditelor 2 numere
int ogl=0;
while (x) {
ogl=ogl*10+x%10;
x/=10; corp functie
}
Return ogl;
}
Int main () {
Int a, b;
Cin>>a>>b;
Cout<<oglindit (a)+oglindit (b);
Return 0;
}
Cout<<v[i]<< ” ”;
Cout<<endl;
Aux = v[i];
V[i] = v[j];
V[j] = aux;
Int main ( ) {
Int a [100], n;
Citire ( a, n );
Pentru a puteaapela o functie in cadrul unui program, eat ren=buie in prealabil defiinita dau
declarata. Definirea unei functii inseamna scrierea ei in intregime ( antet si corp ). Declararea
unei functii inseamna sai anuntam existenta, in acest caz se scried oar antetul functiei urmat de
“;”. Aceasta instructiune declarativase mai numeste si prototipul functiei;
Instructiuni corp
Daca functia nu are parametrii, atunci se scriu ‘ () ’ fara a scrie nimic intre ele
Parametrii unei functii constituie o interfata prin intermediul careia functia comunica cu
exteriorul ( primeste si furnizeaza rezultatele )
In corpul unei functii poate sa apara instructiunea ‘ return ’ in una din urnatoarele doua forme:
- return expresie;
- return;
- la intalnirea cu ‘ return ’
- la intalnirea cu ‘ } ’
Apelul functiilor
Se poate realiza:
La apelul unei functii valorile parametrilor actuali sunt atribuite in ordine parametilor formali
corespunzatori
In programele scrise la clasa parametrii actuali pot corespunde cu parametrii actuali ca numar, ordine si
tip ( sa fie posibila conversia implicita de tip )