Što je dok petlja?
Izjava petlje WHILE djeluje slično naredbi osnovne petlje, osim što je uvjet EXIT na samom početku petlje .
Radi poput petlje za provjeru ulaska u kojoj se blok izvršenja neće niti jednom izvršiti ako uvjet nije zadovoljen, jer se izlazni uvjet provjerava prije izvršenja. Ne zahtijeva eksplicitno izlazak ključne riječi 'EXIT' iz petlje jer implicitno provjerava stanje svaki put kada se petlja završi.
WHILEObjašnjenje sintakse:LOOP … END LOOP;
- U gornjoj sintaksi, ključna riječ "WHILE" označava početak petlje, a "END LOOP" kraj petlje.
- Uvjet EXIT procjenjuje se svaki put prije nego što se izvršni dio započne izvršavati.
- Izvršni blok sadrži sav kôd koji treba izvršiti.
- Izvršni dio može sadržavati bilo koju izjavu o izvršenju.
Primjer 1 : U ovom ćemo primjeru ispisati broj od 1 do 4 pomoću izraza WHILE loop. Za to ćemo izvršiti sljedeći kod.
DECLAREa NUMBER :=1;BEGINdbms_output.put_line('Program started');WHILE (a <= 5)LOOPdbms_output.put_line(a);a:=a+1;END LOOP;dbms_output.put_line(‘Program completed' ); END:/
Objašnjenje koda:
- Redak koda 2 : Proglašavanje varijable 'a' tipom podataka 'BROJ' i inicijalizacija vrijednošću '1'.
- Redak koda 4 : Ispis izjave "Program pokrenut".
- Redak koda 5: Ključna riječ 'DOK' označava početak petlje, a također provjerava je li vrijednost 'a' manja ili jednaka 5
- Redak koda 7: ispisuje vrijednost 'a'.
- Redak koda 8: Povećava vrijednost 'a' za +1.
- Redak koda 9: Ključna riječ 'END LOOP' označava kraj izvršnog bloka.
- Kôd iz retka 7 i retka 8 nastavit će se izvršavati sve dok 'a' ne dosegne vrijednost 6, jer će uvjet vratiti TRUE, a kontrola će EXIT iz petlje.
- Redak koda 10: Ispis izjave "Program završen"
Sažetak
Petlja | DOK JE Petlja |
Kriteriji IZLAZA | Izlaz kada uvjet provjere vrati false |
Upotreba | Dobro se koristiti kada je broj petlji nepoznat, a izlaz se temelji na nekom drugom stanju. |