Pascal: Funkcije i procedure

U Pascalu postoje dva tipa potprograma, funkcije i procedure. Razlike je sto funkcije vracaju neku vrednost u glavni program, dok procedure jednostavno izvrse ono zbog cega su pozvane. Inace glavni razlog za koriscenje potprograma je bolja organizacija. Ako neki proces ponavljamo nekoliko puta na vise mesta u programu, logicno je da ga napisemo jednom i kasnije pozivamo kada nam treba. Takodje, ovakve potprograme mozemo koristiti kasnije i u drugim programima. Pogledajmo nekoliko primera.

program Funkcije;
var
a,b,v: integer;

//funkcija koja vraca veci broj
function max(x,y:integer): integer;
//lokalna varijabla unutar funkcije
var
calc: integer;
begin
if (x > y) then calc := x else calc :=y;
max := calc;
end;

//glavni program
begin
write('Unesite prvi broj: ');
readln(a);
write('Unesite drugi broj: ');
readln(b);
writeln('--------------------');
//pozivamo funkciju
v := max(a,b);
writeln ('Veci broj je: ',v);
readln;
end.

U ovom primeru smo najpre deklarisali funkciju max koja od dva poslata broja vraca veci. Zatim smo je pozvali iz glavnog programa da bi odredili koji je broj veci od dva uneta, i na kraju ispisali rezultat na ekranu. Kao sto ste mogli da vidite, funkcije se definisu sintaxom:

function ime(argumenti:tip; argumenti2:tip2;..):izlazni tip

.. i na kraju vraca rezultat u formatu: ime := neki proracun. Ona moze sadrzati i lokalne varijable koje smo u nasem primeru ubacili samo radi demonstracije, inace nije bilo neophodno. Pogledajmo jos jedan primer.

program Funkcije2;
var
a,b:integer;
//direktno vracena funkcija
function god(a,b:integer):integer;
begin
god := a-b;
end;

//glavni program
begin
write('Unestite vase godiste: ');
readln(a);
write('Unestite aktuelnu godinu: ');
readln(b);
writeln('--------------------');
writeln('Ove godine punite ',god(b,a),' god.');
readln;
end.

Ovaj program je vrlo slican, i demonstrira vracanje rezultata u jednoj liniji bez dodatnih internih varijabli. Takodje i pozivanje funkcije direktno iz druge komande ili izraza, bez dodatnih spoljnih varijabli.

Vise o potprogramima u Pascalu mozete pogledati ovde.

Posted on 2016/11/13, in Pascal, Programski jezici, Tutorijali. Bookmark the permalink. 3 Comments.

  1. Hvala windu!

    Like

  2. odličan blog za učenje programiranja….

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: