Algoritmi Pojam algoritma Algoritam predstavlja ureen skup pravila

  • Slides: 32
Download presentation
Algoritmi

Algoritmi

Pojam algoritma Algoritam predstavlja uređen skup pravila koja se formulišu u cilju rešavanja zadatka.

Pojam algoritma Algoritam predstavlja uređen skup pravila koja se formulišu u cilju rešavanja zadatka. n n n ulazne veličine algoritma, izlazne veličine algoritma. algoritamski korak.

Grafičko predstavljanje algoritma START Korak starta Korak ulaznih podataka Korak obrade podataka Korak uslova

Grafičko predstavljanje algoritma START Korak starta Korak ulaznih podataka Korak obrade podataka Korak uslova Korak izlaznih podataka KRAJ Korak završetka

Korak starta Primjer: START

Korak starta Primjer: START

Korak ulaznih podataka Primjer: A, B, C

Korak ulaznih podataka Primjer: A, B, C

Korak obrade podataka Primjer: D = ( b 2 - 4 ac )

Korak obrade podataka Primjer: D = ( b 2 - 4 ac )

Korak uslovnog grananja Primjer: D<0 T

Korak uslovnog grananja Primjer: D<0 T

Korak izlaznih podataka Primjer: X 1, X 2

Korak izlaznih podataka Primjer: X 1, X 2

Korak završetka Primjer: KRAJ

Korak završetka Primjer: KRAJ

Srtuktura algoritma n Linijska struktura n Ciklična struktura

Srtuktura algoritma n Linijska struktura n Ciklična struktura

Linijska struktura n Prosta linijska struktura n Razgranata linijska struktura

Linijska struktura n Prosta linijska struktura n Razgranata linijska struktura

Prosta linijska struktura algoritma je ona linijska struktura kod koje se svaki algoritamski korak

Prosta linijska struktura algoritma je ona linijska struktura kod koje se svaki algoritamski korak izvršava jedanput u toku jednog izvršavanja algoritma.

Prosta linijska struktura START P 1 P 2 P 3 KRAJ

Prosta linijska struktura START P 1 P 2 P 3 KRAJ

Primjer: Sastaviti algoritam koji izračunava zbir (S) dva realna broja a i b tj.

Primjer: Sastaviti algoritam koji izračunava zbir (S) dva realna broja a i b tj. S=a+b START a, b S=a+b S KRAJ

Razgranata linijska struktura Je ona linijska struktura algoritma, kod koje se svaki algoritamski korak

Razgranata linijska struktura Je ona linijska struktura algoritma, kod koje se svaki algoritamski korak izvršava najviše jedanput u toku jednog izvršavanja algoritma. START P 1 x. Ry P 2 KRAJ T P 3

Primjer: Sastaviti algoritam za izračunavanje funkcije y=|x| START x x<0 y=x y KRAJ T

Primjer: Sastaviti algoritam za izračunavanje funkcije y=|x| START x x<0 y=x y KRAJ T y= -x

Ciklična struktura Niz algoritamskih koraka u kojem se jedan ili više algoritamskih koraka može

Ciklična struktura Niz algoritamskih koraka u kojem se jedan ili više algoritamskih koraka može izvršiti više od jedanput pri jednom izvršavanju algoritma predstavlja cikličnu strukturu ili ciklus. n Konstantna ciklična struktura n Promjenjiva ciklična struktura

Konstantna ciklična struktura Ciklička struktura algoritma u kojoj ne dolazi do promene zakona obrade

Konstantna ciklična struktura Ciklička struktura algoritma u kojoj ne dolazi do promene zakona obrade u algoritamskim koracima koji čine ciklus zove se konstantna ciklična struktura.

Konstantna ciklična struktura START P 1 x. Ry T P 3 P 2 KRAJ

Konstantna ciklična struktura START P 1 x. Ry T P 3 P 2 KRAJ

Primjer: Sastaviti algoritam za izračunavanje stepena y=xn START x, n y=1 n=0 T n=n-1

Primjer: Sastaviti algoritam za izračunavanje stepena y=xn START x, n y=1 n=0 T n=n-1 y y=y*x KRAJ

Promjenjiva ciklična struktura Ciklička struktura u kojoj dolazi do promene zakona obrade, u jednom

Promjenjiva ciklična struktura Ciklička struktura u kojoj dolazi do promene zakona obrade, u jednom ili više algoritamskih koraka, koji se nalaze u ciklusu zove se promen. Ijiva ciklička struktura.

Promjenjiva ciklična struktura START P 1 x 1 R 1 y 1 T P

Promjenjiva ciklična struktura START P 1 x 1 R 1 y 1 T P 2 T x 2 R 2 y 2 P 3 KRAJ

Primjeri Ispitni zadaci

Primjeri Ispitni zadaci

1. Sastaviti algoritam za izračunavanje korjena kvadratne jednačine u skupu realnih brojeva (R). START

1. Sastaviti algoritam za izračunavanje korjena kvadratne jednačine u skupu realnih brojeva (R). START a, b, c D=b 2 -4 ac D<0 T x 1=(-b-(D)1/2)/2 a Nema realnih korjena x 2=(-b+(D)1/2)/2 a y KRAJ

START XD i=0 Sastaviti algoritam za konverziju cjelog djela DEKADNOG broja u BINARNI broj.

START XD i=0 Sastaviti algoritam za konverziju cjelog djela DEKADNOG broja u BINARNI broj. par XD T Ci = 0 XD= XD/2 i=i+1 XD = 0 T k= i, 0, -1 Ci KRAJ XD = X D - 1 Ci = 1

Sastaviti algoritam za određivanje prestupnosti godine (godina nije prestupna ako nije djeljiva sa 4

Sastaviti algoritam za određivanje prestupnosti godine (godina nije prestupna ako nije djeljiva sa 4 ili je djeljiva sa 100, a nije sa 400). START G G|4 T G|100 T G|400 T t='Jeste' t KRAJ t='Nije'

START N Sastaviti algoritam za određivanje najveće vrednosti (max M) nekog niza Ai, i=1.

START N Sastaviti algoritam za određivanje najveće vrednosti (max M) nekog niza Ai, i=1. . . n. i= 1, N Ai M = A 1 i = 2, N M<Ai M = Ai M KRAJ T

START N B= 0 Sastaviti algoritam za ispisivanje broja članova niza djeljivih sa 5.

START N B= 0 Sastaviti algoritam za ispisivanje broja članova niza djeljivih sa 5. i = 1, N Ai T Ai | 5 B=B+1 B KRAJ

Sastaviti algoritam za izračunavanje faktorijel funkcije (F= n!) START n F= 1 n=0 i

Sastaviti algoritam za izračunavanje faktorijel funkcije (F= n!) START n F= 1 n=0 i = 2, N F=F*i F KRAJ T

Algoritamski opisati korišćenje telefonskog aparata, koristeći sledeće algoritamske korake: 1 PREKID VEZE 2 DA

Algoritamski opisati korišćenje telefonskog aparata, koristeći sledeće algoritamske korake: 1 PREKID VEZE 2 DA LI JE ZAUZETA LINIJA 3 DA LI JE DOBIJEN TEL SIGNAL 4 PODIZANJE SLUŠALICE 5 BIRANJE TEL. BROJA 6 RAZGOVOR START 4 3 T 5 2 6 KRAJ T 1

Algoritam i program n Algoritam zapisan tako da je prihvatljiv od strane računara zove

Algoritam i program n Algoritam zapisan tako da je prihvatljiv od strane računara zove se program, a proces pisanja programa zove se programiranje.

Programiranje n n n mašinski jezik simbolički jezik viši programski jezici n n Basic,

Programiranje n n n mašinski jezik simbolički jezik viši programski jezici n n Basic, Pascal, Cobol, . . . objektno programiranje n n n Java, C++, C#, . . .