Algoritmi Razgranate algoritamske strukture 25.9.2011 Milenko Soldat USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 1 P U ovakvim strukturama postoje algoritamski koraci koji se jedanput izvrše a drugi se ne izvršavaju uopšte a,b DA a>b NE “a je.

Download Report

Transcript Algoritmi Razgranate algoritamske strukture 25.9.2011 Milenko Soldat USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 1 P U ovakvim strukturama postoje algoritamski koraci koji se jedanput izvrše a drugi se ne izvršavaju uopšte a,b DA a>b NE “a je.

Algoritmi
Razgranate algoritamske
strukture
25.9.2011
Milenko Soldat
1
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 1
P
U ovakvim strukturama
postoje algoritamski koraci
koji se jedanput izvrše a
drugi se ne izvršavaju uopšte
a,b
DA
a>b
NE
“a je veće od b”
K
Nacrtati
dijagram
za izvršavanja.Grafička
sledeći zadatak: Unijeti
One
uvijek
imajutoka
uslov
dva broja.Ako
oznaka
uslovajejea veće od .b onda ispisati “a je
veće od b”.
25.9.2011
Milenko Soldat
2
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 2
P
U ovakvoj strukturi jedan
algoritamski korak se izvršava
a,b
DA
a>b
NE
“a je veće od b”
“a nije veće od b”
K
Pr2.Unijeti dva broja.Ako je a veće od b onda
ispisati “a je veće od b” u suprotnom ispisati “a
nije veće od b”
25.9.2011
Milenko Soldat
3
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 3
P
Još bolja varijanta.
Algoritamski koraci
obuhvataju sve
moguće slučajeve.
a,b
NE
DA
a<b
DA
a>b
NE
“a je veće od b”
“a je jednako b”
“a je manje od b”
K
Pr.3 Unijeti dva broja.Ako je a>b onda ispisati “a je
veće od b”,ako je a<b ispisati “a je manje od b”
inače ispisati “a je jednako b”.
25.9.2011
Milenko Soldat
4
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 2
Zadaci:
1. Za uneseni broj ispitati i ispisati da li je on
pozitivan, negativan ili je nula.
2. Za uneseni broj ispitati i ispisati da li je on paran,
neparan ili je nula.
3. Od tri unesena broja(a,b,c) odrediti i ispisati najveći
25.9.2011
Milenko Soldat
5
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 2
1. Za uneseni broj ispitati i ispisati da li je on
pozitivan, negativan ili je nula.
Pseudokod rješenja zadataka-rješavanje u mislima.
Unijeti broj.
Ako je on veći od nule ispisati “pozitivan je”,
ako je manji od nule ispisati “negativan je”
inače ispisati “nula”.
25.9.2011
Milenko Soldat
6
Algoritamsko rješenje 1.zadatka
P
a
NE
DA
a<0
DA
a>0
NE
“pozitivan je”
“unesena je 0”
“negativan je”
K
Unijeti broja.Ako je on pozitivan ispisati “pozitivan je” , ako je
negativan ispisati “negativan je” inače ispisati “unesena je 0”.
25.9.2011
Milenko Soldat
7
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 2
RJEŠENJA ZADATAKA
2. Za uneseni broj ispitati i ispisati da li je on
paran, neparan ili je nula.
Pseudokod rješenja zadataka-rješavanje u mislima.
Unijeti broj(a).
Ako je a/2 jednako nuli ispisati “nula”,
ako je ostatak pri dijeljenju sa 2 jednak 1 ispisati “neparan je”
inače ispisati “paran je”.
25.9.2011
Milenko Soldat
8
Rješenje 2.zadatka
P
a
NE
NE
DA
a/2=0
DA
NE
Ostatak=1
“nula”
“paran je”
“neparan je”
K
Unijeti broj(a). Ako je a/2 jednako nuli ispisati “nula”,
ako je ostatak pri dijeljenju sa 2 jednak 1 ispisati “neparan je”
inače ispisati “paran je”.
25.9.2011
Milenko Soldat
9
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 2
RJEŠENJA ZADATAKA
3. Za uneseni tri broja ispitati i ispisati koji je najveći.
Pseudokod rješenja zadataka-rješavanje u mislima.
Unijeti tri broja(a,b,c).
Najveći je a(pretpostavka).
Ako je ako je b>najveći onda je najveći b,
ako je c>najveći onda je najveći c.
25.9.2011
Milenko Soldat
10
Rješenje 3.zadatka
a,b,c
najveći=a
DA
b>najveći
najveći=b
NE
DA
c>najveći
najveći=c
NE
“najveći”
K
Unijeti tri broja(a,b,c). Najveći je a(pretpostavka). Ako je b>najveći
onda je najveći b, ako je c>najveći onda je najveći c.
25.9.2011
Milenko Soldat
11
CIKLIČNE RAZGRANATE
CIKLIČNE
STRUKTURE-broj
RAZGRANATE ponavljanja
STRUKTURE unaprijed poznat
I=PV, KV,K
I = PV
I ≤ KV
N1
DA
CikličneI-brojač
strukture su strukture
uNEkojimaPV-početna
se jedna ilivrijednost
više
naredbni
KV-krajnja
ponavljaju.Nazivaju
vrijednost
se i strukture
K-korak
sa petljom
N1
N2
N2
Nм
Nм
DA
NE
I = I+1
Mogu da se predstave na više načina.
25.9.2011
Milenko Soldat
12
CIKLIČNE RAZGRANARE STRUKTURE-broj ponavljanja unaprijed poznat
FOR
ZA
P
CIKLUS
N
I=1,N
IZLAZNI USLOV
TIJELO CIKLUSA
(u ovom primjeru samo
jedna naredba)
I
K
ALGORITAMSKA OZNAKA
ZA KRAJ CIKLUSA
ZATIM
SE
DEFINIŠE
BROJAČ
“I”
UZIMA
POTOM
JE
POTREBNO
UNIJETI
DO
KOG
BROJA
SE
SVAKI
ALGORITAM
POČINJE
SA
ZA
Npr.sastavimo
dijagram
zaZNAKOM
štampanje
Unutar
Kao
znak
ciklusa
za kraj
navodi
ciklusa
setoka
navodi
naredba
se
koja
romb.
seŠTAMPA
ponavlja,
Od
algoritamske
oznake
zaKOJI
kraj
ciklusa
ide
I
na
kraju
oznaka
za
kraj
programa!
VRIJEDNOSTI
OD
1
DO
UNESENOG
BROJA
N
POČETAK.
prirodnih
od 1vrijednosti
do N
ovdje
je tobrojeve
štampanje
I.
strelica do izlaznog uslova ciklusa.
25.9.2011
Milenko Soldat
13
Postupak izvršavanja programa
P
Način na koji se izvršava
program
izgleda programa
ovako:
Početak
izvršavanja
N
Unosimo vrijednost za N, npr. N=3
CIKLUS
I=1,N
I
Vrijednost
za
uveća
za za
1 i1sada
je jeI=2
I=3, što
Promjenljiva
Vrijednost
za III se
se
uzima
uvećava
vrijednosti
i sada
je
ciklusa
odgornja
1 dо 3.granica
Prvo I=1
Štampa
Štampase
sebroj
broj 123(I=1)
(I=2)
(I=3)
Pošto je је I=3 i N=3
Kraj ciklusa
Izlazi se iz ciklusa
K
25.9.2011
Kraj programa
Milenko Soldat
1
2
3
Izlazni ekran
14
CIKLIČNE RAZGRANATE STRUKTURE-broj ponavljanja unaprijed nepoznat
L1
L2
L1-prva linijska struktura(van ciklusa je)
L2-druga linijska struktura(u ciklusa je)
NE
Uslov-uslov izlaska
Uslov
Ciklus
DA
REPEAT
naredbe
UNTIL uslov
1.Ponavljaj naredbe sve dok nije uslov ispunjen (uslov zavrsetka)
Ciklus se mora izvršiti bar jednom-izlaz na kraju ciklusa.
25.9.2011
Milenko Soldat
15
Broj ponavljanja unaprijed nepoznat
P
Uradimo
isti primjer-štampati
brojeve od
Postupak
izvršavanja programa.
1 do N,ali preko REPEAT petlje.
N
Unosimo N(npr.N=3)
I=1
Prvi broj je 1
Izlazni ekran
Štampaj I
“I” uvećaj za 1
Sada je I=4
I=2
I=3
1
NE
I>N
4>3 , NE
DA
3>3
2>3
DA
2
3
K
25.9.2011
Milenko Soldat
16
CIKLIČNE RAZGRANATE STRUKTURE-broj ponavljanja unaprijed nepoznat
L1
L1-prva linijska struktura(van ciklusa je)
NE
Uslov-uslov izlaska
Uslov
DA
L2
L2-druga linijska struktura(u ciklusa je)
Ciklus
WHILE uslov
naredbe
3. Sve dok je uslov ispunjen ponavljaj naredbe (uslov nastavka).
Ciklus se ne mora izvršiti nijednom-izlaz na početku ciklusa.
25.9.2011
Milenko Soldat
17
Ako nešto nije bilo jasno pitajte.
25.9.2011
Milenko Soldat
18