FUNCTION - ФУНКЦИИ


Функциите - FUNCTION се дефинираат на следниот начин:

function IME (lista_na_argumenti:tip_na_argumenti) : tip_na_rezultat;

lista_na_argumenti - чии вредности ги добива од местото на повикувањето (влезни аргументи).

Доколку листата на влезни аргументи има повеќе променливи од различни типови тогаш
се раздвојуваат со ;
Пример функција со два влезни аргументи А и B - integer, два влезни аргументи C и D - real и
излезот кој функцијата ќе го врати во главниот програм е real ( излезен аргумент)
изгледа вака:

Function test(a , b:integer ; c , d:real) : real;
var  lokalni_promenlivi;
         //локални променливи кои важат само за функцијата
begin
   
naredbi;
end;  

Пример за функција:
 
function zbir(m:integer):integer;
    var i,zb:integer;
    begin
        zb:=0;
        for i:=1 to m do
            zb:=zb+i;
        zbir:=zb;
end;
 

Комплетни примери со функција
и процедура:
function otporfunc(r1,r2:real;sp:string):real;        //после implementation

begin
if (sp='s') or (sp='S') then
    otporfunc:=r1+r2
else
    otporfunc:=(r1*r2)/(r1+r2);
end;

procedure TForm1.Button2Click(Sender: TObject);         // процедура на клик на button2
var g1,g2:integer;
    r1,r2,r3:real;
    sp,srez:string;
begin
    val(edit1.Text,r1,g1);
    val(edit2.Text,r2,g2);
    sp:=edit3.Text;
    if (g1=0) and (g2=0) and (sp<>' ') then
        begin
            r3:=otporfunc(r1,r2,sp);
            edit4.Text:=floattostr(r3)
        end
    else
        showmessage('Nekoj podatok e prazen !!!');
end;
end.