osnovi ra Čunarske tehnike 1

20
OSNOVI RA OSNOVI RA ČUNARSKE ČUNARSKE TEHNIKE 1 TEHNIKE 1 ALGORITMI 11

Upload: lucas-barnett

Post on 30-Dec-2015

48 views

Category:

Documents


1 download

DESCRIPTION

OSNOVI RA ČUNARSKE TEHNIKE 1. ALGORITMI 11. Osnovni elementi razvoja softvera. Jasno definisanje problema Analiza problema. Razvoj algoritma Koncepcija odozgo-nadole. Program – implementacija algoritma pisanjem instrukcija Prevođenje programa Testiranje programa. Izrada dokumentacije. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OSNOVI RA ČUNARSKE TEHNIKE 1

OSNOVI RAOSNOVI RAČUNARSKE ČUNARSKE TEHNIKE 1TEHNIKE 1

ALGORITMI11

Page 2: OSNOVI RA ČUNARSKE TEHNIKE 1

Osnovni elementi razvoja softveraOsnovni elementi razvoja softvera

Jasno definisanje problemaAnaliza problema

Razvoj algoritmaKoncepcija odozgo-nadole

Izrada dokumentacije

Program – implementacija algoritma pisanjem instrukcija

Prevođenje programaTestiranje programa

Page 3: OSNOVI RA ČUNARSKE TEHNIKE 1

AlgoritamAlgoritam Algoritam je skup pravila formulisanih u

cilju rešavanja određenog tipa zadatkaAlgoritam se sastoji od niza algoritamskih

koraka, čiji je redosled tačno utvrđenPolazne veličine su ulazne veličine algoritma, a

rešenja zadatka su izlazne veličine Prikazivanje algoritma

Dijagramom toka Pregledan i lako čitljiv i za ljude koji ne znaju da

programiraju Nezavisan od vrste računara i programskog jezika

Primenom pseudojezika Lakše je prevođenje u odgovarajuće programske

instrukcije

Page 4: OSNOVI RA ČUNARSKE TEHNIKE 1

AlgoritamAlgoritam Opšta šema

algoritma primenom dijagrama toka

A

ulazi x1, x2,...,xi

izlazi y1, y2,...,yj

skup

operacija

Razlaganje algoritma na korake

A1

ulazi x1, x2,...,xi

izlazi y1, y2,...,yj

A2

Ak

skup

operacija

Page 5: OSNOVI RA ČUNARSKE TEHNIKE 1

AlgoritamAlgoritam Simboli za grafički opis algoritma

početak / kraj programa

obrada

unošenje podataka

izdavanje podataka

odluka

povezivanje algoritamskih koraka

priključna tačka

Page 6: OSNOVI RA ČUNARSKE TEHNIKE 1

AlgoritamAlgoritam Struktura algoritma je redosled izvršavanja

algoritamskih koraka Osnovne kontrolne strukture:

Sekvence Proste linijske strukture

Selekcije Razgranate linijske strukture Skokovi (bezuslovni skokovi, višestruki skokovi)

Ciklične strukture (petlje) Uslovni ciklusi Brojački ciklusi Iterativni ciklusi

Svakoj kontrolnoj strukturi odgovara određena instrukcija u programskom jeziku

Page 7: OSNOVI RA ČUNARSKE TEHNIKE 1

SekvenceSekvence Kod proste linijske strukture

Koraci algoritma se izvršavaju jedan za drugim

Svaki korak se izvršava samo jednom

begin

naredba1 naredba 2

... naredba k

end

A1

ulazi x1, x2,...,xi

izlazi y1, y2,...,yj

A2

Ak

početak

kraj

Page 8: OSNOVI RA ČUNARSKE TEHNIKE 1

SelekcijeSelekcije Kod razgranate linijske

strukture Tok izvršavanja zavisi od

ispunjenosti nekih uslovaMora da postoji bar jedan

uslovni korak koji omogućava grananje algoritma

Neki koraci se izvršavaju samo jednom, a neki se uopšte ne izvršavaju

A1

ulazi x1, x2,...,xi

izlazi y1, y2,...,yj

A2

A4

početak

kraj

uslov ispunjen?

A3

da ne

Page 9: OSNOVI RA ČUNARSKE TEHNIKE 1

SelekcijeSelekcije Razgranata linijska struktura

Jednograna selekcija: if logički izraz then naredba

A2

A1

A3

uslov ispunjen?da

ne

A1

A3

uslov ispunjen?da

ne

Page 10: OSNOVI RA ČUNARSKE TEHNIKE 1

SelekcijaSelekcija Razgranate linijske struktura

Dvograna selekcija: if logički izraz

then naredba1

else naredba 2

endif

A1

A2

uslov ispunjen?

A3

da ne

Page 11: OSNOVI RA ČUNARSKE TEHNIKE 1

SelekcijeSelekcije Skokovi mogu da budu uslovni i bezuslovni

Bezuslovnim skokovima se na nekom željenom mestu prekida obavljanje niza operacija, da bi se postupak obrade nastavio na nekom drugom zadatom mestu

Dosledna primena pravila strukturnog programiranja eliminiše potrebu za bezuslovnim skokovima i zato u strukturnim dijagramima ne postoji poseban simbol za ovaj korak

Primeri instrukcija za skok bilo gde unutar programa

GO TO, BRANCH, JUMP Primer instrukcije za odlazak na kraj kontrolne strukture

je EXIT, a za odlazak na kraj programa je STOP

Page 12: OSNOVI RA ČUNARSKE TEHNIKE 1

SelekcijeSelekcije Višestruki skokovi

U zavisnosti od vrednosti kontrolne promenljive ili vrednosti izraza, omogućava se skok na različite instrukcije unutar programa

Primer instrukcije za višestruki skok je CASE

CASE SEL of

s1: A1

s2: A2

s3: A3

sk: Ak

else B

end CASE

SEL

A1 A2 A3 Ak B

s1 s2 sk

Page 13: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) U cikličnoj strukturi (petlji)

Telo ciklusa čine naredbe čije se izvršavanje ponavlja pri jednom izvršavanju programa

Izlazni kriterijum ili uslov obezbeđuje prestanak izvršavanja ciklusa

Kod ciklusa sa uslovom broj ponavljanja nije poznat unapred, već zavisi od ispunjenosti uslova

Kod brojačkih ciklusa kriterijum za izlazak iz petlje je broj ponovljenih ciklusa

Kod iterativnih ciklusa kriterijum za izlazak iz pelji je dostignuta tačnost izračunavanja

Page 14: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) Ciklične strukture sa uslovom

U ciklusu sa uslovom za izlazak na vrhu (while) blok naredbi se izvršava u petlji sve dok je ispunjen neki uslov

TELO

CIKLUSA

uslov ispunjen?

da

ne

while USLOV do

begin

...

end

Page 15: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) Ciklične strukture sa uslovom

U ciklusu sa uslovom za izlazak na dnu (repeat until) blok naredbi se izvršava u petlji sve dok se ne ispuni neki uslov

TELO

CIKLUSA

uslov ispunjen?

dane

repeat

...

until USLOV

Page 16: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) Elementi svakog brojačkog ciklusa (FOR) su:

Brojač Početna vrednost brojača Krajnja vrednost brojača Korak brojača

Na početku izvršavanja brojačkog ciklusa brojaču se dodeljuje početna vrednost

Postoje brojački ciklusi sa brojanjem unapred i sa brojanjem unazad

Vrednost brojača se sa svakim izvršavanjem ciklusa menja (uvećava ili smanjuje) za zadati korak

Ciklus se završava kada brojač dostigne krajnju vrednost

Page 17: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) Struktura brojačkog ciklusa (FOR) sa brojanjem

unapred Vrednost brojača se uvećava za zadati korak sa svakim

izvršavanjem ciklusa

početna vrednostbrojača

telo

brojač = brojač + korak

brojač = krajnja vrednost?da

ne

Page 18: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) Struktura brojačkog ciklusa (FOR) sa brojanjem

unazad Vrednost brojača se umanjuje za zadati korak sa svakim

izvršavanjem ciklusa

početna vrednostbrojača

telo

brojač = brojač - korak

brojač = krajnja vrednost?da

ne

Page 19: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje)

Kraći grafički zapis brojačkog ciklusa (FOR)

telo ciklusa

brojač = poč. vrednost, krajnja vrednost, korakne

da

Page 20: OSNOVI RA ČUNARSKE TEHNIKE 1

Ciklične strukture (petlje)Ciklične strukture (petlje) Iterativni ciklusi se koriste za programiranje iterativnih numeričkih postupaka

Jedan prolazak kroz programski ciklus odgovara jednoj iteraciji u numeričkom postupku

Primer:

Definisati algoritam koji za zadato x izračunava x po Njutnovoj iterativnoj formuli:

,...2,1,0 )(2

11 i

x

xxx

iii

gde je 10 xxProces izračunavanja se prekida kada se dostigne zadata tačnost , tako da je

1ii xx.

POČETAK

KRAJ

,x

NE

DA

10 xx

)(2

1

001 x

xxx

10 xx

10 xx 1x