Functia este un concept important in matematica si in programare. In limbajul C prelucrarile sunt organizate ca o ierarhie de apeluri de functii. Orice program trebuie sa contina cel putin o functie, functia main. Functiile incapsuleaza prelucrari bine precizate si pot fi reutilizate in mai multe programe. Pentru a putea fi utilizata intr-un program, o functie trebuie sa fie definita ( sau declarata ) si apelata. Definitia
unei functii are urmatoarea forma:
Functiile nu pot fi definite incuibat ( ca in Pascal ). Daca
functia nu returneaza nici un rezultat si nu primeste parametri, definitia
va fi:
O functie void fara parametri poate prelucra variabilele globale si cele locale. Daca mai multe functii void fara parametrii trebuie sa aiba acces la aceleasi date, acestea trebuie sa fie variabile globale. Declaratia
unei functii se
face prin precizarea prototipului functiei:
La
apelul unei functii, se executa corpul sau, dupa care se revine in functia
apelanta, la instructiunea urmatoare apelului.
In
cazul functiilor void fara parametri, apelul se face prin:
Observatii: De ce discutam acum despre functii, si doar despre cele void fara parametrii? Pentru a intelege functiile cu parametrii este necesar sa avem notiunea pointerilor - dar pana acolo mai avem putin. Vom incepe insa sa discutam despre tablouri, structuri de date derivate, cu multiple aplicatii. Programele vor creste in complexitate. Asa incat in dezvoltarea lor, vom aplica tehnica Top Down sau Stepwise Refinement:
1.Sa
se tipareasca pe ecran un mesaj de inceput si unul de sfarsit, separate
de 15 linii de '*'. Fiecare linie va fi tiparita de o functie void fara
parametri. Sa se observe ca fiecare functie incapsuleaza un subpas din
rezolvarea problemei.
2.Sa
se calculeze si sa se afiseze valoarea expresiei (a-m)n/(n-a)m,
a,m,n fiind cititi de la tastatura, astfel incat intregii m,n sa fie pozitivi,
iar realul a diferit de n. Citirea, calculul si afisarea vor fi concepute
ca functii void fara parametri.
3.Sa se defineasca functia calcul, void fara parametri, care calculeaza si afiseaza valoarea expresiei xm+n/(x+m+n)m-n, x, m, n fiind variabile globale. Folosind functia calcul sa se scrie programul care afiseaza valoarea expresiei de mai sus pentru x luand toate valorile intregilor dintre n si m, inclusiv. Intregii m,n se citesc de la tastatura, astfel incat sa fie pozitivi si m>n. Copyright © 2001-2002. Carmen Holotescu All rights reserved. Published by Timsoft |