Podsetnik - Iteracije | 

1

 

 

PETLJE (ITERACIJE) - podsetnik

 

 

01. Šta su petlje i 

č

emu služe? 

Vrlo pojednostavljeno posmatrano, petlje su način da se neki programski redovi izvrše više puta, ali da se 
napišu samo jednom. Programski redovi koji se izvršavaju više puta su TELO petlje. Na primer, u kodu: 

 

        

Dim

 i 

As

 

Integer 

 

        

For

 i = 1 

To

 1000 

            Console.WriteLine(i) 
        

Next 

        Console.ReadLine() 

 
osečeni red se izvršava 1000 puta, a napisan je samo jedanput. 

 

02. Koje su vrste petlji? 

Na časovima vežbi smo prikazali While i For-Next petlje. Sledi njihovo detaljnije objašnjenje. 
 

03. Iz 

č

ega se petlje sastoje? 

Svaka petlja ima sledeće elemente: 

 

1.

 

Oznaku za početak (DO, FOR) 

2.

 

Kontrolnu promenljivu (to je promenljiva od čije vrednosti zavisi da li će se izvršiti telo petlje) 

3.

 

Inicijalizaciju kontrolne promenljive (red u kojem kontrolna promenljiva dobija početnu 

vrednost) 

4.

 

Ispitivanje ispunjenosti uslova izvršavanja tela petlje (može da bude na početku ili na kraju kod 

While  petlji,  a  kod  For-Next  petlj  je  uvek  na  početku)  putem  ispitivanja  vrednosti  kontrolne 
promenljive 

5.

 

Telo petlje (jedan ili više redova) 

6.

 

Red u kojem se menja vrednost kontrolne promenljive (kod While petlje se ovaj red posebno piše, 

a kod For-Next petlje ulogu ovog reda ima red Next), njeno inkrementiranje ili dekrementiranje 

7.

 

Oznaku za kraj (LOOP, NEXT) 

 

While petlja sa ispitivanjem uslova na po

č

etku: 

 

Dim

As Integer

i = 1

Do While

(i <= 100)

Console.WriteLine(i)

i += 1

Loop

Console.ReadLine()

1

3

7

6

5

4

 

Kontrolna promenljiva je promenljiva 

i

 

While petlja sa ispitivanjem uslova na kraju: 

 

Dim

As Integer

i = 1

Do

Console.WriteLine(i)

i += 1

Loop While

(i <= 100)

Console.ReadLine()

1

3

7

6

5

4

 

Kontrolna promenljiva je promenljiva 

i

Podsetnik - Iteracije | 

2

 

 

For-Next petlja 

 

 

Kontrolna promenljiva je promenljiva 

i

.

 

 

04. Kako petlje funkcionišu? 

Uzmimo za primer sledeću While petlju: 
 

01

        

Dim

 i 

As

 

Integer 

02

 

03

        i = 1 

04

        

Do

 

While

 (i <= 3) 

05

            Console.WriteLine(i) 

06

            i += 1 

07

        

Loop 

08

  

    Console.ReadLine()

 

 

 
Gde se nalaze elementi petlje opisani u prethodnom pitanju? 

 

1.  Oznaka za početak: 

Red 04

  

2.  Kontrolna promenljiva: promenljiva 

i

, jer od njene vrednosti zavisi da li će se telo petlje izvršiti. Kako 

otkriti  koja  je  promenljiva  kontrolna?  Tako  što  pogledate  red  u  kojem  se  vrši  provera  ispunjenosti 

uslova ulaska u telo petlje. Promenljiva čija se vrednost u tom redu ispituje je kontrolna promenljiva. 
Kontrola ulaska u telo petlje se može nalaziti na početku petlje (posle ključne reči DO) i na kraju petlje 

(posle ključne redi LOOP). 

3.  Inicijalizacija  kontrolne  promenljive  (red  u  kojem  kontrolna  promenljiva  dobija  početnu  vrednost): 

Red 03

 

4.  Ispitivanje ispunjenosti uslova izvršavanja tela petlje (u ovom primeru se ispitivanje vrši na početku 

petlje, a u narednom primeru se ono vrši na kraju petlje): 

Red 04

 

5.  Telo petlje: 

Redovi 05 i 06

 

6.  Red u kojem se menja vrednost kontrolne promenljive: 

Red 06

 

7.  Oznaka za kraj: 

Red 07

 

 

Analizirajmo gornji primer red po red:  

U  redu  01  se  vrši  deklarisanje  promenljive 

i

.  Red  02  je  prazan,  pa  ga  računar  prilikom  izvršavanja 

programa i ne vidi. 
U redu 03 se promenljivoj 

i

 dodeljuje vrednost 1. Promenljiva 

i

 je kontrolna promenljiva While petlje 

(videti gornje objašnjenje). 
U redu 04 se nalazi oznaka za početak petlje (oznaka 

DO

). Posle oznake sledi While sa uslovom u zagradi, 

koji  uslov  se  ispituje  svaki  put  kada  program  dođe  u  red  br.  04.  Uslov  definisan  u  zagradi  se  tumači: 
izvršiti telo petlje samo ako je vrednost promenljive 

i

 manja ili jednaka 3. Pošto je ovaj uslov zadovoljen, 

prelazi  se  na  red  05.  Da  uslov  nije  zadovoljen,  program  bi  "skočio"  na  red  br.  08,  tj.  na  prvi  red  posle 
oznake kraja petlje (oznaka za kraj se nalazi u redu 07). 

U redu 05 se ispisuje vrednost promenljive 

i

, tj. ispisuje se broj 1. 

Red 06 povećava vrednost promenljiive 

i

, koja sada iznosi 2. 

 

background image

Podsetnik - Iteracije | 

4

 

 

na red 05, u kojem ispisuje broj 2, odnosno, ispisuje vrednost promenjlive 

i

, posle čega prelazi na red 06. 

U  redu  06  povećava  vrednost  kontrolne  promenljive  na  3,  prelazi  na  red  07,  konstatuje  zadovoljenje 

uslova (2 je manje od 3), posle čega se vraća se na red br. 04. Posle reda 04 prelazi na red 05, ispisuje 
vrednost promenljive 

i

, tj. ispisuje broj 3. U narednom redu, redu br. 06, vrednost promenljive 

i

 postaje 4, 

zbog čega uslov u redu br. 07 nije ispunjen. Pošto uslov nije ispunjen, PROGRAM 

NE

 SKAČE na red 04, već 

prelazi na sledeći red, red br. 08. 

 
Izgled ekrana: 

 

 

 
Postavićemo isto pitanje kao kod prethodnog primera: 

 
Šta bi se desilo, da je u redu br. 03 promenljivoj 

i

 dodeljena vrednost 10, tj: 

 

03

        i = 10 

 

Program  bi  ispisao  broj  10.  Zašto?  Već  smo  rekli  da  se  u  redu  br.  04  NE  VRŠI  ISPITIVANJE  USLOVA 
ULASKA U PETLJU, već se u ovom primeru kontrola ponavljanja vrši na KRAJU PETLJE. Zbog toga, ova 

petlja se prvi put izvršava BEZ ISPITIVANJA USLOVA, pa će se, kao rezultat rada ovog programa, ispisati 

broj 10 na ekranu.  
 

Objašnjenje: 

Nakon deklaracije promenljive 

i

 (red 01) i njene inicijalizacije na vrednost 10 (red 03), program stiže do 

reda 04, u kojem se nalazi oznaka za početak petlje, DO. Međutim, pošto NEMA ISPITIVANJA USLOVA ZA 
ULAZAK u petlju (da podsetimo, taj se uslov sada nalazi na kraju petlje, u redu br. 07), program prelazi na 

red 05 u kojem ispisuje vrednost promenljive 

i

, tj. ispisuje broj 10. U narednom redu, dakle redu br. 06, 

vrednost promenljive 

i

 se povećava na 11. Prelazi se na red 07, u kojem se konstatuje da uslov povratka 

na red 04 (na red koji nosi oznaku početka petlje - DO) NIJE ISPUNJEN, pa program prelazi na red br. 08, 
u kojem čeka da korisnik programa pritisne ENTER. Izgled ekrana je sledeći: 

 

 

 
PETLJE, KOD KOJIH SE USLOV ULASKA U PETLJU ISPITUJE NA KRAJU PETLJE se izvršavaju MINIMALNO 

JEDNOM, a maksimalno beskonačno mnogo puta. 
 

Dakle, šta je razlika između petlji kod kojih je ispitivanje na početku i petlji kod kojih je ispitivanje na 
kraju? Prva vrsta petlji se minimalno izvršava 0 puta, a druga vrsta petlji se minimalno izvršava jednom.  

 
 

05. Šta je mrtva petlja? 

Mrtva petlja je svaka ona petlja, kod koje se nikada ne stekne uslov iskakanja iz petlje. Drugim rečima, to 

su  one  petlje  kod  kojih  je  uslov  ulaska  u  petlju  uvek  zadovoljen,  a  u  telu  petlje  ne  postoji  ni  jedan 
programski  red  koji  može  dovesti  do  promene  vrednosti  kontrolne  promenljive,  usled  čega  bi  uslov 

ulaska u petlju bio nezadovoljen. U prethodnim primerima, mrtva petlja bi se, na primer, mogla postići 
tako, što bi se izostavio red koji povećava vrednost kontrolne promenljive: 

 

01

        

Dim

 i 

As

 

Integer 

02

 

03

        i = 1 

04

        

Do

 

While

 (i <= 3) 

05

            Console.WriteLine(i) 

06

        

Loop 

07

  

    Console.ReadLine()

 

 

Želiš da pročitaš svih 12 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti