Mis on loopi ajal?
WHILE-tsükli lause töötab sarnaselt Basic-tsükli lausega, välja arvatud tingimus EXIT on tsükli alguses .
See toimib nagu sisestuskontrolli silmus, milles täitmisblokki ei täideta kordagi, kui tingimus ei ole täidetud, kuna väljumistingimust kontrollitakse enne täitmisosa. See ei nõua otsesõnu silmusest väljumiseks märksõna „EXIT”, kuna see kinnitab tingimust kaudselt igal tsükli korral.
WHILESüntaksi selgitus:LOOP … END LOOP;
- Ülaltoodud süntaksis tähistab märksõna 'WHILE' tsükli algust ja 'END LOOP' tsükli lõppu.
- Tingimust EXIT hinnatakse iga kord enne, kui täitmisosa käivitamist alustab.
- Täitmisplokk sisaldab kogu käivitamiseks vajaliku koodi.
- Täitmisosa võib sisaldada mis tahes täitmislauset.
Näide 1 : Selles näites printime numbri vahemikus 1 kuni 4, kasutades WHILE tsükli lauset. Selleks täidame järgmise koodi.
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:/
Koodi selgitus:
- Koodirida 2 : Muutuja a kuulutamine andmetüübiks „NUMBER“ ja initsialiseerimine väärtusega „1“.
- Koodirida 4 : Väljavõtte "Programmi käivitamine" printimine.
- Koodirida 5: Märksõna „WHILE” tähistab tsükli algust ja kontrollib ka seda, kas „a” väärtus on väiksem või võrdne 5
- Koodirida 7: prindib a väärtuse.
- Koodirida 8: suurendab a väärtust +1 võrra.
- Koodirida 9: Märksõna „END LOOP” tähistab täitmisbloki lõppu.
- Ridade 7 ja 8 koodi jätkamine jätkub seni, kuni 'a' jõuab väärtuseni 6, kuna tingimus tagastab TÕENE ja juhtimine väljub silmusest.
- Koodirida 10: Väljavõtte "Programm lõpetatud" printimine
Kokkuvõte
Loop | SILMU AJAL |
EXIT-kriteeriumid | Väljuge, kui kontrolltingimus tagastab vale |
Kasutamine | Hea kasutada, kui silmuste arv pole teada, ja väljumine põhineb mõnel muul tingimusel. |