• Čet. tra 30th, 2026

Oblak Znanja

informatička edukacija i vijesti

1.1 Uporaba naredbe za petlju s logičkim uvjetom 2. dio

ByTomšić Damjan

ruj 21, 2015
Uporaba petlje s logičkim uvjetom

DO – LOOP petlja

Jedna od petlji s logičkim uvjetom jest DO-LOOP petlja. Ona ima nekoliko oblika koje ćemo danas naučiti. Oblik petlje zavisi o mjestu gdje je postavljen uvjet, odnosno je li uvjet postavljen na početku ili na kraju petlje. Petlje u kojima se ispituje je li postavljeni upit istinit mogu imat oblik DO WHILE – LOOP i DO – LOOP WHILE. Pojam WHILE možemo prevesti kao pojam DOK JE.

Petlja s uvjetom na početku petlje DO WHILE … LOOP

DO WHILE uvjet istinit

          naredbe

LOOP

Petlja s uvjetom na kraju petlje DO … LOOP WHILE

DO

          naredbe

LOOP WHILE uvjet istinit

Svaki problem koji možemo riješiti FOR -NEXT petljom možemo riješiti i rabeći DO – LOOP petlju. Kako nije uvijek poznat broj ponavljanja, neke probleme možemo riješiti samo upotrebom DO – LOOP petlje gdje nam mora biti poznat broj ponavljanja.

Primjer zadatka

Napišite program koji će ispisati sve brojeve od 1 do 5. Pošto nam je unaprijed poznati broj ponavljanja program možemo napisati rabeći petlju FOR – NEXT i dvjema petljama DO – LOOP, jednom koja ima uvjet na početku i drugom koja ima uvjet na kraju petlje. Riješimo zadatak rabeći 3 petlje.

FOR – NEXT DO – LOOP WHILE DO WHILE – LOOP
CLS

FOR I=1 TO 5

PRINT I

NEXT I

CLS

I=1

DO

PRINT I

I=I+1

LOOP WHILE I<6

CLS

I=5

DO WHILE I<11

PRINT I

I=I+1

LOOP

Rješenje:

1

2

3

4

5

Rješenje:

1

2

3

4

5

Rješenje:

1

2

3

4

5

U petlji FOR-NEXT vrijednost brojača se mijenja automatski s obzirom na provedbu petlje. U petljama DO – LOOP WHILE i DO WHILE – LOOP morali smo zadati način promjene brojača I=I+1. U sva tri načina petlja vodi do ispunjenja uvjeta.

 

Primjer zadatka

Ako promijenimo početnu vrijednost varijable I iz prethodnog primjera u 15 (I=15), kakva će biti rješenja programa u petlji DO – LOOP WHILE, a kakva u petlji DO – WHILE LOOP?

DO – LOOP WHILE DO WHILE – LOOP
CLS

I=15

DO

PRINT I

I=I+1

LOOP WHILE I<6

CLS

I=15

DO WHILE I<11

PRINT I

I=I+1

LOOP

 Rješenje:

15

 Rješenje:

 

Petlja se provela jedanput jer je uvjet ispisan na kraju petlje. Petlja se nije nijedanput provela jer je uvjet za provjeru upisan na početku petlje tako da se nijedna naredba u petlji nije provela.

Petlje u kojima se ispituje je li postavljeni uvjet lažan mogu imati oblik DO UNTIL – LOOP, DO LOOP – UNTIL. Uvjet možemo postaviti na početku ili na kraju petlje. Puni oblik petlje izgleda ovako:

DO UNTIL petlja

Petlja s uvjetom na početku petlje

DO UNTIL uvjet lažan

naredbe

LOOP

Petlja s uvjetom na kraju petlje

DO

naredbe

LOOP UNTIL uvjet lažan

DO – LOOP WHILE DO WHILE – LOOP DO-LOOP UNTIL DO-UNTIL LOOP
CLS

DO

PRINT „Racunalo“

I=I+1

LOOP WHILE I<5

CLS

DO WHILE I<5

PRINT „Racunalo“

I=I+1

LOOP

CLS

DO

PRINT „Racunalo“

I=I+1

LOOP UNTIL I<5

CLS

DO UNTIL I<5

PRINT „Racunalo“

I=I+1

LOOP

Rješenje:

Računalo

Računalo

Računalo

Računalo

Računalo

Rješenje:

Računalo

Računalo

Računalo

Računalo

Računalo

Računalo  
U ovim je petljama 5 puta ispisana riječu „Racunalo“ jer je uvjet u petlji bio istinit. Ako ne postavimo početnu vrijednost, početna vrijednost brojčanika u svim ovim petljama postavlja se na nulu (I=0). Ova petlja se provodi ako je uvjet lažan. U ovoj petlji uvjet je postavljen na kraju petlje pa se jednom ispisalo „Racunalo“ jer se petlja provela samo jedanput. Ova petlja se provodi ako je uvjet lažan.

Uvjet je postavljen na početku petlje. Budući da uvjet nije ispunjen nije ispisano nijedno rješenje.

Primjer – Pogađanje brojeva

Napravit ćemo program kojim će računalo zamisliti jedan broj između 1 i 100. U što manjem broju pokušaja trebamo pogoditi koji je to broj. Računalo mora ispisati poruku je li upisani broj veći, manji ili točan te iz kojeg pokušaja smo pogodidli točan broj.

CLS

RANDOMIZE TIMER

broj=INT(RND*100)

DO UNTIL broj=n

pokusaj=pokusaj+1

INPUT „Upisite trazeni broj;“; n

IF n>broj THEN

PRINT „Upisani broj je veci od trazenog broja“

ELSEIF n< broj THEN

PRINT „Upisani broj je manji od trazenog broja“

ELSE

PRINT „Pogodili ste trazeni broj u“; pokusaj;“. pokusaju“

ENDIF

LOOP

Objašnjenje
broj – varijabla u koju se zapisuje slučajni broj manji od 100

pokusaj – varijabla u kojoj se broje pokusaji pogađanja slučajnog broja

n – varijabla za brojčanu vrijednost upisanu tikovnicom

Petlja se provodi sve dok upisana vrijednost ne postane jednaka slučajnoj vrijednosti.

 

By Tomšić Damjan

Pozdrav, ja sam Damjan Tomšić, osnivatelj i urednik informatičko edukativnog bloga Oblak Znanja. Za Vas ću se potruditi da dobijete edukativne članke, savjete i recenzije vezane uz osnovno i napredno korištenje računala i interneta. Kontak: Google+, Gmail.