Algoritmi-Sadrzaj Docx1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

SADRŽAJ

UVOD..............................................................................................................................................2
1. POJAM ALGORITMA............................................................................................................3
2. PREDSTAVLJANJE ALGORITAMA....................................................................................3
2.1 Dijagram toka........................................................................................................................4
2.1.1 Primjer dijagrama toka...................................................................................................4
2.2 Pseudokod..............................................................................................................................5
2.2.1 Primjer............................................................................................................................5
3. ALGORITAMSKE STRUKTURE.........................................................................................6
3.1 Linijska struktura (Sekvencija)..............................................................................................6
3.1.1 Primjer............................................................................................................................6
3.2 Razgranata struktura (Selekcija)............................................................................................6
3.2.1 Primjer............................................................................................................................7
3.3 Ciklična Struktura (Iteracija).................................................................................................7
3.3.1 Primjer............................................................................................................................8
ZAKLJUČAK..................................................................................................................................9
LITERATURA..............................................................................................................................10
REFERENCE................................................................................................................................11
UVOD

Algoritam je skup pravila ili pravilo sa svojstvom preciznošću, jednoznačnosti te


obuhvaća konačan broj koraka, a svaki korak je opisan instrukcijom. Instrukcije moraju biti
izvedive i jednoznačne.Algoritam opisuje rješavanje nekoga problema.
Postupak obavljanja algoritma je algoritamski proces. Algoritam ima definirane početne
objekte nad kojima se obavljaju operacije, a ishod toga je skup rezultata tj. završnih objekata i on
je djelotvoran. Da bi algoritam bio učinkovit rezultat se mora dobiti u prihvatljivom ili
razumnom vremenu. Insturkcije se mogu izvršiti nekoliko puta te instrukcije morajuu pokazivati
na ponavljanje, ali za bilo koju vrijednost ulaznih podataka algoritam završava nakon konačnog
broja ponavljanja. Kod zapisivanja algoritama upotrebljava se programski jezik C, riječ je o
nedovršenom kodu gdje su neki nizovi naredbi zamijenjeni tekstom. Analiza algoritma
podrazumijeva procjenu vremena za izvršavanje toga algoritma, a vrijeme se poistivjećuje sa
brojem operacija koje odgovarajući program treba obaviti i on se izražava kao funkcija.

Algoritam se zapisuje u :
o Obliku pseudo jezika ( govornog jezika koji oponaša programski jezik)
o Grafičkom obliku tzv. Blok dijagram ili dijagram tijeka programa.

2
1. POJAM ALGORITMA

Algoritam je u opštem slučaju konačni redoslijed operatora, elementarnih obrada i pravila


o njihovoj primeni u cilju dobijanja rješenja nekog problema. Izvodjenje svakog operatora
predstavlja jedan algoritamski korak. Sa računarskog stanovišta ova definicija nije dovoljna pa se
mora dopuniti sa sa još nekim uslovima koje algoritam mora da zadovolji. To su:
o definisanost
o konačnost
o rezultat1

Definisanost : Svaka operacija ili pravilo mora imati definisano i samo jedno značenje, tj.
rezultat svake operacije mora biti jasno definisan.
Konačnost : Svaki korak mora biti takav da bi ga, bar u prinicipu, mogao izvesti čovjek
koristeći olovku i papir za konačno vrijeme. Postoje jednostavni i jednoznačni postupci koji nisu
algoritmi jer su beskonačni sa stanovišta broja koraka potrebnog za dobijanje rezultata.
Algoritmi se moraju zaustaviti posle izvršenog konačnog broja koraka i u konačnom vremenu. U
vezi sa primjenom računara treba napomenuti da vrijeme rada računara potrebno za završetak
algoritma treba biti razumno kratko.
Rezultat : Po završetku algoritma mora da postoji mogućnost da se ustanovi rezultat
njegovog rada, odnosno da li je algoritam postigao svoj cilj ili nije.
Pojam algoritma ne mora biti vezan za primjenu računara. Algoritmi se koriste u
svakodnevnom životu za izvršavanje različitih aktivnosti kao npr Kuharski recepti. Algoritam je
dakle konačna i precizno definisana procedura, niz dobro definisanih pravila, kojom se ulazne
vrednosti transformišu u izlazne, ili se opisuje izvršavanje nekog postupka.
Danas se reč algoritam najvise vezuje za pojam računarstva mada uopšteno algoritam
možemo smatrati kao uputstvo kako rešiti neki zadatak ili problem. Tako se i uputstvo za slanje
čoveka na mjesec i uputstvo za pravljenje ruske salate sastoji od niza koraka, postupaka, koje
treba uraditi i koji vode ispunjenju cilja ili rešavanju problema. Uputstvo može sadržati korake
koji se ponavljaju više puta ili korake kada treba doneti neku odluku, na osnovu nekog
kriterijuma.
Algoritam zapisan formalnim jezikom koji računar »razumije« naziva se program a jezik
zapisivanja programa naziva se programski jezik.

2. PREDSTAVLJANJE ALGORITAMA

Kad je algoritam smišljen , potrebno ga je i zapisati. To se može učiniti na više načina.


Najčešći načini zapisivanja su:

 dijagram toka i
 pseudokod 2

1 Prof.dr Zoran Avramović - PRINCIPI PROGRAMIRANJA – Skripta , Otvoreni Univerzitet APEIRON


2
Prof.dr Zoran Avramović - PRINCIPI PROGRAMIRANJA – Skripta , Otvoreni Univerzitet APEIRON

3
2.1 Dijagram toka

Jedan od načina prezentiranja algoritma je dijagram toka. To je zapravo grafički jezik, jer za
prikaz koristi grafičke simbole. Takav način zapisivanja ima nekoliko prednosti pred
pseudokodom. Zapisivanje se vrši međunarodno dogovorenim simbolima i ne ovisi o govornom
jeziku onoga koji sastavlja algoritam. Grafički prikaz je jednostavan, pregledan, lako se
pronalaze greške.
U ovom dijagramu pojedine akcije predstavljene su tačno odredjenim grafičkim simbolima
čime se osigurava jednostavnost, preglednost i jednoznačnost zapisa algoritma.

Međunarodno korišteni simboli su:

Slika 1. Međunarodno korišteni simboli

2.1.1 Primjer dijagrama toka

Primjer najjednostavnijeg algoritma koji odlučuje o tome hoćete li obući majicu kratkih ili
dugih rukava,pretstavljen dijagramom toka :

4
Slika 2. Algoritam oblačenja majice sa dugim ili kratkim rukavima
Vizuelizacija programskog toka i toka podataka su izuzetno korisni za razvoj i razradu
algoritma. Objektno orijentisano programiranje je uvelo nove pojmove i forme i u analizu i u
projektovanje, a više vrsta dijagrama se koristi u procesu koji se naziva unifikovano modelovanje
za koje je razvijen i standardizovan UML (Objedinjeni jezik za modelovanje).

Prednosti dijagrama toka su:

- Komunikacija: Dijagram toka olakšava komunikaciju svih koji su zainteresirani za


rješavanje problema.
- Efektivna analiza: Uz pomoc dijagrama toka se može efektivnije analizirati problem.
- Odgovarajuca dokumentacija: Dijagram toka je dio obavezne programske
dokumentacije, koja može služiti u različite svrhe.
- Efikasno kodiranje: Korektan dijagram toka olakšava pisanje programa (bez
obzira u kojem programskom jeziku).
- Otklanjanje grešaka: Dijagram toka olakšava pronalaženje grešaka.
- Efikasno održavanje programa: Olakšava održavanje programa

2.2 Pseudokod

Za algoritam koji je sam po sebi dovoljno složen, predstavljanje uz pomoć dijagrama toka
može biti teško za čitanje, modificiranje ili revidiranje. Zbog toga je razvijen tzv. pseudokod uz
pomoć kojeg možemo predstaviti algoritam.
Pseudokod je sastavljen od liste naredbi. Neke od tih naredbi su slične onima koje koristimo
kod dijagrama toka, npr. čitaj, ispiši ili uvjetni izrazi. 3Kod linijske algoritamske strukture
naredbe u pseudoprogramu izvršavaju se redom počevši od vrha pa sve do dna.
Pseudokod je tekstualno zapisana uputa za određeni algoritam. Takva uputa na specifičan način
opisuje korake koje je potrebno provesti da bi se ostvario algoritam.Uputa ne sadrži naredbe
pojedinog programskog jezika već samo riječima opisane korake za rješavanje određenog
problema.

2.2.1 Primjer

Spomenuti algoritam i Slika 2.(vezan uz oblačenje majice s kratkim ili dugim rukavima)
može se iskazati I pseudokodom. Takav način zapisivanja algoritma vrlo je blizak
svakodnevnom govoru i često se od njega skoro uopće ne razlikuje.
Spomenuti algoritam (Slika 2.) napisan u pseudokodu:
Pocetak
Pogledaj kolika je vanjska temperatura
Ako je temperatura manja od 25 stupnjeva
obuci majicu kratkih rukava
inače
obuci majicu dugih rukava
Kraj
3
Grbavac, V., Informatika

5
Rezultat gornjeg algoritma je jasan: ako je temperatura niža od 25 stupnjeva, obući ćete
majicu dugih rukava; inače ćete obući majicu kratkih rukava.

3. ALGORITAMSKE STRUKTURE

Pod strukturom algoritma podrazumijeva se redoslijed izvršavanja pojedinih vrsta


algoritamskih koraka u algoritmu. Algoritamske strukture se dijele u tri osnovne grupe:
o Linijska (sekvencija)
o Razgranata (selekcija) i
o Ciklična (iteracija).4

3.1 Linijska struktura (Sekvencija)

Karakteristika linijske strukture je da se svi elementi izvršavaju samo jednom i koraci se


odvijaju u nizu jedan za drugim bez ponavljanja ili "skretanja".

3.1.1 Primjer

Zbir brojeva a i b.

Slika 3. Linijska struktura


Isti primjer u BASIC-u:

INPUT a, b
zbir = a + b
PRINT zbir

3.2 Razgranata struktura (Selekcija)

Razgranata struktura algoritma je struktura u kojoj tok operacija zavisi od ispunjenosti


nekih uslova. Razgranata struktura će se pojaviti kod algoritma koji ima blok odlučivanja kao što
4
Grbavac, V., Informatika

6
su IF i CASE, pri čemu se vrši testiranje određenog uslova a prema rezultatu (obično TRUE ili
FALSE) algoritam se grana i nastavlja tok jednom od grana- opcija.
Primjer na slici je tipičan gdje se otklanja blokiranje programa provjerom da li je djelilac
jednak nuli. Ako je djelilac različit od nule, dati će rezultat dijeljenja, u suprotnom će dati samo
poruku da dijeljenje nulom nema smisla i nastaviti dalje prema sledećoj proceduri ili kraju
programa.

3.2.1 Primjer

Slika 4. Razgranata struktura (primjer)


Isti primjer u BASIC-u :

INPUT a,b
IF b <> 0 THEN
PRINT a/b
ELSE
PRINT "Ne mogu dijeliti nulom"
END

3.3 Ciklična Struktura (Iteracija)

Ciklični algoritam će se pojaviti kada treba isti posao uraditi više puta. Postoji više varijanti
ove srtukture a dvije osnovne podjele su:
o Broj iteracija (ponavljanja) je unaprijed poznat. Primjer ove petlje je na slici 5. i tu se
obično koristi petlja FOR i
o Iteracija se vrši dok se ne zadovolji određen uslov. Koriste se petlje tipa WHILE..DO.

Kod Iteracije sa provjerom istinitosti uslova (da li je uslov zadovoljen) postoje varijante s
provjerom uslova na ulazu u petlju, odnosno na izlazu tj. kraju petlje. Razlika između ove dvije
varijante je što kod provjere istinitosti uslova na kraju petlje program mora proći bar jednom
kroz petlju.

7
3.3.1 Primjer

Dijagram toka (Petlja FOR) :

Slika 5. Broj iteracija unaprijed poznat (petlja FOR)


Primjer u BASIC-u :

zbir = 0
INPUT b
FOR a = 1 TO b
zbir = zbir + a
NEXT a
PRINT zbir
END

8
ZAKLJUČAK

Izrada algoritama zahtjeva puno vježbe. Algoritmi se ne mogu naštrebati. Potrebno je


riješiti puno primjera, od jednostavnijih do sve složenijih.
Dijagram toka crtamo običnom olovkom s brisalom pri ruci. Stvari se rješavaju u hodu,
mijenjaju, popravljaju i prepravljaju. Uočavaju se stvari koje se mogu pojednostavniti. Prednost
dijagrama toka je što je pregledan, lako se test primjerima može "pješice" provjeriti. Zanimljivo
je i to da više ljudi može napraviti na isti zadatak više različitih algoritama i da su svi dobri.
Složeni algoritmi mogu se rastaviti na manje, tako rastavljeni riješiti do detalja i onda prikazati
kao rješenje u blokovima.
          I na kraju što je bio cilj naše izrade algoritama - pisanje programa.

9
LITERATURA

1. Prof.dr Zoran Avramović - PRINCIPI PROGRAMIRANJA – Skripta , Otvoreni


Univerzitet APEIRON
2. Grbavac, V., Informatika
3. http://www.pmfst.hr/~stankov/Programiranje_I_WWW/Osnove
%20programiranja/APL_SW2.PDF
4. http://www.pmfst.hr/~stankov/Programiranje_I_WWW/Ppt_prezentacije
/strukture.pdf
5. https://vtsnis.edu.rs/wp-content/plugins/vts-predmeti/uploads/PJ1%20Predavanje
%204%20Algoritami%20Kontrola%20toka%202017.pdf
6. http://www.vps.ns.ac.rs/Materijal/mat21058.pdf
7. http://ttl.masfak.ni.ac.rs/SUK/Programiranje%20i%20algoritmi%201.pdf
8. http://informatika-i-programiranje.blogspot.com/p/elementarne-algoritamske-
strukture.html

10
REFERENCE

1. Prof.dr Zoran Avramović - PRINCIPI PROGRAMIRANJA – Skripta , Otvoreni


Univerzitet APEIRON
2. Prof.dr Zoran Avramović - PRINCIPI PROGRAMIRANJA – Skripta , Otvoreni
Univerzitet APEIRON
3. Grbavac, V., Informatika
4. Grbavac, V., Informatika

11

You might also like