Programski jezici Osnovne upravljake strukture Osnovne upravljake strukture

  • Slides: 25
Download presentation
Programski jezici Osnovne upravljačke strukture

Programski jezici Osnovne upravljačke strukture

Osnovne upravljačke strukture Sekvenca naredbi i blok n Struktura selekcije n Struktura višestruke selekcije

Osnovne upravljačke strukture Sekvenca naredbi i blok n Struktura selekcije n Struktura višestruke selekcije n Programske petlje n Bezuslovno grananje n

Upravljačke strukture Omogućavaju definisanje toka programa n Javljaju se u programskom jeziku Pascal i

Upravljačke strukture Omogućavaju definisanje toka programa n Javljaju se u programskom jeziku Pascal i implementiraju osnovne algoritamske strukture n Standardno sredstvo u višim programskim jezicima proceduralnog tipa n Definišu program u skladu sa konceptom strukturnog programiranja n Slične upravljačke strukture u većini viših programskih jezika n

Upravljačke strukture n Dovoljan skup naredbi za upravljanje tokom programa obuhvata: n Strukturu selekcije

Upravljačke strukture n Dovoljan skup naredbi za upravljanje tokom programa obuhvata: n Strukturu selekcije if B then St else Sf; n Strukturu višestruke selekcije case X of Xa : Sa; Xb: Sb; end; n Strukturu iteracije while B do S;

Kriterijumi za upravljačke strukture Smisao naredbi mora biti jasan i jednoznačan; n Sintaksa naredbe

Kriterijumi za upravljačke strukture Smisao naredbi mora biti jasan i jednoznačan; n Sintaksa naredbe treba da bude tako postavljena da dozvoljava hijerarhijsko ugrađivanje drugih naredbi, što mora da bude jednoznačno definisano i jasno iz samog teksta programa; n Potrebno je da postoji mogućnost lake modifikacije naredbi; n

Sekvenca naredbi Jedan od osnovnih koncepata u strukturnim jezicima n Uveden radi lakše implementacije

Sekvenca naredbi Jedan od osnovnih koncepata u strukturnim jezicima n Uveden radi lakše implementacije drugih upravljačkih struktura n Algol 60 – složena naredba n begin naredba 1; naredba 2; naredba 3; end

Blok Algol 60 – uopštenje sekvence naredbi n Blok je upravljačka struktura koja sadrži

Blok Algol 60 – uopštenje sekvence naredbi n Blok je upravljačka struktura koja sadrži opise lokalnih promenljivih i sekvencu naredbi n Zatvara se kao i sekvenca, zagradama begin i end n begin integer var 1, var 2; naredba 1; naredba 2; naredba 3;

Blok Promenljive opisane u bloku su lokalne promenljive tog bloka, a globalne za sve

Blok Promenljive opisane u bloku su lokalne promenljive tog bloka, a globalne za sve blokove sadržane u njemu n U slučaju predefinisanja promenljivih koje postoje u spoljnom bloku, u okviru bloka važe nove definicije kao lokalne definicije bloka n Van bloka prestaje dejstvo lokalnih definicija n

Globalne i lokalne promenljive

Globalne i lokalne promenljive

Sopstvene promenljive bloka n Čuvaju vrednosti po izlasku iz bloka, vrednosti su dostupne pri

Sopstvene promenljive bloka n Čuvaju vrednosti po izlasku iz bloka, vrednosti su dostupne pri ponovnom ulasku u blok

Struktura selekcije Omogućava definisanje više mogućih tokova programa i jedno je od osnovnih sredstava

Struktura selekcije Omogućava definisanje više mogućih tokova programa i jedno je od osnovnih sredstava za pisanje fleksibilnih programa n if-then struktura n if-then-else struktura n

Struktura selekcije if then n Obično se implementira kao jednostavan, poseban slučaj if-then-else strukture

Struktura selekcije if then n Obično se implementira kao jednostavan, poseban slučaj if-then-else strukture Fortran Algol Ada

Struktura selekcije if then else Javlja se prvi put u jeziku Algol 60 n

Struktura selekcije if then else Javlja se prvi put u jeziku Algol 60 n Postoji u svim proceduralnim jezicima n false else-grana uslov true then-grana

Nedostaci if-then-else Mogućnost različitog tumačenja u slučaju ugneždenih struktura n Koriste se sintaksna i

Nedostaci if-then-else Mogućnost različitog tumačenja u slučaju ugneždenih struktura n Koriste se sintaksna i semantička pravila za ovakve situacije n Nadovezivanje if naredbi n Noviji i pouzdaniji koncept koristi ključne reči kojima se otvara i zatvara struktura n

Struktura višestruke selekcije n n n Omogućava izbor jedne od više mogućih naredbi ili

Struktura višestruke selekcije n n n Omogućava izbor jedne od više mogućih naredbi ili grupa naredbi u zavisnosti od vrednosti određenog izraza Može se simulirati if-then-else strukturom Algoritam višestruke selekcije true false true

Struktura višestruke selekcije n Pascal n C

Struktura višestruke selekcije n Pascal n C

Programske petlje, strukture iteracije n Višestruko ponavljanje određene sekvence n Omogućava da se složeni

Programske petlje, strukture iteracije n Višestruko ponavljanje određene sekvence n Omogućava da se složeni problemi reše jednostavnim programima n Brojačke petlje n Logički kontrolisane petlje n pre-test petlje (while) n post-test petlje (until) n

Brojačka petlja n n n for petlja – u opštem slučaju izvršava se sekvenca

Brojačka petlja n n n for petlja – u opštem slučaju izvršava se sekvenca naredbi određen broj puta brojač petlje n n početna vrednost krajnja vrednost

Logički kontrolisana petlja n n n while petlja – u opštem slučaju pre-test petlja,

Logički kontrolisana petlja n n n while petlja – u opštem slučaju pre-test petlja, uslov se ispituje pre svakog izvršavanja sekvence naredbi sekvenca se izvršava sve dok je uslov zadovoljen, odnosno ima vrednost true

Logički kontrolisana petlja n n until petlja – u opštem slučaju post-test petlja, uslov

Logički kontrolisana petlja n n until petlja – u opštem slučaju post-test petlja, uslov se ispituje posle svakog izvršenja sekvence sekvenca naredbi se izvršava najmanje jednom manje je zastupljena u programskim jezicima

Primeri petlji

Primeri petlji

Prekid petlje

Prekid petlje

Bezuslovno grananje Omogućava realizaciju i najsloženijih algoritama, u sprezi sa naredbama selekcije n Nedostatak

Bezuslovno grananje Omogućava realizaciju i najsloženijih algoritama, u sprezi sa naredbama selekcije n Nedostatak je nepregledan kod podložan greškama n U konceptu strukturnog programiranje izbačene naredbe za bezuslovno grananje jer se nastoji da sve strukture imaju jedan ulaz i jedan izlaz n Naredbe za bezuslovno grananje postoje u mnogim jezicima koji podržavaju koncept n

Naredba GOTO Naredba za bezuslovno grananje n Prelazak na deo programa označen labelom n

Naredba GOTO Naredba za bezuslovno grananje n Prelazak na deo programa označen labelom n Labela (oznaka) označava naredbu na koju se pod dejstvom naredbe GOTO prenosi upravljanje n U nekim jezicima se kao labele koriste identifikatori n

Pitanja ? ? ?

Pitanja ? ? ?