Vous êtes sur la page 1sur 27

ALGORITMI I DIJAGRAM TOKA

Algoritmi i dijagram toka Beganovi Adnan

Linijska struktura
Niz algoritamskih koraka, u kojem se svaki algoritamski korak moe izvriti najvie jedanput,
u toku jednog izvravanja algoritma, ini linijsku algoritamsku emu.

Elementi linijske strukture: Poetak, Kraj (isti simbol), Ulaz, Izlaz (isti simbol) i obrada.

Slika 1. Elementi linijske structure

Prosta linijska ema se sastoji iskljuivo od algoritamskih koraka ulaza, obrade i izlaza.

Slika 2. Koraci proste linijske structure

ablon za prostu linijsku emu.


2
Algoritmi i dijagram toka Beganovi Adnan

Jednostavni primjer 1
Ispisati poruku "ZDRAVO" na ekranu.
Opis rjeenja: Svi programski jezici imaju mogunosti direktnog ispisa teksta naredbom za
ispis.

Slika 1. Ispisati poruku "ZDRAVO" na ekranu

Jednostavni primjer 2
Vrijedost varijable X je 3. Ispisati na ekran vrijednost varijable x i uveanu vrijednost x za 2.
Opis rjeenja:

Slika 1. Ispisati na ekran vrijednost varijable x i uveanu vrijednost x za 2


3
Algoritmi i dijagram toka Beganovi Adnan

Jednostavni primjer 3
Za uitani poluprenik izraunati povrinu kruga.
Opis rjeenja: Uitati poluprenik. Mnogi programski jezici imaju vrijednosti broja Pi ve u
sebi, ali se ta vrijednost mora na pravi nain koristiti. Poslije izraunavanja povrine p := Pi *
r * r se izvodi ispis.

Slika 2. Za uitani poluprenik izraunati povrinu kruga.

Jednostavni primjer 4
Napisati program koji izraunava slijedee izraze:
c=x*y
d=x-y
e=c-x+y
Opis rjeenja: Zadatak rjeavamo upisom vrijednosti x i y. Vrijednost c se izraunava i koristi
pri izraunavanju vrijednosti varijable d. Na kraju je isipis.

Slika 3. Izraunati izraza: c = x * y; d = x - y; e = c - x + y


4
Algoritmi i dijagram toka Beganovi Adnan

Razgranata algoritamska ema


Djeljivost

Kad se dijele dva broja pojavljuje se ostatak (razlilit od nule) ako broj nije djeljiv.Ovo ima
veliku primjenu u raunarskoj tehnici tako da se koriste naredbe za cjelobrojno dijeljenje
(DIV) i ostatak cjelobrojnog dijeljnja (MOD).

Na primjer kad se broj 7 dijeli sa 2, rezultat je 3 i ostatak 1. Ovaj oblik dijeljenja se prikazuje
sa 7 : 2 = 3 (1).

DIV Cjelobrojno dijeljenje

Rezultat cjelobrojnog dijeljenja je kolinik bez ostatka tj. uzima se samo cio dio kolinika.

Primjer 1. .Izvesti cjelobrojno dijljenje 7 sa 2.


Kad se broj 7 dijeli sa 2, rezultat cjelobrojnog dijeljenja je 3 a ostatak se ne uzima u obzir.
Raunarski ispis:
7 DIV 2
Rezultat je 3.

Primjer 2. Prikazati cjelobrojno dijeljenje brojeva 10, 20, ... , 100 sa 10.
Cjelobrojno dijeljenja sa 10 znai odbacivanje cifre sa najmanjom teinom tj. cifre jedinica
(prvu cifru sa desne strane). Tako da bi 10 DIV 10 i 19 DIV 10 dali isti rezultat 1 (tj. odbacili bi
desnu cifru). Na slijedeoj slici je cjelobrojno dijeljenje brojeva 10, 20, ..., 100 sa 10. Rezultat
je odbacivanje desne cifre.

Slika 1. Cjelobrojno dijeljenje brojeva 10, 20, ... , 100 sa 10


5
Algoritmi i dijagram toka Beganovi Adnan

Primjer 3. Prikazati cjelobrojno dijeljenje brojeva 123, 223, 323, ... , 1023 sa 100.
Cjelobrojno dijeljenja sa 100 znai odbacivanje dvije cifre sa najmanjom teinom tj. cifre
desetica i jedinica (dvije cifre sa desne strane). Tako da bi 323 DIV 100 i 394 DIV 100 dali isti
rezultat 3 (tj. odbacili bi dvije desne cifre). Na slijedeoj slici je cjelobrojno dijeljenje brojeva
123, 223, 323, ..., 1023 sa 100. Rezultat je odbacivanje dvije desne cifre. Ostaje cifra stotica.

Slika 2. Cjelobrojno dijeljenje brojeva 123, 223, 323, ... , 1023 sa 100

MOD - Ostatak cjelobrojnog dijeljenja

Rezultat naredbe MOD je ostatak cjelobrojnog dijeljenja.


N a p o m e n a: Prije provjere djeljivosti (ostatka) treba treba provjeriti da li je broj
pozitivan.

Primjer 4 .Izraunati ostatak cjelobrojnog dijljenja 7 sa 2.


Kad se broj 7 dijeli sa 2, rezultat je 3 i ostatak 1. Ovaj oblik dijeljenja se prikazuje sa 7 : 2 = 3
(1).
Raunarski ispis:
7 MOD 2
Rezultat je 1.

Primjer 5 . Ispisati ostatak cjelobrojnog dijljenja brojeva od 1 do 9 sa brojem 2.


Ostatak dijeljenja sa 2 je provjera parnosti. Ako je broj paran rezultat naredbe n MOD 2 je 0
(npr., 2 MOD 2, 4, MOD 2, ... Rezultat je 0). Rezultat naredbe neparnih bojeva je 1 (npr. 1
MOD 2, 3 MOD 2, 5 MOD 2,... Rezultat je 1). Na slijedeoj slici je ispis ostataka dijeljenje
brojeva od 1 do 9 sa 2.

Slika 3. Ostatak cjelobrojnog dijljenja brojeva od 1 do 9 sa brojem 2


6
Algoritmi i dijagram toka Beganovi Adnan

Primjer 6 . Ispisati ostatak cjelobrojnog dijljenja brojeva od 1 do 9 sa brojem 10.


Dijeljenje sa 10 je izdvajanje zadnje cifre. Rezultat naredbe 1 MOD 10 je 1, 2 MOD 10 je 2, ...,
9 MOD 10 je 9 i 10 MOD 10 je 1.

Slika 3. Ostatak cjelobrojnog dijljenja brojeva od 1 do 9 sa brojem 10

Primjer Cjelobrojno Rezultat cjelobrojnog Ostatak cjelobrojnog Rezultat ostataka


dijeljenja dijeljenje dijeljenja dijeljenja cjelobrojnog dijeljenja

7 : 2 = 3 (1) 7 DIV 2 3 7 MOD 2 1

5 : 3 = 1 (2) 5 DIV 3 1 5 MOD 3 2

5 : 2 = 2 (1) 5 DIV 2 2 5 MOD 2 1

0 : 2 = 0 (0) 0 DIV 2 0 0 MOD 2 0

1 : 2 = 0 (1) 1 DIV 2 0 1 MOD 2 1

2 : 2 = 1 (0) 2 DIV 2 1 2 MOD 2 0

3 : 2 = 1 (1) 3 DIV 2 1 3 MOD 2 1

7
Algoritmi i dijagram toka Beganovi Adnan

IF THEN
Razgranata linijska ema je ona kod koje se svaki algoritamski korak izvrava najvie
jedanput. To znai da postoje algoritamski koraci koji se ne izvre. Ovdje mora postojati bar
jedan uslovni korak koji omoguava grananje algoritma. Na slijedeoj slici su elementi
razgranate strukture:

Slika 1. Elementi razgranate strukture IF THEN

ablon za razgranatu emu IF THEN: Ako je uslov ispunjen (korak 2) izvrie se naredba ili
blok naredbi tj. algoritmskih koraka (korak 3). Ako uslov nije ispunjen nareba (blok narebi) se
ignorie i nee se izvriti.

Slika 2. Koraci za razgranatu emu IF THEN


8
Algoritmi i dijagram toka Beganovi Adnan

Primjer: Ako je a < 0 tada je y: = 3.

Slika 6. Algoritam za izraunavanje Ako je x1<x2 tada je y:=x1+x2 inae y.=x1-x2

ablon za razgranatu emu IF THEN

3. ablon za razgranatu emu IF THEN


9
Algoritmi i dijagram toka Beganovi Adnan

Primjer 1. Uitati broj a. Ako je uitani broj a vei od nule napisati "POZITIVAN"
Opis rjeenja: Sa tastature se upisuje vrijednost varijable a. Logikim izrazom a>0 u naredbi
IF izvodi se pore|enje da li je upisana vrijednost pozitivna. Ako je logiki izraz istinit na
ekranu se ispisuje "POZITIVAN", inae za ostale sluajeve nema ispisa. Ovo je provjera da li
je broj pozitivan tj. vei od nule

Slika 1. Uitati broj a. Ako je uitani broj a vei od nule napisati "POZITIVAN"

Primjer 2. Provjeriti da li je od dva uitana broja prvi djeljiv sa drugim.


Opis rjeenja: Upisati dvije vrijednosti (a, b). Provjera da li je prvo upisani broj (a) djeljiv sa
drugim se izvodi sa logikim izrazom a MOD b =0 u naredbi IF. Ako je logiki izraz istinit na
ekranu se ispisuje DJELJIV, inae nema ispisa. Logiki izraz za provjeru djeljivosti (a MOD b =
0) je istinit ako je a djeljivo sa b i tada se na ekranu ispisuje DJELJIV. Inae za ostale sluajeve
nema ispisa. Naredbom a MOD b se izra~unava ostatak dijeljenja broja a sa brojem b.
Ostatak dijeljenja je! jednak! 0 ako je broj a djeljiv sa brojem b.

Slika 2. Provjeriti da li je od dva uitana broja prvi djeljiv sa drugim


10
Algoritmi i dijagram toka Beganovi Adnan

IF THEN ELSE
Razgranata linijska ema je ona kod koje se svaki algoritamski korak izvrava najvie
jedanput. To znai da postoje algoritamski koraci koji se ne izvre. Ovdje mora postojati bar
jedan uslovni korak koji omoguava grananje algoritma.Razgranata ema IF THEN. Na
slijedeoj slici su elementi razgranate strukture:

Slika 1. Elementi razgranate strukture IF THEN ELSE

ablon za razgranatu emu IF THEN ELSE: Ako je uslov ispunjen (korak 2) izvrie se naredba
ili blok naredbi, algoritmskih koraka (korak 3). Ako uslov nije ispunjen izvrie se naredba ili
blok naredbi, algoritmskih koraka (korak 4).

11

Slika 5. Koraci za razgranatu emu IF THEN ELSE


Algoritmi i dijagram toka Beganovi Adnan

Primjer: Ako je x1<x2 tada je y:=x1+x2 inae y.=x1-x2.

Slika 6. Algoritam za izraunavanje Ako je x1<x2 tada je y:=x1+x2 inae y.=x1-x2

ablon za razgranatu emu IF THEN ELSE

Slika 7. ablon za razgranatu emu IF THEN ELSE


12
Algoritmi i dijagram toka Beganovi Adnan

Vieblokovsko grananje
Razgranata linijska ema je ona kod koje se svaki algoritamski korak izvrava najvie jedanput. To znai da
postoje algoritamski koraci koji se ne izvre. Ovdje mora postojati bar jedan uslovni korak koji omoguava
grananje algoritma.Razgranata ema IF THEN. Na slijedeoj slici su elementi razgranate strukture:

Slika 1. Elementi razgranate structure

ablon za razgranatu emu IF THEN ELSE: Ako je uslov ispunjen (korak 2) izvrie se naredba
ili blok naredbi, algoritmskih koraka (korak 3). Ako uslov nije ispunjen izvrie se naredba ili
blok naredbi, algoritmskih koraka (korak 4).

13
Algoritmi i dijagram toka Beganovi Adnan

Primjer: Ako je

Slika 6. Algoritam za izraunavanje

ablon za razgranatu emu Vieblokovsko grananje

Rijeeni primjeri - Kombinovani zadaci


14
Algoritmi i dijagram toka Beganovi Adnan

Rijeeni primjer kombinovani zadaci


Primjer 1. Od tri upisana broja (a, b, c) sa tastature na}i najvei.
Opis rjeenja: Vrijednosti tri broja se uitavaju sa tastature. Pretpostavimo da je varijabla a
najve}a i njenu vrijednost pridruujemo varijabli max. Zatim poredimo da li je b ve}e od max,
ako jeste tad max postaje b. Slijede}e pore|enje je da li je c ve}e od max. Ako je c vee od
max tad je to nova vrijednost max..

Slika 1. Od tri upisana broja (a, b, c) sa tastature na}i najvei

15
Algoritmi i dijagram toka Beganovi Adnan

Primjer 2. Provjeriti da li je upisani broj pozitivan, negativan ili nula.


Opis rjeenja: Zadatak ima tri ispisa, me|utim moe se rije{iti sa dvije IF naredbe budu}i da
naredba IF THEN ELSE sadri dvije mogu}nosti. Sa prvom se eliminie jedno rjeenje, a sa
njenim ELSE dijelom se prelazi na odluivanje o drugom i treem rje{enju. Izbor izmeu ove
druge dvije mogu}nosti se izvodi sa novom (drugom) IF THEN ELSE naredbom.

Slika 2. Provjeriti da li je upisani broj pozitivan, negativan ili nula

16
Algoritmi i dijagram toka Beganovi Adnan

Primjer 3 .Napisati program za izra~unavanje vrijednosti y prema izrazu

Opis rjeenja: Zadatak ima tri ispisa, meutim moe se rijeiti sa dvije IF naredbe budui da
naredba IF THEN ELSE sadri dvije mogunosti. Sa prvom se eliminie jedno rjeenje, a sa
njenim ELSE dijelom se prelazi na odluivanje o drugom i treem rjeenju. Izbor izmeu ove
druge dvije mogunosti se izvodi sa novom (drugom) IF THEN ELSE naredbom.

17
Algoritmi i dijagram toka Beganovi Adnan

FOR petlja
Primjer 1. Ispisati prvih n prirodnih brojeva ( FOR petlja).
Opis rjeenja: Izvoenje programa poinje uitavanjem vrijednosti n do koje se izvodi ispis.
FOR petlja omoguuje promjenu vrijednosti kontrolne varijable od poetne vrijednosti 1 do
krajnje vrijednosti n. Kontrolna varijabla za ovaj zadatak je i. Poetna vrijednost je 1, a
krajnja n. Vrijednost varijable i se ispisuje na ekran pri svakom prolazu kroz petlju.

Slika 1. Ispisati prvih n prirodnih brojeva ( FOR petlja)

Primjer 2. Izraunati sumu prvih n prirodnih brojeva. Koristiti FOR petlju.


Opis rjeenja: Formiranje sume se izvodi unutar FOR petlje. Izraz s=s+i je raunarski, a ne
matemati~ki izraz. Njim se predstavlja dinamika promjene vrijednosti varijable s. Desni dio
izraza (s+i) predstavlja uveanje vrijednosti varijable s za vrijednost kontrolne varijable i.
Izraunata vrijednost se pridruuje varijabli s. Zato se izraz s=s+i ~ita s postaje s+i tj. s prima
vrijednost s+i. Zatim se uve}ava kontrolna varijabla i. Postupak uveanja i i s se ponavlja sve
dok vrijednost kontrolne varijable i ne postane n. Ispis je na kraju programa.
18
Algoritmi i dijagram toka Beganovi Adnan

Primjer 3. Izraunati proizvod prirodnih brojeva u intervalu od k do n. Koristiti FOR petlju.


Opis rjeenja: Izvo|enje programa poinje uitavanjem vrijednosti n do koje se izvodi ispis
(linije 10 i 20). For petlja omoguuje promjenu vrijednosti kontrolne varijable od poetne n
do krajnje vrijednosti. Kontrolna varijabla za ovaj zadatak je i. Poetna vrijednost je k, a
krajnja n. Vrijednost varijable i se ispisuje na ekran pri svakom prolazu kroz petlju. Poetna
vrijednost proizvoda p je 1. a novi proizvod se formira izrazom p := p * i.

Slika 3. Izraunati proizvod prirodnih brojeva u intervalu od k do n. Koristiti FOR petlju

Primjer 4. Izraunati sumu parnih prirodnih brojeva u intervalu od K do N.


Opis rjeenja: Ovaj program se odlikuje time da u FOR petlji ima provjeru da li je vrijednost
kontrolna varijabla djeljiva sa 2 tj. da li je parna. Provjera se izvodi sa logikim izrazom i MOD
2 = 0 u naredbi IF. Sabiraju se samo brojevi koji zadovoljavaju dati logiki izraz tj. kad je
logiki izraz istinit.

19

Slika 4. Izraunati sumu prvih n prirodnih brojeva. Koristiti FOR petlju


Algoritmi i dijagram toka Beganovi Adnan

WHILE petlja
Primjer 1. Ispis prvih n prirodnih brojeva sa WHILE petljom.
Opis rjeenja: Na poetku se upisuje do koje vrijednosti (n) se izvodi ispis. Kontrolnoj
varijabli i se pridjeljuje vrijednost jedan (1). Zatim se prelazi na provjeru logikog izraza u
WHILE petlji. WHILE petlja se ponavalja sve dok je logiki izraz (i<=n) istinit. Prva naredba u
petlji je ispis vrijednosti kontrolne varijable i na ekran. Naredba i=i+1 uve}ava vrijednost
varijable i za jedan. Prvo vrijednosti varijable i dodaje 1, zatim izraunatu sumu pridruuje
varijabli i. Izvrenje programa prelazi na poetak WHILE petlje, koja obezbjeuje
ponavljanje.

Slika 1. Ispis prvih n prirodnih brojeva sa WHILE petljom

20
Algoritmi i dijagram toka Beganovi Adnan

Primjer 2. Izrauanti sumu prvih n prirodnih brojeva. Zadatak rijeiti sa WHILE petljom.
Opis rjeenja: Poetna vrijednost varijable s (suma) je 0. Suma se formira po izrazu s=s+i.
Ra~unar pri izvo|enju prvo izvodi desni dio, sabira vrijednost s i vrijednost i. Izra~unata
vrijednost se pridruuje varijabli s. Zatim se vrijednost varijable i uve}ava za jedan (i=i+1).
Postupak uve}anja sume i vrijednosti varijable i se ponavlja sve dok je vrijednost varijable
i<=n.

Slika 2. Izrauanti sumu prvih n prirodnih brojeva. Zadatak rijeiti sa WHILE petljom

21
Algoritmi i dijagram toka Beganovi Adnan

Primjer 3. Izrauanti proizvod prirodnih brojeva u intervalu od k do n. Zadatak rijeiti sa


WHILE petljom.
Opis rjeenja: Poetna vrijednost varijable s (suma) je 0. Suma se formira po izrazu s=s+i.
Ra~unar pri izvo|enju prvo izvodi desni dio, sabira vrijednost s i vrijednost i. Izra~unata
vrijednost se pridruuje varijabli s. Zatim se vrijednost varijable i uve}ava za jedan (i=i+1).
Postupak uve}anja sume i vrijednosti varijable i se ponavlja sve dok je vrijednost varijable
i<=n.

Slika 3. Izrauanti proizvod prirodnih brojeva u intervalu od k do n. Zadatak rijeiti sa WHILE petljom

22
Algoritmi i dijagram toka Beganovi Adnan

Primjer 4. Prebrojati prirodne brojeve iz intervala od k do n koji su djelivi sa 3. Zadatak


rijeiti sa WHILE petljom.
Opis rjeenja: Bitni elementi zadatka su: izbor djeljivih sa 3 i brojanje. Izbor djeljivih sa 3 se
izvodi logikim izrazom i MOD 3=0. Logi~ki izraz je istinit kad pri dijeljenju broja sa 3 nema
ostatka tj. ostatat je nula. Tada se formira nova vrijednost brojaa. Poetna vrijednost
brojaa je nula (br=0). Vrijednost brojaa se uva}ava za jedan (br+1). Kao {to je navedeno
uve}anje broja~a se izvodi samo kad je logiki izraz i MOD 3=0 istinit.

Slika 4. Izrauanti proizvod prirodnih brojeva u intervalu od k do n. Zadatak rijeiti sa WHILE petljom
23
Algoritmi i dijagram toka Beganovi Adnan

REPEAT petlja
Primjer 1. Ispisati prvih n prirodnih brojeva ( REPEAT petlja).
Opis rjeenja: Izvoenje programa poinje uitavanjem vrijednosti n do koje se izvodi
ispis.Kontrolna varijabla za ovaj zadatak je i. Poetna vrijednost je 1, a krajnja n. Vrijednost
varijable i se ispisuje na ekran pri svakom prolazu kroz petlju. Uveanje kontrolne varijable i
se izvodi sa izrazom i:=i+1

Slika 1. Ispisati prvih n prirodnih brojeva (REPEAT petlja)

24
Algoritmi i dijagram toka Beganovi Adnan

Primjer 2. Izrauanti sumu prvih n prirodnih brojeva ( REPEAT petlja).


Opis rjeenja: Formiranje sume se izvodi unutar REPEAT petlje. Izraz s=s+i je raunarski, a ne
matemati~ki izraz. Njim se predstavlja dinamika promjene vrijednosti varijable s. Desni dio
izraza (s+i) predstavlja uveanje vrijednosti varijable s za vrijednost kontrolne varijable i.
Izraunata vrijednost se pridruuje varijabli s. Zato se izraz s=s+i ~ita s postaje s+i tj. s prima
vrijednost s+i. Zatim se uveava kontrolna varijabla i. Postupak uveanja i i s se ponavlja sve
dok vrijednost kontrolne varijable i ne postane n. Ispis je na kraju programa.

Slika 2. Izrauanti sumu prvih n prirodnih brojeva. Koristiti REPEAT petlju


25
Algoritmi i dijagram toka Beganovi Adnan

Primjer 3. Izrauanti proizvod prirodnih brojeva u intervalu od k do n ( REPEAT petlja).


Opis rjeenja: Formiranje proizvoda se izvodi unutar REPEAT petlje. Izraz p := p * i je
raunarski, a ne matematiki izraz. Njim se predstavlja dinamika promjene vrijednosti
varijable p. Desni dio izraza (s+i) predstavlja uveanje vrijednosti varijable s za vrijednost
kontrolne varijable i. Izraunata vrijednost se pridruuje varijabli p. Zato se izraz p := p * i
rauna p postaje p * i tj. p prima vrijednost p * i. Zatim se uveava kontrolna varijabla i.
Postupak uveanja i i p se ponavlja sve dok vrijednost kontrolne varijable i ne postane n.
Ispis je na kraju programa.

26
Algoritmi i dijagram toka Beganovi Adnan

Primjer 4. Izraunati parnih parnih prirodnih brojeva u intervalu od K do N (REPEAT petlja).


Opis rjeenja: Ovaj program se odlikuje time da u REPEAT petlji ima provjeru da li je
vrijednost kontrolna varijabla djeljiva sa 2 tj. da li je parna. Provjera se izvodi sa logikim
izrazom i MOD 2 = 0. Mnoe se samo brojevi koji zadovoljavaju dati logiki izraz tj. kad je
logiki izraz istinit.

Slika 4. Izraunati parnih parnih prirodnih brojeva u intervalu od K do N (REPEAT petlja)

27