Você está na página 1de 9

Projekat

Tema:
Algoritmi:analiliza i dizajn

mentor:Oliver Popovi

student:Milica Nekovi

UVOD
Algoritam je skup pravila ili pravilo sa svojstvom preciznou, jednoznanosti te obuhvata
konaan broj koraka, a svaki korak je opisan instrukcijom. Instrukcije moraju biti izvodljive i
jednoznane.Algoritam opisuje reavanje nekoga problema.
Postupak obavljanja algoritma je algoritamski proces. Algoritam ima definisane poetne objekte
nad kojima se obavljaju operacije, a ishod toga je skup rezultata tj. zavrnih objekata i on je
delotvoran.
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 vrednost ulaznih podataka algoritam zavrava nakon konanog broja
ponavljanja.
Kod zapisivanja algoritama upotrebljava se programski jezik C, re je o nedovrenom
kodu gde 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 toka programa

Slika: BLOK DIJAGRAM

OBLIKOVANJE ALGORITMA
Oblikovanje algoritama se deli na tehnike: podeli pa vladaj, dinamiko programiranje,
pohlepni pristup i backtracking. Svaka od ovih metoda ne garantuje tano reenje problema i
zbog toga se uvek treba napraviti provera.

PODELI PA VLADAJ
Metoda podeli pa vladaj se deli na tri primera: sortiranje saimanjem, traenjem elemenata u
listi i mnoenje dugakih celih brojeva. Algoritam merge za sortiranjem liste se moe tumaiti da
to je lista duza to ju je tee sortirati, velika sortirana lista se dobiva relativno jednostavnim
postupkom saimanja malih sortiranih lista.
Primer 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
2. Razgranata
3. Ciklina

1.

Linijska programska struktura:


-sve akcije se izvravaju tano jednom u redosledu u kome su navedene.

EMA: linijska programska struktura

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.

ema: Razgranata algoritamska struktura

3.Ciklina programska struktura:


skup akcija moe se izvriti vie puta.

ema: Ciklina programska struktura

Algoritamsko reenje bilo kojeg problema moe se uvek zapisati korienjem samo ove tri
strukture.

ALGORITAMSKE STRUKTURE
1. Sekvencijalna

Poetak i kraj

Definisanje varijabli i konstanti

Ulaz

Izlaz

Aritmetike i logike operacije

2. Struktura bezuslovnog skoka


3. Struktura grananja (sadri logike operacije)
kombinuje se sa: - Sekvencijalnom strukturom
-

Strukturom bezuslovnog skoka

4. Struktura iteracije (ponavljanja ili petlje)

STRUKTURA BEZUSLOVNOG SKOKA (naruavanje linearnosti)


Koristi se za testiranje algoritma (preskae dio algoritma)
Izaziva greku bezuvjetnog ponavljanja( tzv. Beskonana petlja ili iteracija)
Kombinira se s strukturom grananja radi naruavanja linearnosti / uspostavljanja
ponavljanja (dijela) algoritma.
PSEUDO JEZIK

BLOK DIJAGRAM

x. Idi na y
Gde su x i y brojevi linija algoritma

bez obzira na smer

Struktura bezuslovnog skoka

SLOENE ALGORITAMSKE STRUKTURE


Sloene algoritamske strukture nastaju kada se u elementarnim strukturama
pojedini algoritamski koraci zamene drugim algoritamskim koracima ili
dugim elementarnim strukturama. Tako se na osnovama navedenog principa
nadgradnje mogu dati pravila za dobijanje sloenih algoritamskih struktura.
To se postie:
1) kada se u prostoj linijskoj strukturi u sastavu razgranate linijske ili cikline strukture
algoritamski korak prve vrste (ne dovodi do grananja algoritma i ima
jedan ulaz i jedan izlaz) zameni algoritamskim korakom druge vrste
(dovodi do grananja algoritma i ima jedan ulaz i vie izlaza)
2) kada se u prostoj linijskoj strukturi u sastavu razgranate linijske ili cikline strukture
algoritamski korak prve vrste zamjeni novom razgranatom linijskom

ili ciklinom

strukturom;
3) zamenom algoritamskog koraka proizvoljne elementarne strukture

algoritamskim korakom

za poziv potprograma
4) kada se u ve formiranim algoritamskim strukturama ponavljaju zamjene

iz pravila

danih u tokama (1), (2) i (3).


Primenom navedenih pravila mogu se formirati najraznovrsnije sloene algoritamske strukture.
Jedna od moguih klasifikacija ovih struktura je:
- sloene razgranate linijske strukture
- sloene cikline strukture
- sloene razgranate i cikline strukture
- algoritamske strukture sa potprogramima

Você também pode gostar