Sadržaj objave
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. |




