Dekompozicija

Uobičajeno da se pri pisanju programa koji treba da reše složenije probleme, problemi razlažu na niz jednostavnijih (elementarnih) problema za čije rešavanje se pišu nezavisni programski moduli (funkcije), a osnovni problem se rešava pozivanjem tako definisanih funkcija.

 

funkcije - main() i druge

Obratite pažnju: Glavni program u C-u je definisan kao funkcija (main).

Princip programiranja na C-u je zasnovan na principu korišćenja funkcija. Do sada smo koristili "gotove" funkcije iz standardnih biblioteka, to su npr: printf(), scanf(), sin(), sqrt(),... Sve ove funkcije smo pozivali iz glavne funkcije koja predstavlja program, a to je main() funkcija.

Međutim, postoji mogućnost da sami gradimo funkcije prema svojim potrebama i zahtevima zadatka koji rešavamo. Korišćenjem funkcija:

- skraćujemo tekst programa i
- olakšavamo čitljivost programa.

Funkcije mogu kao rezultat vratiti neku vrednost, a ako ne vraćaju vrednost tada se takve funkcije deklarišu sa tipom void ispred imena funkcije.

Svaka funkcija se pre upotrebe u programu najavljuje (deklariše). U najavi je dovoljno navesti samo tipove podataka koje funkcija koristi kao argumente ili vraća kao rezultat. - drugi naziv za to je PROTOTIP funkcije

Npr.

float funkcija(int p1, char p2);

float je tip rezultata koji će nam funkcija vratiti

funkcija je identifikator (ime) funkcije

int, char unutar zagrade se kao lista navode argumenti razdvojeni zarezom.

Dakle ova funkcija ima dva parametra, i to prvi je p1 tipa int, a drugi je p2 tipa char.

U programu se prema potrebi koristi funkcija

Npr.

float x;

int a;

char ch;

...

x = funkcija(a,ch); /*POZIV FUNKCIJE */

...

Kada završimo unos teksta programa tada se navode definicije funkcija koje smo najavili i koristili u programu. Svaka funkcija ima "izgled" jednog programa.

(Ne zaboravimo da je i program funkcija main() ).

Oblik definicije funkcije je:

 

tip_rezultata  ime_funkcije(opis argumenata funkcije)

{

telo funkcije

}

 

tip_rezultata je neki od već poznatih tipova podataka i on označava kakav je rezultat koji funkcija vreća.

ime_funkcije je identifikator kao u najavi funkcije

opis argumenata funkcije je lista argumenata funkcije koja sadrži tipove argumenata i identifikatore argumenata. Npr. (int a, char ch, float x) U listi su upisana tri argumenta i to: a, ch i x čiji su tipovi podataka navedeni ispred.

telo funkcije je niz naredbi koje počinju sa deklaracijama promenjivih kao u programu tj. funkciji main().

U telu funkcije naredba za vraćanje rezultata koji funkcija daje je:

return rezultat;

Last modified: Saturday, 17 November 2018, 7:43 PM