You are on page 1of 37

Prof. dr Nikola Klem, dipl.el.in.

Graevinski fakultet
Univerziteta u Beogradu
I NFORMATI KA I I
Lek c i j a V
NAREDBE ZA KONTROLU
TOKA
Beograd, k. god. 2006/2007.
Nikola Klem
2006-2007
2
Relacioni izrazi
Sastoje se od dva izraza povezana
relacionim operatorom.
Relacioni operatori dozvoljavaju ispitivanje
odnosa dva aritmetika izraza.
Rezultat relacionog izraza je uvek logika
vrednost.
Nikola Klem
2006-2007
3
Relacioni izrazi
Relacioni operatori su:
> vee od,
>= vee od ili jednako,
< manje od,
<= manje od ili jednako,
== jednako,
~= nije jednako.
Nikola Klem
2006-2007
4
Logiki izrazi
Sastoje se od dva ili vie operanada
povezanih logikim operatorima.
Nikola Klem
2006-2007
5
Logiki izrazi
Logiki operatori su:
& i - rezultat je istinit samo ako su oba
logika operanda istinita,
| ili - rezultat je istinit ako je bilo koji od
operanada (ili oba) istinit,
~ ne - negacija za pravljenje inverzije,
xor (ekskluzivno ili) - rezultat je istinit ako
je bilo koji od operanada (ali ne oba)
istinit.
Nikola Klem
2006-2007
6
Logiki izrazi
Relacioni izrazi povezani logikim
operatorima moraju biti napisani u
zagradama.
Nikola Klem
2006-2007
7
NAREDBE ZA KONTROLU TOKA PROGRAMA
Naredbe za kontrolu toka programa mogu
se podeliti u dve grupe:
Naredbe za grananje,
Naredbe za ponavljanje (formiranje
ciklusa).
Nikola Klem
2006-2007
8
Naredbe za grananje
Jednograna IF naredba,
Dvograna IF naredba,
Viegrana IF naredba,
Naredba SWITCH-CASE.
Nikola Klem
2006-2007
9
NAREDBE ZA PONAVLJANJE
Brojake petlje (ciklus) FOR naredba,
Uslovne petlje (ciklus) WHILE
naredba.
Nikola Klem
2006-2007
10
Jednograni if
Opti oblik jednogranog if bloka u Matlabu
je:
if logiki izraz
----------------------------
-----------------------------
blok naredbi
----------------------------
----------------------------
end
Nikola Klem
2006-2007
11
Jednograni if
if logiki izraz
-----------------------------
blok naredbi
----------------------------
end
Ako je logika vrednost izraza istinita
izvravaju se naredbe u bloku, a ako nije
one se ne izvravaju. (Izvravanje programa
se nastavlja posle naredbe end.)
Nikola Klem
2006-2007
12
Ulazak voza u stanicu
zaustavlja se
DA
NE
Nikola Klem
2006-2007
13
Jednograni if
logiki izraz
blok naredbi
DA
NE
if a + b > c
a = c;
c = b;
end
Nikola Klem
2006-2007
14
Jednograni if - Primer
Data su dva broja. Odrediti koji je od
njih vei.
Nikola Klem
2006-2007
15
Jednograni if primer
a > max
max = a;
DA
NE
a = 5; b = 3;
max = b;
Nikola Klem
2006-2007
16
Jednograni If
U drugim programskim jezicima:
IF (logiki izraz) THEN
----------------------------
-----------------------------
then blok
----------------------------
----------------------------
END IF
Nikola Klem
2006-2007
17
Dvograni if
Opti oblik dvogranog if bloka u Matlabu je:
if logiki izraz
-----------------------------
blok 1 (then blok)
----------------------------
else
-----------------------------
blok 2 (else blok)
----------------------------
end
Nikola Klem
2006-2007
18
Dvograni if
Ako je vrednost logikog
izraza istinita izvravaju
se naredbe u bloku 1, a
zatim naredbe posle
naredbe end.
if logiki izraz
--------------
blok 1
--------------
else
--------------
blok 2
--------------
end
Ako vrednost logikog
izraza nije istinita
izvravaju se naredbe u
bloku 2, a zatim naredbe
posle naredbe end.
Nikola Klem
2006-2007
19
Dvograni if - Primer
Data su dva broja. Odrediti koji je od
njih vei.
Nikola Klem
2006-2007
20
Dvograni if primer
a > b
max = a;
max = b;
NE DA
a = 5; b = 3;
Nikola Klem
2006-2007
21
Dvograni if primer
a > b
max = a;
max = b;
NE DA
a = 5; b = 3;
a < b
max = a;
max = b;
DA NE
a = 5; b = 3;
Nikola Klem
2006-2007
22
Viegrani if
Opti oblik viegranog if bloka u Matlabu je:
if logiki izraz 1
blok 1
elseif logiki izraz 2
blok 2
elseif logiki izraz 3
blok 3
.....
elseif logiki izraz n
blok n
else
blok n+1
end
Nikola Klem
2006-2007
23
Viegrani if blok
bl 2 bl 3 bl n bl n+1
bl 1
li 1
ne
da
li 2
ne
da
li 3
ne
da
li n
ne
da
Nikola Klem
2006-2007
24
Viegrani if blok
Izvrava se samo jedan od blokova naredbi
(blok
1
, blok
2
, blok
3
, ..., blok
n
) i to onaj za
koji je logiki izraz i istinit, a pri tome su svi
prethodni logiki izrazi neistiniti.
Ako su svi logiki izrazi neistiniti izvrava
se blok
n+ 1.
Drugim reima, izvrava se prvi blok iji je
logiki izraz istinit, a ako takvog nema,
onda else blok.
Blok se moe pisati u istom redu iza uslova.
Nikola Klem
2006-2007
25
If gnezdo
Ako se u then bloku ili else bloku nalaze
nove if naredbe nastaje if-gnezdo.
S obzirom na to da svi blokovi zavravaju
sa end brzo dolazi do konfuznih situacija,
to dovodi do nepreglednog i neitljivog
programa, pa korienje vie nivoa if
naredbi nije poeljno.
Nikola Klem
2006-2007
26
If gnezdo
if uslov1
---------------------
if uslov2
---------------------
else
---------------------
end
else
---------------------
end
Nikola Klem
2006-2007
27
Naredba SWITCH
Opti oblik naredbe:
switch izraz
case vrednost 1
blok 1
case vrednost 2
blok 2
......
case vrednost n
blok n
otherwise
blok n+1
end
Nikola Klem
2006-2007
28
Naredba SWITCH
Izvrava se samo jedan blok i to onaj ija je
odgovarajua vrednost i jednaka vrednosti
izraza navedenog pored kljune rei switch.
Ako takve nema izvrava se blok iza kljune
rei otherwise.
Nikola Klem
2006-2007
29
Naredba SWITCH
Ako se za vie vrednosti izvrava isti blok,
moe se umesto svake pojedine vrednosti
zadati itav skup vrednosti. Ovaj skup se
pie u vitiastim zagradama:
case {vrednost1, vrednost2,...,vrednost m}
Umesto bilo koje vrednosti moe se zadati i
izraz.
Nikola Klem
2006-2007
30
Primeri za elseif i switch
Zadat je redni broj meseca i program daje
koliko ima dana.
U drugom primeru, za switch, umesto
rednog broja meseca dat je naziv.
Nikola Klem
2006-2007
31
Primer za elseif
Nikola Klem
2006-2007
32
Primer za elseif
Nikola Klem
2006-2007
33
Primer za if gnezdo
Nikola Klem
2006-2007
34
Primer za if gnezdo
Nikola Klem
2006-2007
35
Primer za switch
otherwise
Nikola Klem
2006-2007
36
Primer za switch
Nikola Klem
2006-2007
37
Primer za switch

You might also like