1 / 20

OSNOVI RA ČUNARSKE TEHNIKE 1

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.

Download Presentation

OSNOVI RA ČUNARSKE TEHNIKE 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OSNOVI RAČUNARSKE TEHNIKE 1 ALGORITMI 11

  2. 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

  3. Algoritam • Algoritam je skup pravila formulisanih u cilju rešavanja određenog tipa zadatka • Algoritam se sastoji od niza algoritamskih koraka, čiji je redosled tačno utvrđen • Polazne 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

  4. Algoritam • Razlaganje algoritma na korake ulazi x1, x2,...,xi • Opšta šema algoritma primenom dijagrama toka A1 ulazi x1, x2,...,xi A2 skup operacija skup operacija A izlazi y1, y2,...,yj Ak izlazi y1, y2,...,yj

  5. Algoritam početak / kraj programa • Simboli za grafički opis algoritma obrada unošenje podataka izdavanje podataka odluka povezivanje algoritamskih koraka priključna tačka

  6. Algoritam • 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

  7. početak Sekvence ulazi x1, x2,...,xi A1 • 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 A2 Ak izlazi y1, y2,...,yj kraj

  8. početak Selekcije ulazi x1, x2,...,xi A1 • Kod razgranate linijske strukture • Tok izvršavanja zavisi od ispunjenosti nekih uslova • Mora 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 ne da uslov ispunjen? A2 A3 A4 izlazi y1, y2,...,yj kraj

  9. Selekcije • Razgranata linijska struktura • Jednograna selekcija: iflogički izrazthennaredba A1 A1 da da uslov ispunjen? uslov ispunjen? A2 ne ne A3 A3

  10. Selekcija • Razgranate linijske struktura • Dvograna selekcija: iflogički izraz thennaredba1 elsenaredba 2 endif A1 ne da uslov ispunjen? A2 A3

  11. Selekcije • 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

  12. Selekcije • 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 CASESEL of s1:A1 s2:A2 s3:A3 sk:Ak else B end CASE SEL s1 s2 sk A1 A2 A3 Ak B

  13. 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 odispunjenosti 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

  14. Ciklične strukture (petlje) • Ciklične strukture sa uslovom • U ciklusu sa uslovom za izlazak na vrhu(while)blok naredbi seizvršava u petlji sve dok je ispunjen neki uslov ne uslov ispunjen? whileUSLOVdo begin ... end da TELO CIKLUSA

  15. Ciklične strukture (petlje) • Ciklične strukture sa uslovom • U ciklusu sa uslovom za izlazak na dnu(repeat until)blok naredbi seizvršava u petlji sve dok se ne ispuni neki uslov TELO CIKLUSA repeat ... until USLOV uslov ispunjen? ne da

  16. Ciklične strukture (petlje) • Elementi svakogbrojač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

  17. 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 vrednost brojača telo da brojač = krajnja vrednost? ne brojač = brojač + korak

  18. 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 vrednost brojača telo da brojač = krajnja vrednost? ne brojač = brojač - korak

  19. Ciklične strukture (petlje) • Kraći grafički zapis brojačkog ciklusa(FOR) ne brojač = poč. vrednost, krajnja vrednost, korak da telo ciklusa

  20. 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 po Njutnovoj iterativnoj formuli: gde je Proces izračunavanja se prekidakada se dostigne zadata tačnost , tako da je .

More Related