Kaj je While Loop?
Stavek zanke WHILE deluje podobno kot stavek Basic loop, razen da je pogoj EXIT na samem začetku zanke .
Deluje kot zanka za preverjanje vstopa, v kateri izvedbeni blok ne bo izveden niti enkrat, če pogoj ni izpolnjen, saj je izhodni pogoj preverjanje pred izvedbenim delom. Ključne besede 'EXIT' ne zahteva izrecnega izstopa iz zanke, saj pogoj implicitno potrdi vsakič, ko je zanka.
WHILEPojasnilo sintakse:LOOP … END LOOP;
- V zgornji sintaksi ključna beseda 'WHILE' označuje začetek zanke, 'END LOOP' pa konec zanke.
- Pogoj EXIT se oceni vsakič, preden se izvršilni del začne izvajati.
- Izvršitveni blok vsebuje vso kodo, ki jo je treba izvesti.
- Izvršilni del lahko vsebuje kateri koli stavek o izvedbi.
Primer 1 : V tem primeru bomo s stavkom WHILE zanke natisnili številko od 1 do 4. Za to bomo izvedli naslednjo kodo.
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:/
Razlaga kode:
- Vrstica kode 2 : Spremenljivka 'a' se razglasi za podatkovni tip 'ŠTEVILO' in se inicializira z vrednostjo '1'.
- Vrstica kode 4 : Tiskanje stavka "Program se je začel".
- Vrstica kode 5: Ključna beseda 'WHILE' označuje začetek zanke in preverja tudi, ali je vrednost 'a' manjša ali enaka 5
- Vrstica kode 7: natisne vrednost 'a'.
- Vrstica kode 8: Poveča vrednost 'a' za +1.
- Vrstica kode 9: Ključna beseda 'END LOOP' označuje konec izvedbenega bloka.
- Koda iz vrstice 7 in vrstice 8 se bo še naprej izvajala, dokler 'a' ne doseže vrednosti 6, saj bo pogoj vrnil TRUE, nadzor pa bo EXIT iz zanke.
- Vrstica kode 10: Tiskanje stavka "Program zaključen"
Povzetek
Loop | Medtem ko zanka |
Merila IZHODA | Izhod, ko stanje preverjanja vrne false |
Uporaba | Dobro je uporabiti, kadar je število zank neznano in izhod temelji na kakšnem drugem pogoju. |