Escolar Documentos
Profissional Documentos
Cultura Documentos
www.BesplatniSeminarskiRadovi.com
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 predstavlja skup akcija sa definiranim redoslijedom njihovog obavljanja, koji primijenjen na polazni skup podataka, dovodi do traenih rezultata. U procesu programiranja, skup akcija definiran je mogunostima raunala, odnosno naredbama programskog jezika koji se koristi, dok se redoslijed izvravanja akcija zadaje pomou algoritamskih (programskih) struktura.
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. SLIDE 1 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 : Obliku pseudo jezika ( govornog jezika koji oponaa programski jezik) Grafikom obliku tzv. Blok dijagram ili dijagram tijeka programa
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.
Sort (1, 3, 4)
(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.
Linijska (slijed) programska struktura: -sve akcije se izvravaju tono jednom u redoslijedu u kome su navedene.
2.
Razgranata (selekcija) programska struktura: omoguava da se od vie grupa akcija koje se nalaze u razliitim granama
razgranate strukture, izabere ona koja e se izvriti jednom, dok se sve ostale grupe akcija nee izvriti ni jednom.
3.Ciklika (iteracija) programska struktura: skup akcija moe se izvriti vie puta.
Shema: Ciklika programska struktura Algoritamsko rjeenje bilo kojeg problema moe se uvijek zapisati koritenjem samo ove tri strukture.
ALGORITAMSKE STRUKTURE
1. Slijedna (linearne ili sekvencijalne)SLIDE 8 Poetak i kraj Definiranje varijabli i konstanti Ulaz Izlaz Aritmetike i logike operacije
2. Struktura bezuvjetnog skoka 3. Struktura grananja (sadri logike operacije) kombinira se sa: Slijednom strukturom Strukturom bezuvjetnog skoka
10
11
Jedna od moguih klasifikacija ovih struktura je: - sloene razgranate linijske strukture - sloene cikline strukture - sloene razgranate i cikline strukture - algoritamske strukture sa potprogramima
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.
12
Kombinacijom elementarnih struktura formiraju se kanonske, kvazi-kanonske i nekanonske algoritamske strukture. Postoje 4 kanonske, 5 kvazi-kanonskih i 2 nekanonske algoritamske strukture a to su : 1. kanonske algoritamske strukture kanonska linijska struktura kanonska razgranata struktura kanonska ciklika struktura
13
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
14
KODIRANJE
Algoritam zapoinje s praznim rjenikom, no uzmimo neki trenutak u tijeku kodiranja, 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.
15
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:
kodnu rije stringa jednakog P-u (ako je P prazan, alji nulu); Z, u istom obliku kao to je uitan iz ulazne struje;
--na prvo prazno mjesto u rjeniku zapii string P+Z; --isprazni P; c. ima li jo znakova u ulaznoj struji? --ako ima, vrati se na korak 2; --ako nema: ako P nije prazan, u izlaznu struju poalji kodnu rije stringa jednakog P-u; KRAJ
16
ZAKLJUAK
Algoritamske strukture vaan dio programiranja, pomou njih se zadaje redoslijed izvravanja akcija, tj. problema. One su bitan dio algoritama, jer se algoritmi nikako ne mogli strukturirati , tj rjeavati. Algoritam je postupak kojim se u konanom broju koraka i u konanom vremenu dolazi do rjeenja problema ili spoznaje da rjeenja nema. Svaka vrsta stroja za obradu podataka ima svoj jezik i ne moe se koristiti na drugom stroju, ak ni na razliitim strojevima istog proizvoaa.
17
LITERATURA
www.BesplatniSeminarskiRadovi.com
18