Vous êtes sur la page 1sur 46

UNIVERZITET CRNE GORE

EKONOMSKI FAKULTET
Podgorica, 2004. godine















ALGORITMI
-skrpta-






Autori:
Dr Ljiljana Kaelan
Mr Biljana Rondovi
Tamara Mili


EKONOMSKI FAKULTET
PODGORICA

2



Sadraj

Zadatak i algoritam....
Algoritam....
Vrste algoritamskih ema......
Linijske algoritamske eme.....
Proste linijske algoritamske eme.....
Razgranate linijske algoritamske eme.....
Cikline algoritamske eme...
Konstantne cikline algoritamske eme..
Promjenljive cikline algoritamske eme...
Sloene algoritamske eme
Ekvivalentni algoritmi i sloenost algoritma..
Provjera ispravnosti algoritma
Osobine algoritma
Zadaci za vjebu..
Zadaci za samostalni rad.....................................................................


















3
3
7
7
7
8
10
11
12
14
15
19
21
22
43
EKONOMSKI FAKULTET
PODGORICA

3
Poetak
Kraj
ZADATAK I ALGORITAM

Postoji veliki broj zadataka koje ovjek treba da rijei pomou raunara.
Pod procesom rjeavanja zadatka na raunaru podrazumijeva se zajednika
djelatnost ovjeka i raunara. Znaajna sposobnost ljudi jeste da uoe zadatak, da
ga dobro postave, a zatim da ga rijee. Uoiti zadatak znai ocijeniti, zakljuiti da
na osnovu nekih poznatih veliina, ima smisla traiti, odrediti, neke druge
nepoznate veliine. Ove poznate veliine zovemo polazne veliine zadatka, a
traene, nepoznate veliine, zovemo rjeenja zadatka. Kada su uoene polazne
veliine i svrha zadatka, formulie se postavka zadatka, u kojoj se ovo jasno
navodi.
Uslovno se moe proces rjeavanja zadatka na raunaru predstaviti kroz
nekoliko etapa:
1. Formulacija problema
2. Matematiki oblik problema
3. Algoritmizacija problema
4. Programiranje
5. Izrada test primjera
6. Testiranje problema
7. Dobijanje i analiza rezultata
Ne zanemarujui znaaj nijedne od navedenih etapa na vjebama e
posebna panja biti posveena problemu algoritma i nainima njihovog rjeavanja.
ALGORITAM

Def: Algoritam je skup pravila formulisanih za rjeavanje nekog zadatka.
Najee je algoritam predstavljen u obliku blok eme sa jasno definisanim nizom
radnji. Grafiki zapis algoritma naziva se algoritamska ema. Algoritamska ema
se odlikuje sljedeim karakteristikama:
Omoguuje zapis algoritma na nain koji obezbjeuje lako otkrivanje
greaka u strukturi algoritma
Omoguuje krai i jasniji zapis algoritma (prednost u odnosu na
tekstualni oblik)
Pregledna je veza izmeu detalja i cjeline algoritma
Algoritam u ovom obliku je nezavisan od njegovog daljeg korienja.

Grafiki simboli koji se koriste za algoritamske eme mogu se prikazati na
sledei nain:


Definie poetak (prvi algoritmaski korak)
Definie ulazne veliine algoritma
Definie obradu podataka
Uslovni algoritamski korak
Definie izlazne veliine algoritma
Definie kraj algoritma
EKONOMSKI FAKULTET
PODGORICA

4
Primjer la:
Poznavajui osobine prirodnih brojeva i operacije sabiranja i mnoenja
prirodnih brojeva, rijeiti sljedei zadatak (tekstualno i grafiki)
Nai proizvod prirodnih brojeva X i Y.

Z=X*Y
Ako je X=2 i Y=5 2+2+2+2+2 X*Y=X+X+X+X+X...

5 puta Y puta
Koraci za rjeavanje bi bili :
1. Ulazne veliine su X i Y, prei na korak 2
2. Postaviti da je Z=O, prei na korak 3
3. Uveaj Z za X, prei na korak 4
4. Umanji Y za 1, prei na korak 5
5. Ako je Y0 (1,2,3...) vrati se na korak 3
6. Ako je Y=0 prei na korak 6
7. Izlazna veliina je Z. KRAJ.
Kako to izgleda u konkretnom sluaju?
1. X = 15, Y =3
2. Z = 0
3. Z = Z + X 0 + 15 = 15
4. Y = Y 1 3 1 = 2
5. Y 0
3. Z = Z + X 15 + 15 = 30
4. Y = Y 1 2 - 1 = 1
5. Y 0
3. Z = Z + X 30 + 15 = 45
4. Y = Y 1 1 1 = 0
5. Y = 0
6. Z = 45 KRAJ

















,
EKONOMSKI FAKULTET
PODGORICA

5
Grafiki zapis algoritma:





























X, Y
Z = 0
Y = 0
Z
Kraj
Poetak
Z = Z + X
Y = Y - 1
da
ne
EKONOMSKI FAKULTET
PODGORICA

6
Primjer 1b:
Sastaviti algoritamsku emu za stepenovanje prirodnog broja X prirodnim
brojem N (X
n
), koristei operaciju mnoenja

Z = X
n
Z = X * X * X * X * X *X (n puta)










X, n
Z = 1
n = 0
Z
Kraj
Poetak
Z = Z * X
n = n - 1
da
ne
EKONOMSKI FAKULTET
PODGORICA

7
VRSTE ALGORITAMSKIH EMA

Algoritamske eme se mogu podijeliti u tri kategorije:
Linijske algoritamske eme
Cikline algoritamske eme
Sloene algoritamske eme

1) Linijske algoritamske eme su one eme kod kojih se svaki algoritamski korak
izvrava najvie jedanput u toku izvravanja algoritma. Mogu biti proste i
razgranate.
a. Proste linijske algoritamske eme su eme kod kojih se svaki
algoritamski korak izvrava tano jednom u toku jednog izvravanja
algoritma. Sastoji se od algoritamskih koraka ulaza, obrade i izlaza.

Primjer 1c.
Sastaviti algoritamsku emu za izraunavanje vrednosti Z po sljedeoj formuli:
Z = X
1
* (X
2
3X
3
), tako da u jednom algoritamskom koraku moe biti samo jedna
aritmetika operacija.

Rjeenje:






























X
1
, X
2
, X
3

Z
1
= 3 * X
3

Z
Kraj
Poetak
Z
2
= X
2
Z
1

Z = X
1
* Z
2

Ulazne veliine su X
1
, X
2
, X
3

Meurezultati su Z
1
, Z
2
, Z
Izlazna veliina je Z
EKONOMSKI FAKULTET
PODGORICA

8

b. Razgranate linijske eme. Za razliku od prostih linijskih ema kod kojih
se svaki algoritamski korak izvrava tano jednom, kod razgranatih
linijskih ema svaki algoritamski korak se izvrava najvie jednom (znai
jednom ili nijednom) i obavezno sadri bar jedan uslovni algoritamski
korak (vidjeli smo u prethodnom primjeru da nije bilo uslovnih
algoritamskih koraka). Ako je uslov ispunjen, izlaz iz algoritamskog
koraka bie oznaen sa da, a ako uslov nije ispunjen izlaz e biti
oznaen sa ne, ili e biti bez oznake.
Moe se rei da su razgranate linijske eme sastavljene od 3 proste eme i
uslovnog algoritamskog koraka.

Kako to izgleda?

















U toku jednog izvavanja algoritma izvrie se samo jedna od prostih ema (P
2

ili P
3
). Neka od ema P
2
ili P
3
moe biti izostavljena.
Znai, algoritam moe imati sledei oblik:




P
1

Uslov
Kraj
Poetak
P
2
P
3

da
ne
P
1

Uslov
Kraj
Poetak
P
2

da
ne
P
1

Uslov
Kraj
Poetak
P
3

da
ne
ili
EKONOMSKI FAKULTET
PODGORICA

9
Primjer 1d, za razgranate linijske eme:
Sastaviti algoritam za izraunavanje vrednosti Z po formuli:

X
1
+ X
2
; X
1
< X
2
Z =
X
1
X
2
; X
1
X
2

















Primjer 1e, za razgranate linijske eme.
Sastaviti algoritam za izraunavanje vrijednosti Z. Ako je X
1
ocjena iz
marketinga, X
2
ocjena iz informatike, izraunati Z po formuli:

Prosjena ocjena, X
1
< X
2
Z =
Ocjena iz Informatike; X
1
X
2
X
1
< X
2
Kraj
Poetak
Z = X
1
X
2

Z = (X
1
+ X
2
)
da
ne
X
1
, X
2
Z
X
1
< X
2
Kraj
Poetak
Z = X
2

Z = (X
1
+ X
2
)/2
da
ne
X
1
, X
2
Z
EKONOMSKI FAKULTET
PODGORICA

10
2) Cikline algoritamske eme su one eme kod kojih se jedan ili vie algoritamskih
koraka moe izvravati vie od jedanput u toku jednog izvravanja algoritma.
Ovi algoritamski koraci ine ciklus. Uopte reeno, cikline eme se sastoje od
prostih ema P
1
, P
2
, P
3
, P
4
i uslovnog algoritamskog koraka.
Ukoliko je uslov ispunjen, vri se izlazak iz ciklusa. U suprotnom, ciklus se
ponavlja.
Dakle, uslov definie izlazak iz ciklusa i zove se izlazni kriterijum ciklusa.
Obino je to broj ponavljanja ciklusa.

Kako to izgleda?



















Neka od prostih ema P
2
ili P
4
moe biti izostavljena.

















Preuslov Postuslov
P
4
se moe izvriti 0 ili vie puta Koraci unutar ciklusa (P
2
) e se
izvriti najmanje jedanput
P
1

Uslov
Kraj
Poetak
P
4
P
3

da
ne
P
2

P
1

Uslov
Kraj
Poetak
P
4
P
3

da
ne
P
1

Uslov
Kraj
Poetak
P
3

da
ne
P
2

ili
EKONOMSKI FAKULTET
PODGORICA

11
Cikline algoritamske eme mogu biti konstante i promjenjljive.
a) Konstantne cikline eme su eme kod kojih se zakon obrade unutar ciklusa
ne mijenja.

Primjer 2a, za konstantne cikline eme
Sastaviti algoritam koji za poznato n i brojeve x
1
, x
2
, x
3
, x
n
rauna prosjenu
vrijednost brojeva.

Rjeenje:
P = (x
1
+ x
2
+ x
3
+ + x
n
)/n
P = S/n (S = x
1
+ x
2
+ x
3
+ + x
n
)




x
1
, x
2
, x
3
, ...x
n
, n
ne
Poetak
n = 0
i = 1
S = S + x
i

da
S = 0
i = i + 1
i = n
Kraj
P = S/n
P = 0
P
ne
da
EKONOMSKI FAKULTET
PODGORICA

12
Primjer 2a*
Da je zadatak glasio:
Sastaviti algoritam koji za poznato n>0 i brojeve x
1
, x
2
, x
3
, x
n
rauna
prosjenu vrijednost brojeva, onda bi algoritamska ema izgledala:





























b) Promjenljive cikline eme su eme kod kojih u ciklusu dolazi do promjene
zakona obrade u toku izvravanja algoritma.

Primjer 2b, za promenljive cikline eme:
Sastaviti algoritam koji izraunava sumu:

=
=
n
i
Z
1
) 1 (
i+1
* x
i
za poznato n>o i x
1
, x
2
, x
n


Kada je stepen neparan (-1)
3
= (-1)*(-1)*(-1) = - (minus)
Kada je stepen paran (-1)
2
= (-1)*(-1) = + (plus)

U zadatku emo izraz (-1)
i+1
obiljleiti sa
Z = X
1
X
2
+ X
3
X
4
+ X
5
X
6

Poetak
i = 1
S = S + x
i

ne
S = 0
i = i + 1
i = n
Kraj
P = S/n
da
P
x
1
, x
2
, x
3
, ...x
n
, n
EKONOMSKI FAKULTET
PODGORICA

13
Poetak
i = 1
Kraj
Z = Z + *x
i

= 1
da
ne
Z = 0
i = i + 1
i = n
Z
x
1
, x
2
, ...x
n
, n
= *(-1)
EKONOMSKI FAKULTET
PODGORICA

14
3) Sloene algoritamske eme su eme koje se dobijaju kompozicijom gore
navedenih ema.

Primjer 3a, za sloene algoritamske eme
Sastaviti algoritam koji za poznato n>0 i brojeve x
1
, x
2
, x
3
, x
n
rauna sumu
brojeva x
1
, x
2
, x
3
, x
n
uveanih za 5% u sluaju da su manji od 100.





Poetak
i = 1
Kraj
x
i
= x
i
* 1.05
da
ne
S = 0
S = S + X
i

i = n
S
x
1
, x
2
, ...x
n
, n
i = i + 1
X
i
< 100
da
ne
EKONOMSKI FAKULTET
PODGORICA

15
EKVIVALENTNI ALGORITMI I SLOENOST ALGORITMA

Za rjeavanje jednog zadatka moe se sastaviti vie razliitih algoritama, a da pri
tom svaki od njih bude taan. Za takve algoritme kaemo da su ekvivalentni.
Ekvivalentni algoritmi za iste ulazne veliine daju iste izlazne veliine. Meu
ekvivalentnim algoritmima treba izabrati onaj koji najefikasnije rjeava zadatak.
Kriterijumi za efikasnost algoritma koji se rjeava na raunaru su minimalan utroak
memorije i velika brzina izvravanja, sloenost strukture algoritama itd.
Utroak memorije (tj. broj koji pokazuje broj promenljivih koje koristi
algoritam) naziva se prostorna sloenost algoritma.

Primjer:
Algoritamska ema za zadatak koji smo radili i koji je glasio:
Sastaviti algoritamsku emu za izraunavanje vrijednosti Z po formuli:
Z = X
1
*(X
2
-3X
3
), tako da u jednom algoritamskom koraku moe biti samo jedna
aritmetika operacija, je tana ali nije optimalna. Zato?
Rekli smo da je za optimalnost algoritma bitan utroak memorije. A koliki je
utroak memorije zavisi od broja promjenljivih koje koristi algoritam.
U zadatku smo koristili promjenljive x
1
, x
2
, x
3
, z
1
, z
2
, z i zadatak je izgledao:

Reenje: A mogao je da izgleda:

X
1
, X
2
, X
3

Z
1
= 3 * X
3

Z
Kraj
Poetak
Z
2
= X
2
Z
1

Z = X
1
* Z
2

Ulazne veliine su X
1
, X
2
, X
3

Meurezultati veliine su Z
1
, Z
2
, Z
X
1
, X
2
, X
3

Z = 3 * X
3

Z
Kraj
Poetak
Z = X
2
Z
Z = X
1
* Z
EKONOMSKI FAKULTET
PODGORICA

16
Vrijeme potrebno za izvravanje algoritma naziva se vremenska sloenost
algoritma. Najee zavisi od broja operacija.
Optimalan je onaj algoritam koji ima najmanju vremensku sloenost.

Primjer:
Prvi zadatak koji smo radili na asu, a u kom je trebalo sastaviti algoritam za
mnoenje prirodnih brojeva, pri emu se koristi operacija sabiranja. Zadatak je bio tano
uraen, ali nije bio optimalan.
Vremenski nije isto uraditi:
3 * 15 = 15 + 15 + 15 (3 operacije) ili
15 * 3 = 3 +3 + 3 + ... 3 (15 operacija)
Optimalno reenje bi moglo biti:





































Optimalan je onaj algoritam koji ima minimalnu i prostornu i vremensku sloenost.
Poetak
X = Y
Kraj
P = X
da
ne
Y = P
Z = 0
Y = 0
Z
X, Y
Z = Z + X
X< Y
da
ne
Y = Y - 1
X Y




P
3 15
3
Pomona kutija
1 3
2
EKONOMSKI FAKULTET
PODGORICA

17
Zadaci:

Nai optimalno rjeenje za zadatke:
1. Sastaviti algoritamsku emu za n>0 i x
1
, x
2
, x
3
, x
n
koja izraunava prosjenu
vrijednost P = (x
1
+ x
2
+ x
3
+ x
n
) /n

Optimalno rjeenje je:





























Umjesto x
1
, x
2
, x
n
koristimo samo promjenljivu x.
Poetak
i = 0
Kraj
S = S + X
P = S/n
da
S = 0
I = i + 1
i = n
P
n
X
ne
EKONOMSKI FAKULTET
PODGORICA

18
Sastaviti algoritamsku emu koja za n i iznose novca k1, k2, k3, kn izraunava:
a. Ukupan iznos novca posle umanjenja svih iznosa za 0.07%
b. Ukupno poveanje svih iznosa na ime poveanja svakog pojedinanog
iznosa od 10%
a.




Poetak
S = 0
Kraj
n = n - 1
da
k = k k*0.07/100
S = S + k
n = 0
S
n
K
ne
Poetak
S = 0
Kraj
n = n - 1
da
p = k*0.01
S = S + p
n = 0
S
n
K
ne
b.
Umjesto k1, ... kn koristimo k.
Umjesto I, izlazni kriterijum ciklusa definiemo
pomou n.
Da li je to mogue kod prethodnog primjera. Zato?
EKONOMSKI FAKULTET
PODGORICA

19
PROVJERA ISPRAVNOSTI ALGORITMA

Proces stvaranja algoritma je kreativan proces i nemogue ga je formalizovati.
Stoga je ovaj posao podloan grekama. Ovo je veliki problem, jer se greke u
algoritmu kasnije odraavaju na program. Danas postoji veliki broj metoda kojim se
dokazuje ispravnost algoritma.
Umjesto dokazivanja ispravnosti algoritma, moe se vriti njegovo testiranje.
Testiranje je ustvari provjera algoritma preko primjera. Testiranje nije uvek 100%
sigurno (jer se i u procesu testiranja mogu potkrati greke), ali se sa velikom
vjerovatnoom mogu otkriti greke.
Moemo obaviti testiranje na ve uraenom primeru, koji je raunao prosek n
brojeva (Primjer 2a*) i koji je izgledao ovako:




























Ako je n = 2 i x
1
= 1 i x
2
= 3
Testiramo korak po korak i ako rezultat bude 2, onda je i algoritam taan.

Ako je n=0 onda ovaj algoritam nije ispravan. Tada vrimo njegovu korekciju, pa bi
algoritam izgledao:
Poetak
i = 1
S = S + x
i

ne
S = 0
i = i + 1
i = n
Kraj
P = S/n
da
P
x
1
, x
2
, x
3
, ...x
n
, n
EKONOMSKI FAKULTET
PODGORICA

20





























Algoritam Primjer 2a* je ispravan za n>0, ali zbog osobine 5 (masovnost) treba
teiti da on vai za za najiri skup ulaznih veliina, pa i za n=0.
x
1
, x
2
, x
3
, ...x
n
, n
ne
Poetak
n = 0
i = 1
S = S + x
i

da
S = 0
i = i + 1
i = n
Kraj
P = S/n
P = 0
P
ne
da
EKONOMSKI FAKULTET
PODGORICA

21
OSOBINE ALGORITAMA

I pored raznovrsnosti, algoritmi imaju neke zajednike osobine:
1) Diskretnost algoritma. Ako posmatramo izvravanje algoritama u vremenu, tada
svakom algoritamskom koraku moemo pridruiti diskretan vremenski period u
kom se taj korak izvrava.
2) Determinisanost algoritma. Svaki algoritamski korak sadri ulazne veliine na
osnovu kojih se jednoznano odreuju izlazne veliine.
3) Elementarnost algoritamskih koraka. Zakon dobijanja izlaznih veliina na
osnovu ulaznih mora biti jasan i prost.
4) Rezultativnost algoritma. Za svaki mogui skup ulaznih veliina u algoritmu
mora biti definisano ta se smatra rezultantom.
5) Masovnost. Algoritam treba uraditi tako da vai za najiri skup ulaznih veliina.
EKONOMSKI FAKULTET
PODGORICA

22








OSNOVNI ALGORITMI
Zadaci za vjebu
EKONOMSKI FAKULTET
PODGORICA

23
1. Sastaviti algoritam koji ispituje da li je prirodan broj N djeljiv prirodnim brojem K

k
k
n
n *
(

=

3 *
3
15
15
(

=


Uzimaju se u obzir cjelobrojne vrijednosti.


n, k
k
k
n
n *
(

=
n je djeljivo
sa k
Kraj
Poetak
da
ne
n nije
djeljivo sa k
EKONOMSKI FAKULTET
PODGORICA

24
2. Sastaviti algoritam koji ispituje da li je prirodan broj n paran


2 *
2
(

=
n
n







n
2 *
2
(

=
n
n
n je paran
broj
Kraj
Poetak
da
ne
n nije paran
broj
EKONOMSKI FAKULTET
PODGORICA

25
3. Sastaviti algoritam koji nalazi zbir cifara prirodnog broja n

Primjer: Za broj 2431 nai zbir cifara

2 4 3 1
2431 - 10 *
10
2431
|
.
|

\
|
= 2431 - 2430 = 1
243 - 10 *
10
243
|
.
|

\
|
= 243 - 240 = 3
24 - 10 *
10
24
|
.
|

\
|
= 24 - 20 = 4
2 - 0 = 2


10 *
10
(

=
n
n P





Poetak
Z = 0
Kraj
da
10 *
10
(

=
n
n P
Z = Z + P
n = 0
Z
n
ne
(

=
10
n
n
1 + 3 + 4 + 2 = 10
EKONOMSKI FAKULTET
PODGORICA

26
4. Unose se prirodni brojevi n sve dok se ne unese nula. Sastaviti algoritam koji e
izbrojati koliko ukupno ima parnih brojeva.

Paran broj je:

2 *
2
(

=
n
n








Poetak
Kraj
da
Br = Br + 1
n = 0
Br
ne
n
2 *
2
(

=
n
n

da
ne
Br = 0
EKONOMSKI FAKULTET
PODGORICA

27
5. Unose se n>0 i n prirodnih brojeva. Sastaviti algoritam koji odreuje najmanji
meu njima.





Poetak
MIN = x
n = 0
Kraj
da
MIN
n
ne
x
n = n - 1
x
x < MIN
MIN = x
da
ne
EKONOMSKI FAKULTET
PODGORICA

28
6. Uitava se prirodan broj n (n>0) i n prirodnih brojeva. Sastaviti algoritam koji
odreuje najvei meu njima.







Poetak
max = x
n = 0
Kraj
da
max
n
ne
x
n = n - 1
x
x > max
max = x
da
ne
EKONOMSKI FAKULTET
PODGORICA

29

7. Na depozitne raune kod banke sliva se n tednih uloga graana. Sastaviti
algoritam koji najvei uloeni iznos uveava za 5%.





Poetak
max = k
n = 0
Kraj
da
max
n
ne
k
n = n - 1
k
k > max
max = k
da
ne
100
5 max*
max max + =
EKONOMSKI FAKULTET
PODGORICA

30
8. Unose se prihodi preduzea X, Y, Z. Ukoliko je prihod prvog preduzea vei od
zbira prihoda druga dva preduzea, onda se on poveava za iznos razlike prihoda
preduzea Y i Z. Sastaviti algoritam koji izraunava za koliko procenata e se
promijeniti prihodovno uee preduzea X u ukupnom prihodu ova tri
preduzea.









Poetak
100 *
Pz Py Px
Px
Ux
+ +
=
Kraj
Px = Px + (Py Pz)
ne
Razlika
Px, Py, Pz
Razlika = Ux_novo - Ux
Px > Py + Pz
da
100 * _
Pz Py Px
Px
novo Ux
+ +
=
Ux uee prihoda preduzea X u ukupnom prihodu
Ux_novo promijenjeno novo uee
EKONOMSKI FAKULTET
PODGORICA

31
9. Unose se slova i praznine sve dok se ne unese '*'. Sastaviti algoritam koji broji
koliko je uneeno rijei. (ti mi vi *)

da
ne
C
da
ne
ne
da
Poetak
BR = 0, PC =
PC = C
PC =
BR = BR + 1
C = *
C =
Kraj
BR
PC =
BR = BR + 1
da
ne
EKONOMSKI FAKULTET
PODGORICA

32
10. Sastaviti algoritam koji rauna n!

n! = n*(n-1)*(n-2)...3*2*1
0! = 1














































n = 0
Kraj
Poetak
F = F*n
da
ne
F = 1
n
n = n - 1
F
EKONOMSKI FAKULTET
PODGORICA

33
11. Unosi se trocifren broj n. Sastaviti algoritam koji pronalazi broj inverzan broju n
(sa obrnutim redosljedom cifara).

123 321
n = 0
Kraj
Poetak
10 *
10
(

=
n
n C
da
ne
INV = 0
n
i = i - 1
INV
i = 3
INV = INV + C*10
i - 1
(

=
10
n
n
EKONOMSKI FAKULTET
PODGORICA

34
12. Od 40 pitanja, od kojih je 20 teih i 20 lakih, studenti odgovaraju na 20
pitanja. Taan odgovor na tee pitanje nosi 27 bodova, a na lake 24 boda. Za
svaki netaan odgovor studentu se oduzima 13 bodova. Ukoliko je ukupan
broj bodova vei od 100, algoritam treba da prikae osvojeni broj bodova,
ukoliko uslov nije ispunjen prikazuje se broj bodova umanjen za 5.

A broj tanih odgovora na tea pitanja
B broj tanih odgovora na laka pitanja
C broj netanih odgovora C=20-(A+B)









































A, B
C= 20-(A+B)
BR
bodova
<100
BR
bodova

Kraj
Poetak
BR
bodova
=(27*A+24*B)-13*C
da
ne BR
bodova
= BR
bodova
-5
EKONOMSKI FAKULTET
PODGORICA

35

13. Unose se podaci o godinama starosti i mestu prebivalita za graane
primorskih optina, sve dok se ne pojavi podatak TIVAT. Sastaviti algoritam
koji rauna prosenu starost u optini Bar i na kraju prikazuje taj podatak i
podatak koliki je broj graana u optini Budva.


































SGS-suma godina starosti
GS-godine starosti
MP-mesto prebivalita
I-broj onih koji su iz Bara
I
1
-broj onih koji su iz Budve
GS, MP
ne
Poetak
MP=TIVAT
SGS=0, I=0, I
1
=0
SGS =SGS+GS
I
1
= I
1
+ 1
Kraj
P = SGS/I
PS, I
1

ne
da
MP=BAR
da
i = i + 1
MP=BUDVA
da
EKONOMSKI FAKULTET
PODGORICA

36
14. Unose se novani iznosi sve dok se ne zatrai prekid. Sastaviti algoritam koji
za prvih 10 parnih iznosa ispituje koliko je onih koji su posle umanjenja od
10% bili manji od 100. Na kraju prikazuje taj broj (Ukoliko se algoritam
prekine pre 10-og parnog broja treba prikazati broja iz uslova do trenutka
prekida).












































I=I-1
I=10, Br=0
2 *
2
(

=
K
K
Kraj
Poetak
K
I = 0
da
K=K-K*10/100
K<100
da
Br=Br+1
ne
elite li prekid?
da
BR
bodova
ne
EKONOMSKI FAKULTET
PODGORICA

37
15. Unose se n prirodnih brojeva (n>0). Sastaviti algoritam koji odreuje najveu
cifru koju sadre ti brojevi. (Primjer: Meu brojevima 792,156,223, najvea
cifra je 9)




C > max
i = i + 1
da
ne
i = 1
(

=
10
x
x
max = C
da
ne
Poetak
i = 0
n = 0
Kraj
da
max
n
ne
x
10 *
10
(

=
x
x C
x = 0
n = n - 1
ne
da
EKONOMSKI FAKULTET
PODGORICA

38

16. Sastaviti algoritam kojim se ispituje da li je prirodni broj n>1 prost? (djeljiv
samo sa 1 i sa samim sobom)





ne
k = 2
ne
n
k
k
n
n *
(

=
Poetak
1
2
+
(

=
n
k
da
Kraj
da
k = k + 1
ne
da
EKONOMSKI FAKULTET
PODGORICA

39
17. Sastaviti algoritam koji broji koliko ima prirodnih brojeva u intervalu [a, b],
a,bN, a<b, iji je zbir cifara vei od proizoda njihovih cifara.







Kraj
da
BR
10 *
10
(

=
m
m c
Z = Z + c
ne
(

=
10
m
m
P = P*c
Z > P
BR = BR + 1
n = n + 1
da
ne
da
Poetak
n = a
a, b
BR = 0
Z = 0
P = 1
n > b
ne
m= 0
m = n
EKONOMSKI FAKULTET
PODGORICA

40
18. Sastaviti algoritam koji odreuje najmanji zajedniki sadralac za brojeve m i
n.


Poetak
m, n
k n
n
k
=
(

*
Kraj
k = m*i
da
ne
i = 1
n = n - 1
k
m < n
p = m
m = n
n = p
da
ne
i = i + 1
EKONOMSKI FAKULTET
PODGORICA

41
19. Uitava se 30 brojeva. Sastaviti algoritam koji pronalazi 2 uzastopna broja ija
je apsolutna razlika najmanja.





XPM = XP
Kraj
MIN = R
ne
ne
XM = X
i = 30
MIN, XPM, XM
i = 2
da
da
R < MIN
XPM = XP
MIN = R
XM = X
da
ne
Poetak
X
i = 1
X
XP = X
i = i + 1
XP X R =
EKONOMSKI FAKULTET
PODGORICA

42
20. Sastaviti algoritam koji pretvara broj iz binarnog brojnog sistema u dekadni
brojni sistem.

3 2 1 0
(1 1 0 1)
2
(13)
10


1*2
3
+ 1*2
2
+ 0*2
1
+ 1*2
0
= 13




Poetak
DEK = 0
10 *
10
(

=
n
n C
ne
MNOZ = 1
DEK = DEK + C*MNOZ
n = 0
Kraj
da
DEK
n
(

=
10
n
n
MNOZ = MNOZ*2
EKONOMSKI FAKULTET
PODGORICA

43
21. Sastaviti algoritam koji pretvara brojeve iz dekadnog u binarni brojevni sistem.

13 : 2 1 10
0

6 : 2 0 10
1

3 : 2 1 10
2

1 : 2 1 10
3

0

1101










Poetak
BIN = 0
2 *
2
(

=
n
n C
ne
MNOZ = 1
BIN= BIN + C*MNOZ
n = 0
Kraj
da
BIN
n
(

=
2
n
n
MNOZ = MNOZ*10
EKONOMSKI FAKULTET
PODGORICA

44
22. Unosi se n i n brojeva X
1
, X
2
, X
3
, ... X
n
. Sastaviti algoritam koji ureuje ovih n
brojeva u rastuem poretku.



X
i
< X
j

Kraj
Poetak
P = X
i

da
ne
i = 1
n, X
1
, X
2
, ...X
n

j = i + 1
X
i
= X
j

X
j
= P
j = n
j = j + 1
i = n - 1
i = i + 1
X
1
, X
2
, ...X
n

da
da
ne
ne
i 3 9 1 7 8
j 1 9 3 7 8
1 3 9 7 8
1 3 7 9 8
1 3 7 8 9
EKONOMSKI FAKULTET
PODGORICA

45
23. Sastaviti algoritam koji za poznato n nalazi n-ti po veliinni prost broj

(npr. za n = 3 izlaz je 2 3 5 7 11...)




i = n
Kraj
Poetak
a = a + 1
da
ne
i = 1
n
k = k + 1
a
a = 2
k = 2
1
2
+
(

>
a
k
k
k
a
a *
(

=
da
i = i + 1
da
ne
ne
EKONOMSKI FAKULTET
PODGORICA

46

Zadaci za samostalan rad:

1. U bazu podataka Crnogorske komercijalne banke unose se podaci o datim
kreditima za pravna i fizicka lica. Sastaviti algoritam koji za parne iznose
racuna prosecan iznos za pravna lica i takoe, sumu iznosa za fizicka lica
ukoliko su ti iznosi neparni i veci od 1000 eura.
2. Unose se x brojeva n, sve dok se ne zatrai prekid. Sastaviti algoritam koji za
prvih 9 parnih ocena ciji je zbir cifara veci od predhodno unesenog broja, broji
koliko je onih koje su manji od 100.
3. Klijent u banci ima n izvrenih uplata. Sastaviti algoritam koji pronalazi
razliku izmeu sume kvadrata uplata manjih od 500 eura i sume izvrenih
uplata posle uveanja svakog iznosa za 3%.
4. Na registarskim tablicama postoji petocifren broj. Sastaviti algoritam koji
inverznom broju od broja sa tablica pronalazi zbir cifara, ukoliko je zadnja
cifra tog inverznog broja paran broj i proizvod cifara , ukoliko je inverzni broj
vei od klasinog broja sa tablica.
5. U knjigu poreskih obveznika unose se prihodi za grupe preduzea iz tri
razliita sektora privrede. Broj preduzea po sektorima je X (u prvom ),Y(u
drugom), i Z (u treem).
6. Za svaki pojedini prihod izraunava se porez . Poreska stopa iznosi 25% za
prihode vee ili jednake 50 000, a 17% za ostale. Sastaviti algoritam koji
uporeuje sume obraunatih poreza po sektorima te najveu konvertuje u
dolare (1euro 0,98 dolara), a za druge dve izraunava njihovo procentualno
uee u ukupnoj sumi obraunatih poreza u sva tri sektora zajedno.
7. U bazu podataka banke unose se mesene rate za klijenta koji je isplaivao
kredit u nejednakim ratama 2 godine. Sastaviti algoritam koji u sluaju da se
unese nula ili negativan broj izdaje poruku da je unos pogrean, i nezavisno od
toga izraunava prosenu vrednost svih unosa ija je zadnja cifra vea od 6.
8. U bazu podataka Ekonomskog fakulteta unose se ocene iz Informatike, dok se
ne unese ocena 5. Sastaviti algoritam koji od 50 neparnih uneenih ocena broji
koliko je onih koji su vei od 7.

Vous aimerez peut-être aussi