Funkcije

Funkcije su sastavni delovi programa. Kad je reč o složenijim programskim modulima funkcije omogućavaju elementarizacija složenog problema tako što se proizvoljno strukturišu u kodu veće modularnosti. U dosadašnjim primerima naredbe koje se izvršavaju su sastavni deo funkcije  main() -osnovni deo koji sadrže sve programe, prva funkcija koja se poziva prilikom startovanje jednogprograma napisan u programskom jeziku  C++.

Funkcije predstavljaju skup naredbe koje se izvršavaju prilikom svakog njihovog poziva. Poziv funkcije je naredba koja procesoru signalizira da je potrebno prekinuti tok izvršavanje naredbe programa , upisati  lokaciju unutar programa i pozivati adekvatnu funkcije. Nakon završetka pozvane funkcije, program nastavlja sa izvršavanjem od mesta gde je funkcija pozvana.

Sintaksa za kreiranje funkcije:

tip ime(parametar1, parametar2, parametar3, parametar4, …)
{
    naredba1;
    naredba2;
    naredba3;
    …..
    naredbaN;
}

Pri čemu, tip je tip podatka koji se vraća kao rezultat funkcije  (ili void, ako funkcija ne vraća rezultat), parametar1, parametar2, …, su parametri za poyiv funkcije ,  (tip i ime), odvojeni zarezom, dok naredba1, naredba2, …, naredbaN,naredbe koje se izvršavaju prilikom svakok poziva funkcije.Lista parametara nije obavezna , primer funkcija  main().

Funkcija omogućava deljenje programa na sitnije delove – koji sami za sebe su veoma jednostavni za rešavanje.Kod strukturnog programiranja korišćenjem funkcija, umanjuje se složenost problema koji se rešava.

Pr.

Koristeći funkciju napravi program koji izraćunava N!?

Rešenje:

#include <iostream>
using namespace std;
int factorial(int n)
{
int res = 1;
for (int i=2; i<=n; i++)
res *= i;
return res;
}
int main()
{
int n = 4;
int f = factorial(n); //f = 24
cout << f << endl; //stampa '24' (1*2*3*4)
return 0;
}
Kao prvo,primećujemo da funkcija  factorial(int n) jе deklarirana pre funkcije  main(). Kad je C++ u pitanju , to je obavezno –nemože se pozvati funkcija koja predhodno nije deklarisana.
Unutar funkcije  main(), deklarišemo promenljivo f tipa int i dodeljujemo joj vrednost faktorijal(4). Očigledno  „factorial(4)“ nije ceo broj kao što smo očekibali prilikom dodeljivanja vrednost celobrojne promenljive, to je poziv do funkcije  factorial(int n). U tom momentu procesor upisuje dokle je stigao sa izvršavanjem naredbe i zatim poziva funkciju  factorial(int n). Pozivanje se vrši na taj način što sistem kopira vrednost sa kojom je pozvana funkcija  (4) u adekvatni parametar  (n). Zatim se ponavljaju naredbe funkcije factorial(int n).Ova funkcija deklariše novu promenljivu res, izračunava određene izraze i vraća rezultat izračunavanja. Zato što je promenljiva res deklarirana lokalno  može se upotrebljavati samo u ovu funkciju.
Napomena:
 C++ omogućava deklariranje promenljive na dva načina: globalno (izvan funkcije) i lokalno (unutar funkcije). Promenljive koje su deklarisane kao globalne  mogu se koristiti bilo gde u programu (unutar bilo koje funkcije ili blok). Promenljive koje su deklarirane lokalno mogu se koristiti samo u funkciju u kojoj su deklarisane (i to nakon deklarisanja).
Funkcija koja se poziva je definisana kao  „int factorial(n)“, znači treba da vrati rezultat ceo broj.  Rezultat izvršavanja funkcije upisuje se kao vrednost promenljive f ( definisana u main() funkciju). U gornjem primeru , 24, je rezultat izvršavanja funkcije  factorial(4), direktno se upisuje kao vrednost promenljive  f („int f = 24;“).

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišete koristeći svoj WordPress.com nalog. Odjavi se /  Promeni )

Fejsbukova fotografija

Komentarišete koristeći svoj Facebook nalog. Odjavi se /  Promeni )

Povezivanje sa %s