Upload
andra
View
39
Download
4
Embed Size (px)
DESCRIPTION
FUNKCIJE (POTPROGRAMI) i PROCEDURE. ŠTA JE TO FUNKCIJA?. DEO PROGRAMA KOJI ZAMENJUJE NEKU GRUPU NAREDBI OSNOVNOG PROGRAMA SAMOSTALNA PROGRAMSKA CELINA OLAKŠAVA PISANJE SLOŽENIH PROGRAMA, GDE VIŠE PUTA TREBA PISATI ISTI KOD OSNOVNI PROGRAM ZOVE NEKU FUNKCIJU U POMOĆ!. - PowerPoint PPT Presentation
Citation preview
DEO PROGRAMA KOJI ZAMENJUJE NEKU GRUPU NAREDBI OSNOVNOG PROGRAMA
SAMOSTALNA PROGRAMSKA CELINA OLAKŠAVA PISANJE SLOŽENIH PROGRAMA, GDE
VIŠE PUTA TREBA PISATI ISTI KOD OSNOVNI PROGRAM ZOVE NEKU FUNKCIJU U
POMOĆ!
JEDINSTVENO IME (IDENTIFIKATOR)JEDINSTVENO IME (IDENTIFIKATOR)
PozivaPoziva se u se u osnovnom programu osnovnom programu navođenjem navođenjem IMENAIMENA i i STVARNIH STVARNIH parametara parametara u zagradi razdvojenih u zagradi razdvojenih zapetom!zapetom!
Može se pozivati više puta i koristiti u Može se pozivati više puta i koristiti u raznim programima po potrebi, kada raznim programima po potrebi, kada treba izračunati nešto ili uraditi neki deo treba izračunati nešto ili uraditi neki deo programa.programa.
Primer: minimum dva cela broja
functionfunction min (a,b :integer) :integer;min (a,b :integer) :integer; beginbegin if a<b thenif a<b then min:min:=a;=a; elseelse min:=bmin:=b end;end;
IME FUNKCIJE PARAMETRI FUNKCIJE
TIP REZULTATA
IMENU FUNKCIJE IMENU FUNKCIJE DODELIMO REZULTAT DODELIMO REZULTAT !!
Promenljive koje koristimo su LOKALNELOKALNE i ne vide se u osnovnom programu!
Gde pišemo kod funkcije u programu?
POSLE ODELJKA VAR ZA NAVOĐENJE PROMENLJIVIH U PROGRAMU
program minimum_2_broja;var min1, x, y;function begin writeln (‘Unose se dva broja:’); readline (x, y); min1:=min (x,y); writeln (‘Najmanja vrednost dva broja:’,min1)end.
……………………………………………………………………..
stvarni parametristvarni parametri
Parametri navedeni pri pozivu funkcije se nazivaju STVARNI parametri, a parametri navedeni u opisu funkcije nazivaju se FORMALNI parametri.
function min (a,b:integer) :integer;
U programu:min1:=min (x, y);
STVARNI PARAMETRISTVARNI PARAMETRI
Naredbe potprograma (function) se izvršavaju kada u osnovnom programu dođe do poziva funkcije!
Primer: s:s:= suma (m,n);= suma (m,n);
U toku izvršavanja funkcije sumasuma parametrima mm i nn se dodeljuju stvarne, učitanestvarne, učitane, ,
proizvoljneproizvoljne vrednosti vrednosti :: s:s:= suma (2,10) ;= suma (2,10) ;
m i n dobijaju vrednosti 2 i 10!m i n dobijaju vrednosti 2 i 10!
procedureprocedure razmeni ( razmeni ( varvar a,b: integer); a,b: integer);
procedureprocedure MinMax( a, b: integer; MinMax( a, b: integer; varvar min,max:integer)min,max:integer)
promenljive a i b će menjati svoje vrednostipromenljive a i b će menjati svoje vrednosti
Čuvaju izlazne Čuvaju izlazne rezultate, DVA rezultate, DVA REZULTATA!REZULTATA!
ulazni podaci ulazni podaci (KONSTANTNI, (KONSTANTNI, NEPROMENLJIVI)NEPROMENLJIVI)
Procedure su slične kao funkcije, zar ne?! Razlike su sledeće:
◦ Mogu imati više izlaznih rezultata ili nijedan (tada obavljaju neki poseban zadatak,npr.stampanje, razmena vrednosti dva broja)
◦ U opisu procedure imamo dve vrste parametara!
Vrednosni parametri Vrednosni parametri – ulazni podaci ulazni podaci koje ne želimo da menjamo u toku izvršavanja procedure – dobijaju vrednosti stvarnih (unetih) parametara u programu (kao formalni kod funkcija)
Promenljivi parametri Promenljivi parametri – obično čuvaju izlazne izlazne rezulate rezulate procedure – koriste ključnu reč VARVAR
Primer PROCEDURE :PROCEDURE :
procedureprocedure razmeni (var a,b: integer);var t:integer; begin t:=a; a:=b; b:=t end;
Nema izlaznog rezultata, samo se menjaju vrednosti!
program Ime_programa;var
procedure
begin {*početak programa*}………….razmeni(a,b); razmeni(a,b); ILI NEKA DRUGA PROCEDURAMinMax (a,b,min,max);MinMax (a,b,min,max); writeln (min,max)end.
promenljive programa
naredbe procedure
Primer FUNKCIJEFUNKCIJE: n-ti stepen celog broja a
function stepen ( a,n:integer) :integer;var an,i:integer; a*a*a* …*abegin an:=1; for i:=1 to n do n puta an:=an*a;
stepen:=an end;
dodeljujemo izradodeljujemo izraččunatu unatu vrednost vrednost
Svaki objekat opisan u funkciji ili proceduri smatra se LOKALNIM i može se koristiti samo u okviru funkcije ili procedure. Nedostupan je u osnovnom programu.
Svaki objekat koji je opisan u osnovnom programu se smatra GLOBALNIM i može se koristiti i u okviru opisa funkcije ili procedure
procedure P; var b:integer; procedure P;var a:integer; beginbegin end;.....end;
globalnaglobalna
lokalna