Professional Documents
Culture Documents
Algoritmi
Algoritmi
Pojam algoritma
Algoritam-nepravilno izgovaranje imena
perzijskog mat. Al-Khowarizmi
Algoritam je svaki jasan, precizan i
nedvosmislen uređeni niz koraka, koji u
konačnom vremenu dovodi do rješenja
nekog problema ukoliko problem ima
rješenje odnosno u konačnom vremenu
daje odgovor da problem nema rješenja
ukoliko problem nema rješenja.
Algoritmi se mogu
predstavljati:
Govornim jezikom
Prikazom sa numeriranim koracima
Dijagramom toka
Pomoću struktuiranog govornog jezika
Strukturni dijagrami
Primjer 1.
Naći vrijednost x takvu da je a·x=b
Moglo bi se odmah zaključiti da je X=b/a, ali
je to rješenje nepotpuno, jer ne govori šta
uraditi ako je a=0. Ako je a=0, problem se
svodi na nalaženje pr.vrij. x takve da je
0·x=b. Odavdje zaključujemo ako je b≠0,
problem nema rješenje, ako je b=0 , tada je
0·x=0, pa x predstavlja rješenje.
Alan Turing –mat. koji je dokazao da
postoje problemi za koje je nemoguće
sastaviti algoritam, čak ni teorijski.
Problemi za koje se ne može sastaviti
algoritam nazivaju se neodlučivi
problemi.
Dijagram tijeka
Razvoj odozgo na dolje (top-down pristup)
₋ uoče se raspoloživi ulazi i željeni izlazi iz algoritma
₋ Uoče se glavni koraci koji su potrebni da se od ulaza
dobiju željeni izlazi
₋ Koraci se rasčlanjuju na jednostavnije korake
Grafičko predstavljanje algoritma
START Korak starta
DA NE
b≠ 0
Izračunaj x= b/a
DA Ispiši “svako x
“jednačina je rješenje”
Ispiši x nema rj”
DA Još
jednačina
?
NE
KRAJ
Srtuktura algoritma
prosta
Linijska struktura
razgranata
Ciklična struktura
Prosta linijska struktura
Prosta linijska struktura algoritma je ona
linijska struktura kod koje se svaki
algoritamski korak izvršava jedanput u toku
jednog izvršavanja algoritma.
Prosta linijska struktura
START
P1
P2
P3
KRAJ
Primjer:
Sastaviti algoritam koji izračunava zbir
START
(S) dva realna broja a i b tj. S=a+b
a, b
S=a+b
KRAJ
Razgranata linijska struktura
- je ona linijska struktura START
algoritma, kod koje se svaki
algoritamski korak izvršava P1
najviše jedanput u toku jednog
izvršavanja algoritma. xRy
T
P2 P3
KRAJ
Primjer:
Sastaviti algoritam za
izračunavanje funkcije START
y=|x|
x
x<0 T
y=x y= -x
KRAJ
Ciklična struktura
Niz algoritamskih koraka koji se mogu
izvršavati određeni broj puta, gdje broj
ponavljanja može biti unaprijed određen
ili se ponavlja sve dok se ne ispuni neki
uslov predstavlja cikličnu strukturu ili
ciklus.
Konstantna ciklična struktura
Promjenjiva ciklična struktura
Uslovna petlja-Uslov se može dati na
početku i na kraju ciklusa (petlje). Ukoliko
je na početku i nije ispunjen, petlja se
neće izvršiti niti jedanput.
Bezuslovna petlja- ukoliko se uslov testira
na kraju, izvršit će se makar jedanput, i
broj ponavljanja je unaprijed poznat.
Petlje kod kojih je broj ponavljanja
unaprijed poznat realiziraju se uvođenjem
brojača, koji broji koliko je puta petlja
izvršena
Primjeri
3. Sastaviti algoritam za nalaženje tel.broja
osobe poznatog imena i prezimena u rokovniku
START
Ime i
prezime
Otvori rokovnik
Pronađi stranu sa
početnim slovom pr.
Broj telefona
KRAJ
Razradimo sada blok ”nađi stranu sa početnim
slovom prezimena osobe.
START
Kreni od prve
stranice
Odg. NE
Pređi na sljedeću
slovo
str.
DA
KRAJ
Razradimo sada podalgoritam za nalaženje imena i
prezimena tražene osobe na nađenoj stranici.
START
Kreni od početka
stranice
NE
Odg.osoba
DA
KRAJ