Шта је Фор Лооп?
Израз „ФОР ЛООП“ је најпогоднији када желите да извршите код познат број пута, а не на основу неких других услова.
У овој петљи ће бити наведена доња и виша граница и све док је променљива петље између овог опсега, петља ће се извршавати.
Променљива петље је самоинкрементална, тако да у овој петљи није потребна експлицитна операција повећања. Променљива петље не мора бити декларисана, јер је декларисана имплицитно.
FORОбјашњење синтаксе:in … LOOP … END LOOP;
- У горњој синтакси, кључна реч „ФОР“ означава почетак петље, а „ЕНД ЛООП“ крај петље.
- Лооп променљива се процењује сваки пут пре извршавања извршног дела.
- Извршни блок садржи сав код који треба извршити. Извршни део може садржати било коју изјаву о извршењу.
- Лооп_вариабле се декларише имплицитно током извршавања целе петље, а опсег ове лооп_вариабле ће бити само унутар ове петље.
- Ако је променљива петље изашла из опсега, тада ће контрола изаћи из петље.
- Петља се може натерати да ради обрнутим редоследом додавањем кључне речи 'РЕВЕРСЕ' пре ловер_лимит.
Пример 1 : У овом примеру ћемо исписати број од 1 до 5 помоћу наредбе ФОР петље. За то ћемо извршити следећи код.
BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/
Објашњење кода:
- Линија 2 : Штампање изјаве „Програм је покренут“.
- Линија 3: Кључна реч „ФОР“ означава почетак петље и декларисана је променљива петље „а“. Сада ће имати вредност која почиње од 1 до 5
- Кодни ред 5: Штампа вредност „а“.
- 6. ред кода: Кључна реч „ЕНД ЛООП“ означава крај извршног блока.
- Код из реда 5 наставиће се извршавати све док 'а' не достигне вредност 6, јер услов неће успети, а контрола ће ИЗЛАЗИТИ из петље.
- Шифра 7: Штампање изјаве „Програм завршен“
Угњежене петље
Изводи петље се такође могу угнездити. Спољна и унутрашња петља могу бити различитих врста. У угнежђеној петљи, за сваку вредност итерације спољне петље, унутрашња петља ће се извршити у потпуности.
LOOP -outerОбјашњење синтаксе:LOOP - inner END LOOP; END LOOP;
- У горњој синтакси, спољна петља има још једну петљу унутар себе.
- Петље могу бити било које врсте, а функционалност извршења је иста.
Пример 1 : У овом примеру ћемо исписати број од 1 до 3 помоћу израза петље ФОР. Сваки број ће бити одштампан онолико пута колико му је вредност. За то ћемо извршити следећи код.
DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP; END LOOP; dbms_output.put_line('Program completed' );END;/
Објашњење кода:
- Линија 2 : Проглашавање променљиве 'б' као типа података 'БРОЈ'.
- Линија кода 4 : Штампање изјаве „Програм је покренут“.
- Редак кода 5: Кључна реч 'ФОР' означава почетак петље и декларисана_променљива 'а' је декларисана. Сада ће имати вредност која почиње од 1 до 3
- Кодни ред 7: Сваки пут ресетује вредност „б“ на „1“.
- Редак кода 8: Унутрашња вхиле петља проверава стање а> = б.
- Редак кода 10: Штампа вредност „а“ све док је задовољен горњи услов.
- Редак 14: Штампање изјаве „Програм завршен“
Резиме
Лооп | ФОР Лооп |
Критеријуми за ИЗЛАЗ | Излаз када бројач достигне ограничење |
Употреба | Добро је користити када је познато бројање петљи које треба извршити. |