Co je While Loop?
Příkaz WHILE loop funguje podobně jako příkaz Basic loop, kromě toho, že podmínka EXIT je na samém začátku smyčky .
Funguje to jako smyčka pro kontrolu vstupu, ve které se spouštěcí blok ani jednou nespustí, pokud podmínka není splněna, protože výstupní podmínka se kontroluje před prováděcí částí. Nevyžaduje výslovně klíčové slovo 'EXIT' pro ukončení ze smyčky, protože implicitně ověřuje podmínku pokaždé ve smyčce.
WHILEVysvětlení syntaxe:LOOP … END LOOP;
- Ve výše uvedené syntaxi klíčové slovo „WHILE“ označuje začátek smyčky a „END LOOP“ označuje konec smyčky.
- Podmínka EXIT se vyhodnotí pokaždé, než se spustí prováděcí část.
- Blok provádění obsahuje veškerý kód, který je třeba provést.
- Exekuční část může obsahovat jakýkoli exekuční příkaz.
Příklad 1 : V tomto příkladu budeme tisknout číslo od 1 do 4 pomocí příkazu WHILE loop. Za tímto účelem provedeme následující 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:/
Vysvětlení kódu:
- Řádek kódu 2 : Deklarace proměnné „a“ jako datového typu „NUMBER“ a inicializace s hodnotou „1“.
- Řádek kódu 4 : Tisk prohlášení „Program spuštěn“.
- Řádek kódu 5: Klíčové slovo „WHILE“ označuje začátek smyčky a také kontroluje, zda je hodnota „a“ menší nebo rovna 5
- Řádek kódu 7: Vytiskne hodnotu 'a'.
- Řádek kódu 8: Zvyšuje hodnotu 'a' o +1.
- Řádek kódu 9: Klíčové slovo „END LOOP“ označuje konec bloku provádění.
- Kód z řádku 7 a řádku 8 se bude i nadále spouštět, dokud hodnota „a“ nedosáhne hodnoty 6, protože podmínka vrátí hodnotu TRUE a ovládací prvek ukončí smyčku.
- Řádek kódu 10: Tisk prohlášení „Program dokončen“
souhrn
Smyčka | WHILE Loop |
KONEC Kritéria | Ukončete, když podmínka kontroly vrátí hodnotu false |
Používání | Dobré použít, když počet smyček není znám a ukončení je založeno na nějaké jiné podmínce. |