DO - LOOPPetlje - nastavak
Što će raditi ovaj program?
Početak programa
ispiši izbornik: “Unesi 2 broja”
učitaj (x)
učitaj (y)
z=x+y
ispiši z
ispiši: “ Želite li još? 1=DA, 2=NE”
učitaj (i)
Ako (i=1) početak programa
Kraj programa
Učitavati, a zatim
zbrajati dva broja
dok korisnik to
želi i odabire.
Znamo li unaprijed
koliko puta će se
pokrenuti
program?
UVJET
Naredba/e za ponavljanje
ne
da UVJET
Naredba/e za ponavljanje
ne
da
PETLJE – služe ponavljanju naredbi
FOR-NEXT DO-LOOP
• Poznat je broj ponavljanja prije izvođenja programa
• npr. svaki dan u tjednu
• svaki mjesec u godini
• svi brojevi do 100
• svi učenici u razredu
• Unaprijed nije poznat broj ponavljanja
• dok ne pogodi…
• dok ne unese xy
• dok ima novca
• dok ne potroši novac
• itd.
Zadatak
Hodaj ravno.Dok ne dođeš do prepreke.Skreni desno!
DO LOOP petlja
DO - WHILE DO - UNTIL
DO
hodaj ravno
WHILE (nema prepreke)
skreni desno
DO
hodaj ravno
UNTIL (ima prepreka)
skreni desno
Što će raditi ovaj program?
Početak programa
ispiši izbornik: “Unesi 2 broja”
učitaj (x)
učitaj (y)
z=x+y
ispiši z
ispiši: “ Želite li još? 1=DA, 2=NE”
učitaj (i)
Ako (i=1) početak programa
Kraj programa
DO
PRINT “Unesi dva broja”
INPUT x
INPUT y
z=x+y
PRINT z
PRINT “Želite li još? 1=DA, 2=NE”
INPUT i
LOOP UNTIL i=2
Koja je razlika?
DO
PRINT “Unesi dva broja”
INPUT x
INPUT y
z=x+y
PRINT z
PRINT “Želite li još? 1=DA, 2=NE”
INPUT i
LOOP UNTIL i=2
DO
PRINT “Unesi dva broja”
INPUT x
INPUT y
z=x+y
PRINT z
PRINT “Želite li još? 1=DA, 2=NE”
INPUT i
LOOP WHILE i=1
DO- LOOP petlja
• Dva su oblika DO-LOOP petlje, jedan koristi riječ UNTIL, a drugi WHILE kao kontrolu za prekid izvršavanja petlje.
• UNTIL – ponavljanje sve dok se ne ispuni zadani uvjet
• WHILE – ponavljanje sve dok je zadani uvjet ispunjen
• Provjera uvjeta može biti ▫ na početku▫ na kraju petlje.
DO LOOP?
Primjer s provjerom uvjeta
na kraju DO-LOOP petljeb=0
DO
PRINT “Hvar”
b=b+1
LOOP UNTIL b=5
b=0
DO
PRINT “Hvar”
b=b+1
LOOP WHILE b<5
UNTIL – dok se ne ispuni zadani uvjet
WHILE – dok je zadani uvjet ispunjen
Primjer s provjerom uvjeta
na početku DO-LOOP petlje
DO UNTIL b=5
PRINT “Hvar”
b=b+1
LOOP
DO WHILE b<5
PRINT “Hvar”
b=b+1
LOOP
• Koja je razlika DO-LOOP petlje s provjerom uvjeta na početku i na kraju?
• Kad je uvjet na početku postoji mogućnost da se petlja ne izvrši nijednom, kao gornjim primjerima.
b=6
• Ako je provjera uvjeta na kraju petlje, može li se dogoditi da se petlja ne izvrši niti jednom?
b=5
UVJET
Naredba/e za ponavljanje
ne
UVJET
Naredba/e za ponavljanje
ne
da
da
UVJET SE ISPITUJE NA
POČETKUUVJET SE ISPITUJE NA
KRAJU
Razlika petlje s provjerom na početku
i na kraju
b=5
DO
PRINT “Hvar”
b=b+1
LOOP WHILE b<5
b=5
DO WHILE b<5
PRINT “Hvar”
b=b+1
LOOP
Kako se uvjet ispituje
tek na kraju petlja će se
izvršiti jednom.
Uvjet se uvjet ispituje na
početku pa se petlja
neće izvršiti niti jednom
Opći oblici DO-LOOP petlje
DO UNTIL uvjet
…
LOOP
DO WHILE uvjet
…
LOOP
DO
…
LOOP UNTIL uvjet
DO
…
LOOP WHILE uvjet
Zadatak – gustoća tvari
• Program koji računa gustoću tvari ako je zadana masa i obujam tijela.
• Program se izvršava sve dok korisnik ne odabere izlaz iz programa (Želite li još jednom izvršiti program? Da/ne)
▫ Ulaz: m, V▫ Izlaz: gustoća
DOINPUT mINPUT VPRINT „Gustoća”; m/VPRINT „Želite li opet pokrenuti program (d/n)?”INPUT i$
LOOP WHILE i$=„d” OR i$=„D”
Korisnik pogađa zamišljeni broj dok ne pogodi.
Prilikom svakog pokušaja ispisuje se pomoć igraču
u vidu poruke je li zamišljeni broj veći ili manji
od posljednjeg upisanog.
Nakon što pogodi broj na ekranu se ispiše poruka
da je pogodio o iz kojeg pokušaja.
b=0p=0DO UNTIL b=16
INPUT bIF b >16 THEN PRINT"zamišljeni broj je manji"IF b<16 THEN PRINT"zamišljeni broj je veci"p=p+1
LOOPPRINT "BROJ POKUŠAJA "; p