Co to jest While Loop?
Instrukcja pętli WHILE działa podobnie do instrukcji pętli Basic, z tą różnicą, że warunek EXIT znajduje się na samym początku pętli .
Działa jak pętla kontroli wejścia, w której blok wykonania nie zostanie wykonany nawet raz, jeśli warunek nie jest spełniony, ponieważ warunek wyjścia jest sprawdzany przed wykonaniem części. Nie wymaga jawnego wyjścia z pętli słowa kluczowego „EXIT”, ponieważ sprawdza warunek niejawnie za każdym razem w pętli.
WHILEObjaśnienie składni:LOOP … END LOOP;
- W powyższej składni słowo kluczowe „WHILE” oznacza początek pętli, a „END LOOP” oznacza koniec pętli.
- Warunek EXIT jest oceniany za każdym razem przed rozpoczęciem wykonywania części wykonawczej.
- Blok wykonania zawiera cały kod, który należy wykonać.
- Część wykonawcza może zawierać dowolną instrukcję wykonania.
Przykład 1 : W tym przykładzie wydrukujemy liczbę od 1 do 4 za pomocą instrukcji pętli WHILE. W tym celu wykonamy następujący 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śnienie kodu:
- Linia kodu 2 : Zadeklarowanie zmiennej „a” jako typu danych „LICZBA” i zainicjowanie jej wartością „1”.
- Linia kodu 4 : Drukowanie instrukcji „Program uruchomiony”.
- Linia kodu 5: słowo kluczowe „WHILE” oznacza początek pętli, a także sprawdza, czy wartość „a” jest mniejsza lub równa 5
- Linia kodu 7: Drukuje wartość „a”.
- Linia kodu 8: Zwiększa wartość „a” o +1.
- Linia kodu 9: słowo kluczowe „END LOOP” oznacza koniec bloku wykonania.
- Kod z linii 7 i 8 będzie wykonywany, aż „a” osiągnie wartość 6, ponieważ warunek zwróci TRUE, a sterowanie wyjdzie z pętli.
- Linia kodu 10: Drukowanie instrukcji „Program zakończony”
Podsumowanie
Pętla | WHILE Loop |
Kryteria WYJŚCIA | Zakończ, gdy warunek sprawdzenia zwróci fałsz |
Stosowanie | Dobrze jest użyć, gdy liczba pętli jest nieznana, a wyjście jest oparte na innym warunku. |