15

FUNKCIJE (POTPROGRAMI) i PROCEDURE

  • 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

Page 1: FUNKCIJE (POTPROGRAMI) i  PROCEDURE
Page 2: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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Ć!

Page 3: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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.

Page 4: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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 !!

Page 5: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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

Page 6: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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

Page 7: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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

Page 8: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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!

Page 9: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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)

Page 10: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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

Page 11: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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!

Page 12: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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

Page 13: FUNKCIJE (POTPROGRAMI) i  PROCEDURE
Page 14: FUNKCIJE (POTPROGRAMI) i  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

Page 15: FUNKCIJE (POTPROGRAMI) i  PROCEDURE

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