У претходом поглављу смо се упознали са деловима методе функције. Тада смо поменули аргументе које функција користи. Ти аргументи називају се формални параметри. Они се наводе у заглављу, иза имена функције, унутар заграда. Тело методе се састоји од сложених наредби које се налазе унутар витичастих заграда. Унутар тела методе се налазе локалне променљиве и наредбе.
Листа формалних параметара може садржати један или више параметара који се састоје од назива типова променљивих и имена променљивих, при чему се два или више аргумената раздвајају зарезима. Такође, може се десити да формални параметри не постоје и тада су обавезне празне заграде приликом дефинисања метода. Формални параметри су по својој природи локални и нису видљиви изван функције.
Проучићемо три различита примера. У првом примеру, функција ће имати само један формални параметар, у другом примеру ће имати више формалних параметара, а у трећем примеру функција неће имати формалних параметара.
Пример 1. Написати функцију која рачуна факторијел броја.
//Imamo jedan formalni parametar
int faktorijel(int n)
{
//Početna vrednost za fakt je 1
int fakt = 1;
//Ulazimo u for petlju, moramo proći sve brojeve od 1 do n
for(int i = 1; i <= n; i++)
//Množimo prethodni broj sa sledećim
fakt = fakt*i;
//Vraćamo fakt kao vrednost faktorijela broja n
return fakt;
}
Пример 2. Написати функцију која рачуна аритметичку средину четири задата реална броја.
//Imamo četiri formalna parametra
float najveci(float a, float b, float c, float d)
{
//Pomoćna promenljiva
float s;
//Pomoćnoj promenljivoj dodeljujemo traženu vrednost
s = (a + b + c + d)/4;
//Vraćamo rešenje
return s;
}
Пример 3. Написати функцију која исписује поруку.
string obavestenje()
{
return "Pokrenuli ste funkciju obavestenje.";
}
Уколико функција има повратну вредност, онда унутар тела методе мора да се нађе наредба return. Тип повратне вредности који се нађе иза наредбе return мора одговарати типу података који функција приликом позива враћа. Одмах после наиласка на наредбу return и враћања вредности, метода се завршава. |
Тело методе функције може бити и празно. У том случају говоримо само о декларацији функције - знамо да она постоји, коју повратну вредност има и које аргументе, али не знамо како она заправо изгледа и шта ради. Не постоји минимална дужина тела методе, као што не постоји ни максимална. Ипак, треба водити рачуна о томе да функција буде разумљива и прегледна.
Приметимо: У првом примеру локална променљива је fakt, док је у другом примеру локална променљива ѕ. Све функције до сада приказане у примерима имале су тело функције.
Пример 4. Написати функцију која рачуна максимум два броја.
//Imamo dva formalna parametra
int maksimum(int a, int b)
{
//Početna vrednost za max je a
int max = a;
//Ako je max manje od b
if(max < b)
//Tada je max jednako b
max = b;
//U protivnom, ako max nije manje od b
else
//Tada je max jednako a
max = a;
//Vraćamo max kao maksimum dva zadata broja
return max;
}