200 likes | 633 Views
Algoritmi. Razgranate algoritamske strukture. 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.
E N D
Algoritmi Razgranate algoritamske strukture 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 veće od b” K One uvijekimajuuslovizvršavanja.Grafička oznaka uslova je . Nacrtatidijagramtokazasledeći zadatak: Unijeti dva broja.Ako je a veće od b onda ispisati “a je veće od b”. Milenko Soldat
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” Milenko Soldat
USLOVNE RAZGRANATE ALGORITAMSKE STRUKTURE 3 P Još bolja varijanta. Algoritamski koraciobuhvataju sve moguće slučajeve. a,b DA NE a>b DA NE a<b “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”. Milenko Soldat
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 Milenko Soldat
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”. Milenko Soldat
Algoritamsko rješenje 1.zadatka P a DA NE a>0 DA NE a<0 “pozitivan je” “unesena je 0” “negativan je” K Unijeti broja.Ako je on pozitivanispisati “pozitivan je” , ako je negativan ispisati “negativan je” inače ispisati “unesena je 0”. Milenko Soldat
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”. Milenko Soldat
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”. Milenko Soldat
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. Milenko Soldat
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. Milenko Soldat
CIKLIČNE RAZGRANATE STRUKTURE-broj ponavljanja unaprijed poznat CIKLIČNE RAZGRANATE STRUKTURE Ciklične strukture su strukture u kojima se jedna ili više naredbni ponavljaju.Nazivaju se i strukture sa petljom I-brojač PV-početna vrijednost KV-krajnja vrijednost K-korak I = PV I=PV, KV,K NE I ≤ KV N1 DA N1 N2 N2 Nм Nм DA I = I+1 NE Mogu da se predstave na više načina. Milenko Soldat
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 ALGORITAMSKA OZNAKA ZA KRAJ CIKLUSA K ZATIM SE DEFINIŠE BROJAČ “I” KOJI UZIMA VRIJEDNOSTI OD 1 DO UNESENOG BROJA N Od algoritamske oznake za kraj ciklusa idestrelica do izlaznog uslova ciklusa. POTOM JE POTREBNO UNIJETI DO KOG BROJA SE ŠTAMPA Unutar ciklusa navodi se naredba koja se ponavlja,ovdje je to štampanje vrijednostiI. Kao znak za kraj ciklusa navodi se romb. SVAKI ALGORITAM POČINJE SA ZNAKOM ZA POČETAK. Npr.sastavimodijagramtokazaštampanje prirodnih brojeve od 1 do N I na kraju oznaka za kraj programa! Milenko Soldat
Postupak izvršavanja programa Način na koji se izvršava program izgleda ovako: P P Početak izvršavanja programa N N Unosimo vrijednost za N,npr. N=3 CIKLUS Vrijednost za Ise uveća za 1 i sada je I=3,što je gornja granica ciklusa Promjenljiva I uzima vrijednosti od 1 dо 3. PrvoI=1 Vrijednost za Ise uvećava za 1 i sada jeI=2 I=1,N I=1,N Štampa se broj 1 (I=1) Štampa se broj 3 (I=3) Štampa se broj 2 (I=2) I 1 I 2 Pošto je је I=3 iN=3 Izlazi se iz ciklusa Kraj ciklusa 3 K Kraj programa Izlazni ekran Milenko Soldat
CIKLIČNE RAZGRANATE STRUKTURE-broj ponavljanja unaprijed nepoznat L1-prva linijskastruktura(van ciklusa je) L1 L2-druga linijskastruktura(u ciklusa je) L2 NE Uslov-uslovizlaska Uslov Ciklus DA REPEAT naredbe UNTILuslov 1.Ponavljajnaredbesvedoknijeuslovispunjen (uslovzavrsetka) Ciklus se moraizvršiti bar jednom-izlaz na kraju ciklusa. Milenko Soldat
Broj ponavljanja unaprijed nepoznat Postupak izvršavanja programa. Uradimo isti primjer-štampati brojeve od 1 do N,ali preko REPEAT petlje. P N Unosimo N(npr.N=3) Prvi broj je 1 I=1 Izlazni ekran Štampaj I “I” uvećaj za 1 Sada je I=2 Sada je I=3 Sada je I=4 1 NE 4>3 , DA I>N 3>3 , NE 2>3 , NE 1 1 DA 2 2 K 3 Milenko Soldat
CIKLIČNE RAZGRANATE STRUKTURE-broj ponavljanja unaprijed nepoznat L1 L1-prva linijskastruktura(van ciklusa je) NE Uslov-uslovizlaska Uslov DA L2-druga linijskastruktura(u ciklusa je) L2 Ciklus WHILEuslov naredbe 3. Svedokje uslovispunjenponavljajnaredbe (uslovnastavka).Ciklus se ne moraizvršiti nijednom-izlaz na početku ciklusa. Milenko Soldat
Ako nešto nije bilo jasno pitajte. Milenko Soldat