SEMINARSKI RAD IZ PROGRAMIRANJA
|
||||||||||||||||||||||||||
|
ALGORITMI
|
PSEUDO JEZIK |
BLOK DIJAGRAM |
∫ |
|
x. Idi na y |
|
Gdje su x i y brojevi linija algoritma |
bez obzira na smjer |
Struktura bezuvjetnog skoka |
Složene algoritamske strukture nastaju kada se u elementarnim
strukturama pojedini algoritamski koraci zamjene drugim algoritamskim
koracima ili dugim elementarnim strukturama. Tako se na osnovama navedenog
principa nadgradnje mogu dati pravila za dobijanje složenih algoritamskih
struktura.
To se postiže:
1) kada se u prostoj linijskoj strukturi u sastavu razgranate linijske
ili ciklične strukture algoritamski korak prve vrste (ne dovodi do grananja
algoritma i ima jedan ulaz i jedan izlaz) zamjeni algoritamskim korakom
druge vrste (dovodi do grananja algoritma i ima jedan ulaz i više izlaza)
2) kada se u prostoj linijskoj strukturi u sastavu razgranate linijske ili ciklične strukture algoritamski korak prve vrste zamjeni novom razgranatom linijskom ili cikličnom strukturom;
3) zamjenom algoritamskog koraka proizvoljne elementarne strukture algoritamskim korakom za poziv potprograma
4) kada se u već formiranim algoritamskim strukturama
ponavljaju zamjene iz pravila danih u točkama (1), (2) i (3).
Primjenom navedenih pravila mogu se formirati najraznovrsnije složene
algoritamske strukture.
Jedna od mogućih klasifikacija ovih struktura je:
- složene razgranate linijske strukture
- složene ciklične strukture
- složene razgranate i ciklične strukture
- algoritamske strukture sa potprogramim
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 ciklička struktura
2. kvazi- kanonske algoritamske strukture
3. nekanonske algoritamske strukture
Izvodi se kao i u matematici uvrštavanjem vrijednosti u algoritam.Algoritam se testira sekvencijalno praćenjem svakog reda (instrukcije) algoritma od početka do kraja, uz zapisivanje vrijednosti koje varijable usput poprimaju, da bi se u konačnici i saznala konačna vrijednost izlaznih varijabli.
Pr. Zadatka:
Kolika je vrijednost varijable s nakon izvođenja algoritma, ako za x učitamo 2, a za y učitamo 5:
1. X=0, Y=0, S=0
2. Učitaj X
3. Učitaj Y
4. S=S+Y
5. Ispiši S S
= 5
Algoritam započinje s praznim rječnikom, no uzmimo neki
trenutak u tijeku kodiranja, kad rječnik već sadrži neke stringove. Analiziramo
prefiks koji slijedi u ulaznoj struji, počevši sa praznim prefiksom. Ako
njemu odgovarajući string (prefiks + sljedeći znak, odnosno P+Z) postoji
u rječniku, proširujemo prefiks P znakom Z. Proširenje ponavljamo sve
dok ne dobijemo string koji ne postoji u rječniku. Tada na izlaz pošaljemo
kodnu riječ koja odgovara P-u, a zatim i znak Z. Sljedeći prefiks koji
analiziramo direktno se nastavlja na obrađeni.
Poseban je slučaj ako u rječniku ne postoji ni početni string od samo
jednog znaka (to se uvijek događa na početku kodiranja). Tada se na izlaz
alje posebna kodna riječ koja označava prazni string. Iza nje se šalje
dotični znak i taj se znak dodaje u rječnik.
Izlaz iz algoritma su parovi kodna riječ-znak (K,Z). Svaki put kad se
taj par pošalje na izlaz, string iz rječnika koji odgovara kodnoj riječi
K proširi se znakom Z i taj novi string se doda u rječnik. To znači da
u trenutku kad dodajemo neki string, u rječniku već postoje svi stringovi
dobiveni oduzimanjem znakova s kraja tog stringa.
1. Na početku su rječnik i P prazni;
2. Z := sljedeći znak u ulaznoj struji;
3. Postoji li string P+Z u rječniku?
a. ako postoji, P := P+Z (P proširi Z-om);
b. ako ne postoji,
--u izlaznu struju pošalji dva podatka, i to:
- kodnu riječ stringa jednakog P-u (ako je P prazan, šalji nulu);
- Z, u istom obliku kao što je učitan iz ulazne struje;
--na prvo prazno mjesto u rječniku 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 pošalji kodnu riječ stringa jednakog P-u;
- KRAJ
ZAKLJUČAK
Algoritamske strukture važan dio programiranja, pomoću njih se zadaje
redoslijed izvršavanja akcija, tj. problema. One su bitan dio algoritama,
jer se algoritmi nikako ne mogli strukturirati , tj rješavati. Algoritam
je postupak kojim se u konačnom broju koraka i u konačnom vremenu dolazi
do rješenja problema ili spoznaje da rješenja nema. Svaka vrsta stroja
za obradu podataka ima svoj jezik i ne može se koristiti na drugom stroju,
čak ni na različitim strojevima istog proizvođača.
LITERATURA
http://bs.wikipedia.org/wiki/Programiranjehttp://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
preuzmi seminarski
rad u wordu » » »
Besplatni Seminarski Radovi