Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 21

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

Korak ulaznih podataka

Korak obrade podataka


Korak uslova
Korak izlaznih podataka

KRAJ Korak završetka


Primjer 2. Napraviti algoritam za kuhanje
kave START
Ulazni objekti: mljevena kava, šećer,
Mljevena kafa,
voda Šećer
voda
Izlazni objekti (rezultati):
skuhana kava Zagrij posudu
Proces kuhanja kave: Čekaj sve dok voda
ne počne ključati
1. ulij vodu u posudu
Stavi mlj kavu u posudu s
2. zagrij posudu vodom i promiješaj

3. čekaj sve dok voda ne počne Skini posudu s kavom


ključati Stavi šećer u posudu
i promiješaj
4. stavi mljevenu kavu u posudu s
vodom i promiješaj kava
5. skini posudu sa kavom
6. stavi šećer u posudu i promiješaj KRAJ
Napraviti dijagram tijeka za
primjer 1.
START
Unesi
a, b
NE
a≠ 0

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.

Nađi ime i prezime

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

Kraj DA Nema podataka o


stranice? traženoj osobi
NE
Pročitaj sljedeću osobu Kraj traženja

NE
Odg.osoba

DA

KRAJ

You might also like