Čo je While Loop?
Príkaz WHILE loop funguje podobne ako príkaz Basic loop, ale podmienka EXIT je na samom začiatku cyklu .
Funguje to ako slučka kontroly vstupu, v ktorej sa exekučný blok ani raz nespustí, ak podmienka nie je splnená, pretože výstupná podmienka sa kontroluje pred vykonanou časťou. Nevyžaduje explicitné kľúčové slovo 'EXIT' na ukončenie zo slučky, pretože implicitne validuje podmienku zakaždým, keď je zo slučky.
WHILEVysvetlenie syntaxe:LOOP … END LOOP;
- Vo vyššie uvedenej syntaxi kľúčové slovo „WHILE“ označuje začiatok slučky a „END LOOP“ označuje koniec slučky.
- Podmienka EXIT sa vyhodnotí zakaždým pred začatím vykonávania vykonávacej časti.
- Exekučný blok obsahuje všetok kód, ktorý je potrebné vykonať.
- Exekučná časť môže obsahovať akýkoľvek exekučný príkaz.
Príklad 1 : V tomto príklade vytlačíme číslo od 1 do 4 pomocou príkazu WHILE loop. Za týmto účelom vykonáme nasledujúci kód.
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:/
Vysvetlenie kódu:
- Riadok kódu 2 : Deklarovanie premennej 'a' ako dátového typu 'NUMBER' a jej inicializácia s hodnotou '1'.
- Riadok kódu 4 : Tlač vyhlásenia „Program spustený“.
- Riadok kódu 5: Kľúčové slovo „WHILE“ označuje začiatok slučky a tiež kontroluje, či je hodnota „a“ menšia alebo rovná 5
- Riadok kódu 7: Vytlačí hodnotu písmena „a“.
- Riadok kódu 8: Zvyšuje hodnotu „a“ o +1.
- Riadok kódu 9: Kľúčové slovo „END LOOP“ označuje koniec bloku vykonania.
- Kód z riadku 7 a riadku 8 sa bude naďalej vykonávať, kým znak „a“ nedosiahne hodnotu 6, pretože podmienka vráti hodnotu TRUE a ovládací prvok ukončí slučku.
- Riadok kódu 10: Tlač výpisu „Program je dokončený“
Zhrnutie
Slučka | WHILE Loop |
Kritériá ODCHODU | Ukončite, keď sa podmienka kontroly vráti ako nepravdivá |
Využitie | Dobré použiť, keď počet slučiek nie je známy a ukončenie je založené na nejakej inej podmienke. |