Kas ir kamēr cilpa?
WHILE cilpas priekšraksts darbojas līdzīgi kā pamata cilpas paziņojums, izņemot to, ka nosacījums EXIT ir cilpas pašā sākumā .
Tas darbojas kā ievades pārbaudes cilpa, kurā izpildes bloks pat netiks izpildīts vienu reizi, ja nosacījums nav izpildīts, jo izejas nosacījums tiek pārbaudīts pirms izpildes daļas. Tam nav nepieciešams, lai atslēgvārds “EXIT” skaidri izietu no cilpas, jo tas nosacījumu apstiprina netieši katrā cilpas reizē.
WHILESintakses skaidrojums:LOOP … END LOOP;
- Iepriekš minētajā sintaksē atslēgvārds “WHILE” atzīmē cikla sākumu, bet “END LOOP” - cikla beigas.
- EXIT nosacījums tiek novērtēts katru reizi, pirms izpildes daļa sāk izpildīt.
- Izpildes bloks satur visu kodu, kas jāizpilda.
- Izpildes daļā var būt jebkurš izpildes paziņojums.
1. piemērs : Šajā piemērā mēs izdrukāsim numuru no 1 līdz 4, izmantojot WHILE cilpas paziņojumu. Šim nolūkam mēs izpildīsim šādu kodu.
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:/
Koda skaidrojums:
- 2. koda rindiņa : mainīgā “a” deklarēšana par “NUMBER” datu tipu un inicializēšana ar vērtību “1”.
- 4. koda rindiņa : izdrukājiet paziņojumu "Programma sākta".
- 5. koda rindiņa: Atslēgvārds “WHILE” atzīmē cikla sākumu, un tas arī pārbauda, vai “a” vērtība ir mazāka vai vienāda ar 5
- 7. koda rindiņa: izdrukā “a” vērtību.
- 8. koda rindiņa: palielina “a” vērtību ar +1.
- 9. koda rindiņa: Atslēgvārds “END LOOP” atzīmē izpildes bloka beigas.
- Kods no 7. un 8. rindas turpinās darboties, līdz “a” sasniegs vērtību 6, jo nosacījums atgriezīs TRUE, un vadība izies no cilpas.
- 10. koda rindiņa: Izraksta "Programma pabeigta" izdrukāšana
Kopsavilkums
Loop | KAD CILPE |
Izejas kritēriji | Iziet, kad pārbaudes nosacījums atgriež kļūdainu vērtību |
Lietošana | Labi lietojams, ja cilpu skaits nav zināms, un izeja ir balstīta uz kādu citu nosacījumu. |