Professional Documents
Culture Documents
ALGORITMI2
ALGORITMI2
životu
• Algoritme koristimo svakodnevno a da
toga često nismo niti svjesni.
ALGORITMI • Na primjer
korisničke upute.
2
kuharski recept.
put u školu
Primjer
• primjera algoritma napisanog hrvatskim
jezikom (ne u programskom kodu).
• Određuje da li je zadani broj n paran ili
neparan:
1. POČETAK
2. Pročitaj / Učitaj vrijednost n.
3. Podijeli n sa 2 i zapamti ostatak u pom.
4. Ako je pom 0 idi na stavku 7.
5. Ispiši „n je neparan broj“.
6. Idi na stavku 8.
7. Ispiši „n je paran broj“.
8. KRAJ
1
I = 1,k
2
3
Grananje(Selekcija) Ponavljanje (Iteracija)
• razgranata linijska struktura • višestruko izvršavanje naredbi - petlja
ne Za svaki i =….
?
da inače naredbe
tada slijedeći i
1. primjer
start
A, B
kraj
4
2. primjer
start
A, B
kraj
ili
3. primjer
start
A, B
Sastaviti blok dijagram koji
ne
A>0 izračunava razliku dva broja
da X i Y s tim da se uvijek oduzima
ne
B>0 manji od većeg.
da
U=A*B
kraj
4. primjer
start
X, Y
kraj
5
5. primjer
start
start
n
Z=0
Z=0
i = 1, 20 Napraviti algoritam za
i = 1, n
Z=Z+i izračunavanje aritmetičke sredine
Z=Z+i prvih m brojeva!
Z
Z
kraj
kraj
6. primjer
start
S=0
Sastaviti dijagram toka
i = 1, m
koji izračunava funkciju
S=S+i
y = xn !
P=S/m
kraj
7. Primjer
start
X, n
Kreirati algoritam za sljedeći problem:
Y=1
ako je
da
x>3 => y = x2 + 5
n=0 Y kraj
x=3 => y=1
ne x<3 => y = 1 / (x2 + 5)
Y=Y*X
n=n-1
6
start 8. Primjer
x Napraviti dijagram toka za izračunavanje
vrijednosti funkcije:
da
x>3 Y = x*x+5
x*y za x = y
ne
f= x-y za x > y
da
x=3 Y=1 x+y za x < y
ne
Y = 1/(x^2+5)
kraj
start
Polja/Područja (array)
X, Y Podatkovna struktura gdje isto ime dijeli
ne ne
više podataka.
X>Y X=Y
- uređeni skup podataka čiji su
da da
elementi istog tipa.
f=X+Y f=X-Y f=X*Y
- najčešća struktura podataka
- indeks je osnovni elemenat pristupa
f polju koji definira uređenost polja.
kraj
5 4 9 7 19 7 5 9 23 6
- određena se vrijednost broji od neke
početne vrijednosti pa sve do neke
krajnje vrijednosti,
vrijednosti (elementi) - rad s područjima (jednodimenzijalna
- liste, dvo i višedimenzijalna
područja).
7
Nizovi
Polja/Područja (array)
Martica •Unos niza na dva načina:
15P(4,4)
14P(4,3)
1 2 3 4 13P(4,2)
12P(4,1)
1 0 1 3
2 11P(3,4)
10P(3,3)
start start
2 4 5 6 7 9P(3,2)
8P(3,1)
8 10 11
3 9 7P(2,4)
X(i), n n
6P(2,3)
4 12 13 14 15
5P(2,2)
4P(2,1)
3P(1,4)
2P(1,3)
… i = 1, n
1P(1,2)
0P(1,1)
X(i)
Preslikavanje elemenata po redovima
start
1. Primjer n
i = 1, n
Napraviti dijagram toka koji
X(i)
izračunava zbroj svih
elemenata niza!
Zbroj = 0
i = 1, n
Zbroj
kraj
2. Primjer start
X(i), Y(i), n
8
3. Primjer
1
Zbroj
kraj
start
n 4. Primjer
i = 1, n
X(i)
Napraviti blok dijagram koji elemente niza
sortira od najmanjeg ka najvećem!
max = X(1)
i = 2, n
ne
X(i)>max
da
max = X(i)
max
kraj
1 2
start
i = 1, n-1
i = 1, n
5. Primjer
n
j = i+1, n
i = 1, n
X(i) Kreirati blok dijagram koji računa
X(i)>Y(i)
ne frekvenciju (broj ponavljanja) svakog broja
X(i) kraj
u nizu!
da
1 pom = X(i)
X(i) = X(j)
X(j) = pom
9
1 2
start
i = 1, n j = 1, n 6. Primjer
n
f=0
i = 1, n
p=0 X(i)=X(j)
ne Napraviti blok dijagram koji za neku
k = 1, i-1 da
provedenu anketu broji koliko je odgovora
X(i)
f = f+1 ‘da’, koliko ‘ne’, a koliko ‘mozda’!
ne
X(k)=X(i)
1
“.....” + f
da Odgovori: (‘da’, ‘da’, ‘ne’, ‘mozda’, ‘mozda’,
p=1
‘da’, ‘da’, ‘mozda’, ‘mozda’, ‘mozda’, ‘ne’,
kraj ‘da’, ‘ne’, ‘mozda’, ‘da’)
ne
p=0
da
2
start
1
2 domaća zadaća
i = 1, 15
“...” +b
i = 1, 15
Odg(i)=‘da’ a = a+1 “...” +a
Odg (i) Kreirati blok dijagram koji
“...” +c određuje najmanji element niza
a=0 Odg(i)=‘ne’ b = b+1 kraj i njegovu poziciju (indeks)!
b=0
c=0
1 Odg(i)=‘mozda’
c = c+1
PITANJA?
10