Beruflich Dokumente
Kultur Dokumente
Frizerska kola
Predmet: Informatika
Algoritmi
-seminarski rad-
Profesor: Uenik:
1|stranica
Sadraj
Uvod............................................................................................................................................3
1. Definicija Algoritma............................................................................................................4
2. Historija algoritma:..............................................................................................................6
3. 5 zakona algoritma...............................................................................................................7
4. Struktura algoritma..............................................................................................................9
LITERATURA..........................................................................................................................12
2|stranica
Uvod:
Tema ovog seminarskog rada su algoritmi. Algortam je niz koraka koji vode do rjeenja
problema ili dokazuju da problem nema rjeenje. Ova definicija je svakako i najjednostavnij
definicija algoritma, ali u ovom radu emo pomenuti i razne druge definicijama algoritma,
histoirijskim razvojem algoritma. Takoer emo govoriti o zakonitostima algoritma i
algoritamskim strukturama. Takoer emo navesti neke proste primjete ovih algoritamskih
struktura. U izradi ovog rada smo se koristili sa nekoliko internet stranica, a izmeu ostalih
najvie sa Web n Study koja je specijalizirana za osnove raunarstva, programiranja i
algoritme.
3|stranica
1. Definicija Algoritma
Postoji mnogo razliitih definicija algoritma. U ovom poglavlju emo spomenuti jo neke
definicije algoritma.
-Jo jedna definicija je da je algoritam niz koraka koji jednoznano i jednostavno vode do
rjeenja peoblema, ili dokazuje da rjeenje ne postoji.
-Algoritam je precizan opis postupaka koji vode eljenom cilju. Algoritam je uputstvo za
obavljanje posla.
-Algoritam je konaan (ureen) skup strogo definisanoh algoritamskih koraka (pravila) ijom
primjenom na ulazne podatke (i meurezultate) dobijamo rjeenje zadatka poslije konano
mnogo vremena. Sve poslove koje raunar obavlja izvode se postupno, korak po korak, u
konanom vremenu. Svaki korak je jasno preciziran, kao i prelazak na svaki naredni korak.
Na kraju postupka, kad raunar zavri rad (ukoliko se to uopte desi, jer mogue je i da se rad
nikada ne zavri), dobije se neto kao rezultat.2
1 Prema https://hr.wikipedia.org/wiki/Algoritam#cite_note-InfoRjecnik-1
2 http://razno.sveznadar.info/02-2razred/5-Algoritam/1-AlgoritamF1.htm
4|stranica
5|stranica
2. Historija algoritma:
Rije algoritam dolazi od latinskog prijevoda imena iranskog matematiara Al-
-Hvarizmija koji se bavio matematikom, astronomoijom, kartografijom...
Al- Hvarizami se smatra ocem algebre jer je definirao osnovna pravila rjeavanja
linearnih i kvadratnih jednadbi. Njegovi radovi su osnova razvoja mnogih matematikih i
prirodnih disciplina, meu njima i raunarstva..
Prvi zapis algoritma prilagoen raunalu koji je pripadao Adi Byron iz 1842 (pa se zbog
ovoga smatra prvom programerkom), a raunao je Bernoullijeve brojeve. Raunalo za koje je
napisan je bio analitiki stroj, koji je zamislio, ali nikad u potpunosti proveo u djelo,
Englez Charles Babbage. Analitiki stroj je trebalo biti prvo programabilno raunalo,
sastavljeno u potpunosti od mehanikih dijelova. Mehaniki dijelovi i fizika glomaznost su
glavni razlozi zato nikad nije zavren.
Primjenom Turingovog stroja kao idealnog modela definirani su mnogi moderni problemi
vezani uz analizu algoritama, kao npr. Turingov problem zaustavljanja ili klase NP-
tekih i NP-potpunih problema.3
Turingov stroj je imaginaran stroj koji moe uzvesti bilo koju kompjutaciju izvedivu na
bilo kojem raunalu. Stroj se sastoji od beskonane vrpce, radnog dijela i popisa pravila.
Ulazno/izlazna vrpca je podijeljena u polja na kojima se mogu nai simboli koje radni dio
stroja bilo ita, brie ili upisuje.Stroj se uvijek nalazi u nekom unutarnjem stanju, te ovisno o
tom stanju i zapisima na vrpci izvodi radnje pomicanja, brisanja ili pisanja. Popis pravila je
program koji odreuje ponaanje stroja u zadanim okolnostima. Turingov stroj ita simbole na
vrpci i gleda popis pravila, u skladu s time mijenja svoje unutarnje stanje te ili pie ili brie
simbole ili pomie svoj radni dio na lijevo ili na desno.4
3 https://hr.wikipedia.org/wiki/Algoritam#cite_note-InfoRjecnik-1
4 http://marul.ffst.hr/~logika/pilot/predavanja/turing.htm
6|stranica
7|stranica
3. 5 zakona algoritma
Svaki dobar algoritam mora ispotovati 5 osnovnih zakonitosti algoritma:
Za svaki raunarski posao algoritam mora biti jasno definisan; naveden na nain koji
podrazumjeva sve mogue situacije koje se mogu pojaviti. Znai, svaki uslovni korak se mora
sistematino obraditi, sluaj po sluaj; uslov za svaki sluaj mora biti jasan i izraunljiv
(matematiki definisan). Pretpostavlja se da su instrukcije navedene jasno, da poinju od vrha
i da teku do dna. Ova ideja se formalno opisuje kontrolom toka. Ovo je najuobiajeniji
koncept u programiranju i opisuje postupke na mehaniki nain. Kod ovakve formalizacije se
unaprijed uzimaju pretpostavke o imperativnom programiranju. (Tehnike programiranja su
istovjetne s programskim stilovima i direktno su povezane s pojedinim programskim jezicima.
Imperativno programiranje opisuje raunanje kao izraze koji mijenjaju stanje programa. Kao
to se u govornom jeziku zapovijedni nain (ili imperativ) koristi za izraavanje naredbi, tako
se imperativni programi mogu posmatrati kao niz naredbi koje raunar treba izvriti).
Jedinstveno za ovaj koncept je operacija dodjeljivanja, to je davanje vrijednosti promenljivoj.
Ovo proizilazi iz intuitivnog poimanja memorije kao privremenog skladitenja odnosno
5 http://razno.sveznadar.info/02-2razred/5-Algoritam/1-AlgoritamF1.htm
8|stranica
pamenja. ) Algoritmi se obino razmatraju uz pretpostavku da u jednom trenutku izvravaju
jednu instrukciju jednog algoritma. Takvi raunari se zovu serijski raunari.
9|stranica
4. Struktura algoritma
Strukturu algoritma ini vie programskih koraka koji ine jednu celinu.
1. Linijska
2. Razgranata
3. Ciklina.
Linijska algoritamska struktura je ona kod koje se svaki korak izvrava tano jedanput.
Linijski algoritmi su osnovni. Oni predstavljaju najjednostavnije programe - ikada. To su
programi koji imaju ulaz (unos podataka), izlaz (ispis podataka), i izmeu ta dva obradu
podataka (naravno, ne obavezno tim redosledom).6
6 http://www.webnstudy.com/tema.php?id=linijski-algoritmi
10 | s t r a n i c a
4.2 Razgranati algoritam
Razgranata algoritamska struktura je ona kod koje se svaki korak izvrava jednom ili
nijednom. Stvar je u tome da, kada zadatak zahtjeva da se neke vrijednosti unesu u
promjenljive, jednostavno, ne moemo da znamo koje e to vrednosti biti. U linijskim
algoritmima smo pokazali razliite naine kako da doemo do rezultata na osnovu uneenih
vrijednosti, ali u mnogo veem broju sluajeva problem ne moemo rijeiti jednostavnim
nizom koraka. Prosto, potreban nam je neki korak pomou kojeg moemo da postavimo
pitanje "ta ako", ili moda tanije "da li je". Ovakav korak predstavlja "ravanje" izvravanja
programa. U naem algoritmu pripremamo dvije odvojene grane, i zavisno od provere na
"raskrsnici" izvrie se koraci u jednoj ili u drugoj. Zbog toga kaemo da se neki koraci izvre
jednom, a neki nijednom. Meutim, ta ako je potrebno imati vie od dvije mogunosti? Ako
je potrebno da se algoritam razvija u vie od dvije grane svaku granu uvek moemo ponovo
da "ravamo". Takoer, za specifian tip problema, moemo koristiti viestruko grananje.
Primjer zadatka je za unijeti broj x provjeriti da li je pozitivan, negativan ili jednak nuli.7
Na poetku se unosi neki broj i smeta se u promenljivu X. Onda dolazimo do prvog grananja
gde se provj
7 http://www.webnstudy.com/tema.php?id=razgranati-algoritmi
11 | s t r a n i c a
erava da li je X moda vee od 0. Iz ovog koraka idu dvije grane - jedna za da (desno) i jedna
za ne (dolje). Znai ako je uslov zadovoljen, odnosno njegova vrednost je true, izvrava se
korak koji se nalazi u desnom ogranku. Taj korak je ispis rijei "Pozitivan".
Ciklina algoritamska struktura je ona kod koje se koraci mogu izvriti vie puta.
Koraci unutar ciklusa su uvek isti, ali vrijednosti sa kojima se radi se menjaju. To je
u stvari i poenta rada sa ciklusima. Ciklini algoritmi takoer mogu imati grananja unutar
ciklusa.
8 http://www.webnstudy.com/tema.php?id=ciklicni-algoritmi
12 | s t r a n i c a
LITERATURA:
-https://hr.wikipedia.org/wiki/Algoritam#cite_note-InfoRjecnik-1
http://razno.sveznadar.info/02-2razred/5-Algoritam/1-AlgoritamF1.htm
http://marul.ffst.hr/~logika/pilot/predavanja/turing.htm
http://www.webnstudy.com/tema.php?id=linijski-algoritmi
http://www.webnstudy.com/tema.php?id=ciklicni-algoritmi
http://www.webnstudy.com/tema.php?id=razgranati-algoritmi
13 | s t r a n i c a