for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba>

Σχετικά έγγραφα
3.1 Granična vrednost funkcije u tački

Računarska grafika. Rasterizacija linije

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Računarska grafika. Rasterizacija linije

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Algoritmi i strukture podataka - 1.cas

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Zavrxni ispit iz Matematiqke analize 1

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

III VEŽBA: FURIJEOVI REDOVI

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Ispitivanje toka i skiciranje grafika funkcija

5. Karakteristične funkcije

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

ELEKTROTEHNIČKI ODJEL

SISTEMI NELINEARNIH JEDNAČINA

Algoritmi zadaci za kontrolni

Program testirati pomoću podataka iz sledeće tabele:

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Elementi spektralne teorije matrica

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

numeričkih deskriptivnih mera.

7 Algebarske jednadžbe

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

radni nerecenzirani materijal za predavanja

Zadaci iz trigonometrije za seminar

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Operacije s matricama

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

41. Jednačine koje se svode na kvadratne

Riješeni zadaci: Limes funkcije. Neprekidnost

Kaskadna kompenzacija SAU

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

IZVODI ZADACI (I deo)

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

Teorijske osnove informatike 1

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Riješeni zadaci: Nizovi realnih brojeva

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici

Jednodimenzionalne slučajne promenljive

INTELIGENTNO UPRAVLJANJE

Small Basic zadatci - 8. Razred

Osnovne teoreme diferencijalnog računa

( , 2. kolokvij)

18. listopada listopada / 13

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a

APROKSIMACIJA FUNKCIJA

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

Zadaci iz Osnova matematike

ZBIRKA POTPUNO RIJEŠENIH ZADATAKA

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Ĉetverokut - DOMAĆA ZADAĆA. Nakon odgledanih videa trebali biste biti u stanju samostalno riješiti sljedeće zadatke.

4 Numeričko diferenciranje

TRIGONOMETRIJSKE FUNKCIJE I I.1.

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

Uvod Teorija odlučivanja je analitički i sistematski pristup proučavanju procesa donošenja odluka Bez obzira o čemu donosimo odluku imamo 6 koraka za

I Pismeni ispit iz matematike 1 I

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

5 Ispitivanje funkcija

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.

Eliminacijski zadatak iz Matematike 1 za kemičare

Programski jezik C - 1. deo. Struktura C-programa. Struktura programa u C-u. (materijal sa predavanja D. Vitasa)

DIMENZIONISANJE PRAVOUGAONIH POPREČNIH PRESEKA NAPREGNUTIH NA PRAVO SLOŽENO SAVIJANJE

NOMENKLATURA ORGANSKIH SPOJEVA. Imenovanje aromatskih ugljikovodika

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

PRIMJER 3. MATLAB filtdemo

POVRŠINA TANGENCIJALNO-TETIVNOG ČETVEROKUTA

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

6. Zavisnosti po podacima u programskim petljama

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

10. STABILNOST KOSINA

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

IZVODI ZADACI (I deo)

Transcript:

Naredbe ponavljanja U većini programa se javljaju situacije kada je potrebno neku naredbu ili grupu naredbi izvršiti više puta. Ukoliko je naredbu potrebno izvršiti konačan i mali broj puta, problem je moguće razrešiti i korišćenjem linijskih struktura, tako što bi se naredba jednostavno ponovila određeni broj puta uzastopno. Međutim, može se desiti da je naredbu potrebno ponoviti veliki broj puta, a veoma često je taj broj promenljiv u zavisnosti od izvršenja ostatka programa. U takvim slučajevima nije moguće iskoristiti linijsku strukturu, već je neophodno uvesti takozvane ciklične strukture. Ciklične strukure omogućavaju izvršavanje jedne ili više naredbi određeni broj puta, pri čemu broj ponavljanja može biti definisan prirodnim brojem ili uslovom koji određuje kada se ponavljanje prekida. Napomenimo i to da se ciklične strukture vrlo često nazivaju i ciklusima ili petljama. FOR ciklus Naredba for umogućava bezuslovno ponavljanje nekog dela programa određeni broj puta. Na taj način moguće je ostvariti cikličnu strukturu prikazanu na slici: Parametri petlje Blok komandi Slika ### Algoritamska šema for ciklusa U okviru for petlje neophodno je definisati brojačku promenljivu (brojač) koja će se u svakom prolasku kroz petlju (iteraciji) uvećavati ili umanjivati za jedan u zavisnosti od toga da li je u okviru for naredbe navedena rezervisana reč to (za uvećavanje) ili downto (za umanjivanje). Pored toga potrebno je navesti i početnu i krajnju vrednost brojačke promenljive. Naredbe unutar for petlje se izvršavaju za svaku vrednost brojačke promenljive, sve dok ona ne dostigne krajnju vrednost. Sintaksa for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba> u slučaju da se brojačka promenljiva uvećava, odnosno for <brojacka_promenljiva> := <pocetna_vrednost> downto <krajnja_vrednost> do <naredba> u slučaju kada se brojačka promenljiva umanjuje. Upravljačka promenljiva može biti integer, boolean ili char tipa. U Pascal-u nije moguće definisati za koliko se uvećava ili umanjuje brojačka promenljiva. Korak promene je uvek 1 (u slučaju to), odnosno -1 (u slučaju downto). Početna i krajnja vrednost se izračunavaju na početku petlje i ne mogu se menjati tokom njenog izvršavanja. Primer 1 for i:=1 to 5 do write('a'); 1

Rezultat ovog primera je 5 puta ispisano slovo "A" na ekranu na sledeći način: AAAAA Primer 2 for i:=1 to 10 do write(i:5); Nakon izvršenja ove petlje na ekranu će biti ispisani brojevi od 1 do 10: 1 2 3 4 5 6 7 8 9 10 Ukoliko bismo želeli da brojevi budu ispisani obrnutim redom, onda bi petlja trebala da izgleda ovako: for i:=10 downto 1 do write(i:5); a rezultat bi bio niz brojeva ispisan na sledeći način: 10 9 8 7 6 5 4 3 2 1 Primer 3 Sledeći primer pokazuje da početna i krajnja vrednost brojačke promenljive mogu biti i izrazi. for i:= 4+6 to 4*3 5 do write(i:5); Rezultat prethodnog primera je sledeći niz brojeva ispisan na ekranu: 2 3 4 5 6 7 Primer 4 Napisati program koji za n zadatih vrednosti poluprečnika r izračunava obim i površinu kruga i prikazuje ih na ekranu. program Krug; const PI=3.14; var i,n:integer; r,o,p:real; writeln('unesite koliko izracunavanja zelite:'); readln(n); for i:=1 to n do writeln('unesite poluprecnik:'); readln(r); O:=2.0*r*PI; P:=sqr(r)*PI; writeln('obim ','Povrsina'); writeln(o:10:2,p:10:2); WHILE ciklus Da bi se koristila naredba for neophodno je znati tačan broj ponavljanja pre početka izvršavanja petlje. Pored toga, za vreme izvršavanja petlje nije moguće menjati početnu i krajnju vrednost brojačke promenljive. Međutim, veoma često je slučaj da određeni deo programa želimo ponavljati sve dok je neki uslov ispunjen. Na taj način iteracije se mogu ponavljati manji ili veći broj puta u zavisnosti od rezultata izvršavanja naredbi unutar petlje. Jedna od naredbi koja omogućava realizaciju ovakvih ciklusa je naredba while. Osnovna karakteristika while petlje je da je to petlja sa preduslovom, što znači da se ispunjenost uslova proverava pre 2

izvršavanja svake iteracije. Posledica toga je da je moguće da se naredbe unutar petlje ne izvrše ni jednom, ukoliko uslov u startu nije zadovoljen. Šematski prikaz ciklusa sa preduslovom prikazan je na slici: Slika ### Šematski prikaz ciklusa sa preduslovom Naredba while omogućava ponavljanje određenog dela programa sve dok je navedeni uslov ispunjen. Na početku svake iteracije proverava se da li je uslov ispunjen, tj. da li je vrednost logičkog iskaza tačno (true), a zatim, ukoliko je jeste, izvršava se jedna naredba ili blok naredbi navedenih unutar komande while. Nakon izvršenja naredbi unutar while petlje otpočinje nova iteracija i nova provera uslova. U trenutku kada na početku neke iteracije vrednost logičkog izraza postane netačno (false), prekida se izvršavanje petlje i nastavlja se izvršavanje ostatka programa. Sintaksa while <logicki_izraz> do <naredba>; NAPOMENA: While petlja mora biti tako napisana da garantuje da će u konačnom broju iteracija navedeni logički izraz postati netačan (false). Na taj način obezbeđuje se mehanizam izlaska iz petlje nakon konačnog broja iteracija. Ukoliko logički izraz nikada ne bi dobio vrednost false došlo bi do beskonačnog broja ponavljanja (tzv. mrtva petlja), odnosno do blokade izvršenja ostatka programa. Primer 1 i:=2; while i<10 do write(i:5); i:=i+2; Prethodni primer štampa na ekranu sve jednocifrene parne brojeve na sledeći način: 2 4 6 8 Primer 2 Ukoliko bismo prethodni primer promenili tako da izgleda ovako: i:=20; while i<10 do write(i:5); i:=i+2; u tom slučaju se naredbe unutar while petlje ne bi izvršile ni jednom, iz razloga što uslov i<10 nije ispunjen već na početku prve iteracije. 3

Primer 3 Napisati program koji zadatom celom broju n uklanja sve nule sa desne strane. Na primer, ukoliko unesemo broj 41000, rezultat treba da bude 41. program Nule; var n:integer; writeln('unesite broj n:'); readln(n); while n mod 10 = 0 do n:=n div 10; writeln('dobijeni broj je ',n); REPEAT ciklus Za razliku od while petlje, naredba repeat omogućava realizaciju ciklusa sa postuslovom, kao što je prikazano na slici: Slika ### Šematski prikaz postuslovnog ciklusa Ciklus sa postuslovom podrazumeva to da se uslov za dalje izvršavanje petlje proverava na kraju svake iteracije. Na ovaj način naredbe unutar petlje će biti izvršene bar jednom, bez obzira na to da li je uslov bio ispunjen pre ulaska u petlju. Naredba repeat omogućava ponavljanje određenog dela programa sve dok navedeni uslov nije ispunjen. To praktično znači da je (za razliku od while ciklusa) navedeni uslov ustvari "uslov za izlazak iz petlje". U slučaju repeat petlje, izvršava se jedna naredba ili blok naredbi navedenih unutar komande repeat. Nakon izvršenja ovih naredbi vrši se provera uslova navedenog iza rezervisane reči until. Ukoliko je vrednost logičkog izraza netačno (false), kreće se u izvršavanje sledeće iteracije. U suprotnom prekida se izvršavanje petlje i nastavlja se izvršavanje ostatka programa. Sintaksa repeat <naredba_1>; [naredba_2];... [naredba_n]; until <logicki_izraz>; 4

Primetimo i to da u slučaju repeat naredbe, rezervisane reči repeat i until istovremeno predstavljaju i graničnike petlje, tako da je upotreba rezervisanih reči i end za označavanje bloka naredbi nepotrebna. NAPOMENA: Repeat petlja mora biti tako napisana da garantuje da će u konačnom broju iteracija navedeni logički izraz postati tačan (true). Na taj način obezbeđuje se mehanizam izlaska iz petlje nakon konačnog broja iteracija. Ukoliko logički izraz nikada ne bi dobio vrednost true došlo bi do beskonačnog broja ponavljanja (tzv. mrtva petlja), odnosno do blokade izvršenja ostatka programa. Primer 1 i:=2; repeat write(i:5); i:=i+2; until i>=10; Prethodni primer štampa na ekranu sve jednocifrene parne brojeve, na sledeći način: 2 4 6 8 Upoređivanjem ovog primera sa sličnim primerom realizovanim pomoću while petlje, može se jasno uočiti razlika u načinu definisanja uslova. U slučaju while naredbe petlja se izvršava "dok je i<10", a u slučaju repeat petlje "dok je i veće ili jednako 10", odnosno "dok i nije manje od 10". Primer 2 Napisati program koji izračunava broj π sa zadatom tačnošću ε, korišćenjem formule: 1 1 1 π = 4 1 + +... 3 5 7 program BrojPI; var pi,epsilon,delilac,znak,sabirak:real; writeln('unesite zeljenu tacnost:'); readln(epsilon); pi:=1.0; delilac:=1.0; znak:=1.0; repeat delilac:=delilac+2.0; znak:= znak; sabirak:=1.0/delilac; pi:=pi+znak*sabirak; until abs(sabirak)<epsilon; pi:=4.0*pi; writeln('pi=',pi); Naredbe BREAK i CONTINUE Pojedini Pascal kompajleri (kao što je Turbo Pascal 7.0 i noviji) podržavaju korišćenje komandi za prevremeni prekid čitave petlje ili samo iteracije koja se trenutno izvršava. Obe ove komande su primenjive na for, while i repeat petlje. 5

Naredba BREAK Naredba break se koristi za bezuslovno prekidanje izvršavanja čitave petlje. Nakon izvršenja ove komande prekida se izvršavanje naredbi unutar petlje i nastavlja se sa izvršavanjem ostatka programa. Primer 1 Napisati program koji za n realnih brojeva sa ulaza izračunava funkciju f ( x) =. U slučaju da je na ulazu x uneta nula, obavestiti korisnika da deljenje nulom nije moguće i prekinuti izvršavanje programa. program Deljenje; var n,i:integer; x,f:real; writeln('unesite koliko brojeva zelite:'); readln(n); for i:=1 to n do writeln('unestite x:'); readln(x); if x<>0.0 then f:=1.0/x; writeln('f(x)=',f:10:4); end else writeln('deljenje nulom nije moguce.'); break; Naredba CONTINUE Naredba continue se koristi za bezuslovno prekidanje izvršavanje trenutne i otpočinjanje sledeće iteracije. Time se praktično postiže preskakanje naredbi koje slede u nastavku iza komande continue, a naredna iteracija se normalno izvršava ukoliko su zadovoljeni uslovi definisani petljom. 6