Professional Documents
Culture Documents
Predmetni profesor:
prof.dr.Duan Starevi
Student:
Vedran Vidi 27-10/RPI
0
SADRAJ
SADRAJ...1
UVOD... 2
ALGORITAM.....3-4
OBLIKOVANJE ALGORITMA.....5-6
PROGRAMSKE STRUKTURE.7-8
ALGORITAMSKE STRUKTURE........9
SLOENE ALGORITAMSKE STRUKTURE...10-11
KANONSKE I NEKANONSKE ALGORITAMSKE STRUKTURE..12
TESTIRANJE ALGORITMA.......13
KODIRANJE.............14
ALGORITAM ZA KODIRANJE..............15
ZAKLJUAK................16
LITERATURA......17
UVOD
ALGORITAM
Algoritam je skup pravila ili pravilo sa svojstvom preciznou, jednoznanosti te obuhvaa
konaan broj koraka, a svaki korak je opisan instrukcijom. Instrukcije moraju biti izvedive i
jednoznane.Algoritam opisuje rjeavanje nekoga problema. SLIDE1
Postupak obavljanja algoritma je algoritamski proces. Algoritam ima definirane poetne
objekte nad kojima se obavljaju operacije, a ishod toga je skup rezultata tj. zavrnih objekata i
on je djelotvoran.
Da bi algoritam bio uinkovit rezultat se mora dobiti u prihvatljivom ili razumnom
vremenu. Insturkcije se mogu izvriti nekoliko puta te instrukcije morajuu pokazivati na
ponavljanje, ali za bilo koju vrijednost ulaznih podataka algoritam zavrava nakon konanog
broja ponavljanja.
Kod zapisivanja algoritama upotrebljava se programski jezik C, rije je o
nedovrenom kodu gdje su neki nizovi naredbi zamijenjeni tekstom. Analiza algoritma
podrazumijeva procjenu vremena za izvravanje toga algoritma, a vrijeme se poistivjeuje sa
brojem operacija koje odgovarajui program treba obaviti i on se izraava kao funkcija.
Algoritam se zapisuje u :
OBLIKOVANJE ALGORITMA
Oblikovanje algoritama se dijeli na tehnike: podijeli pa vladaj, dinamiko programiranje,
pohlepni pristup i backtracking. Svaka od ovih metoda ne garantira tono rjeenje problema i
zbog toga se uvijek treba napraviti provjera.
PODIJELI PA VLADAJ
Metoda podijeli pa vladaj se dijeli na tri primjera: sortiranje saimanjem, traenjem
elemenata u listi i mnoenje dugakih cijelih brojeva. Algoritam merge za sortiranjem liste se
moe tumaiti da to je lista dulja to ju je tee sortirati, velika sortirana lista se dobiva
relativno jednostavnim postupkom saimanja malih sortiranih lista.
Primjer 1.
Sortiranje saimanjem
(5, 3, 7, 1, 4, 3)
Divide
(5, 3, 7)
(1, 4, 3)
Sort
Sort
(3, 5, 7)
(1, 3, 4)
Merge
(1, 3, 3, 4, 5, 7)
PROGRAMSKE STRUKTURE
Postoje tri programske strukture a to su:
1. Linijska(slijed)
2. Razgranata(selekcija)
3. Ciklika(iteracija)
1.
2.
razgranate strukture, izabere ona koja e se izvriti jednom, dok se sve ostale grupe akcija
nee izvriti ni jednom.
ALGORITAMSKE STRUKTURE
1. Slijedna (linearne ili sekvencijalne)SLIDE 8
Poetak i kraj
Ulaz
Izlaz
Slijednom strukturom
-
BLOK DIJAGRAM
x. Idi na y
Gdje su x i y brojevi linija algoritma
ili ciklinom
strukturom;
3) zamjenom algoritamskog koraka proizvoljne elementarne strukture
algoritamskim
iz
10
Napomena:
postaviti i zahtjev da budu strukturirane (da imaju jedan ulaz i jedan izlaz) ime se
zadovoljava princip strukturnosti primjenom tog zahtjeva u veini sluajeva algoritamske
strukture postaju logiki preglednije i pogodnije za programsku realizaciju.
11
12
TESTIRANJE ALGORITMA
Izvodi se kao i u matematici uvrtavanjem vrijednosti u algoritam.Algoritam se testira
sekvencijalno praenjem svakog reda (instrukcije) algoritma od poetka do kraja, uz
zapisivanje vrijednosti koje varijable usput poprimaju, da bi se u konanici i saznala konana
vrijednost izlaznih varijabli.
Pr. Zadatka:
Kolika je vrijednost varijable s nakon izvoenja algoritma, ako za x uitamo 2, a za y
uitamo 5: SLIDE 14
1. X=0, Y=0, S=0
2. Uitaj X
3. Uitaj Y
4. S=S+Y
5. Ispii S
S=5
13
KODIRANJE
kad rjenik ve sadri neke stringove. Analiziramo prefiks koji slijedi u ulaznoj
struji, poevi sa praznim prefiksom. Ako njemu odgovarajui string (prefiks + sljedei znak,
odnosno P+Z) postoji u rjeniku, proirujemo prefiks P znakom Z. Proirenje ponavljamo sve
dok ne dobijemo string koji ne postoji u rjeniku. Tada na izlaz poaljemo kodnu rije koja
odgovara P-u, a zatim i znak Z. Sljedei prefiks koji analiziramo direktno se nastavlja na
obraeni.
Poseban je sluaj ako u rjeniku ne postoji ni poetni string od samo jednog znaka (to se
uvijek dogaa na poetku kodiranja). Tada se na izlaz alje posebna kodna rije koja
oznaava prazni string. Iza nje se alje dotini znak i taj se znak dodaje u rjenik.
Izlaz iz algoritma su parovi kodna rije-znak (K,Z). Svaki put kad se taj par poalje na
izlaz, string iz rjenika koji odgovara kodnoj rijei K proiri se znakom Z i taj novi
string se doda u rjenik. To znai da u trenutku kad dodajemo neki string, u
rjeniku ve postoje svi stringovi dobiveni oduzimanjem znakova s kraja tog
stringa.
14
Algoritam za kodiranje
1. Na poetku su rjenik i P prazni;
2. Z := sljedei znak u ulaznoj struji;
3. Postoji li string P+Z u rjeniku?
a. ako postoji, P := P+Z (P proiri Z-om);
b. ako ne postoji,
--u izlaznu struju poalji dva podatka, i to:
KRAJ
15
ZAKLJUAK
16
LITERATURA
http://bs.wikipedia.org/wiki/Programiranje
http://www.pmfst.hr/~stankov/Programiranje_I_WWW/Osnove
%20programiranja/APL_SW2.PDF
http://www.pmfst.hr/~stankov/Programiranje_I_WWW/Ppt_prezentacije/strukture.pdf
Grbavac, V., Informatika
www.BesplatniSeminarskiRadovi.com
17