Döngü için nedir?
"FOR LOOP" ifadesi, bir kodu diğer bazı koşullara bağlı olmaktan ziyade bilinen sayıda çalıştırmak istediğinizde en uygunudur.
Bu döngüde, alt sınır ve üst sınır belirtilecek ve döngü değişkeni bu aralıkta olduğu sürece döngü çalıştırılacaktır.
Döngü değişkeni kendinden artışlıdır, bu nedenle bu döngüde açık bir artış işlemine gerek yoktur. Döngü değişkeninin örtük olarak bildirildiği için bildirilmesine gerek yoktur.
FORSözdizimi Açıklaması:in … LOOP … END LOOP;
- Yukarıdaki sözdiziminde, 'FOR' anahtar sözcüğü döngünün başlangıcını ve 'END LOOP' döngünün sonunu gösterir.
- Döngü değişkeni, yürütme kısmı çalıştırılmadan önce her seferinde değerlendirilir.
- Yürütme bloğu, yürütülmesi gereken tüm kodu içerir. Yürütme bölümü herhangi bir yürütme ifadesini içerebilir.
- Loop_variable, tüm döngünün yürütülmesi sırasında örtük olarak bildirilir ve bu loop_variable'ın kapsamı yalnızca bu döngü içinde olacaktır.
- Döngü değişkeni aralığın dışına çıktıysa, kontrol döngüden çıkacaktır.
- Döngü, alt_sınırtan önce 'TERSİNE' anahtar sözcüğü eklenerek ters sırada çalıştırılabilir.
Örnek 1 : Bu örnekte, FOR döngü deyimini kullanarak 1'den 5'e kadar sayı yazdıracağız. Bunun için aşağıdaki kodu çalıştıracağız.
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;/
Kod Açıklaması:
- Kod satırı 2 : "Program başladı" ifadesinin yazdırılması.
- Kod satırı 3: 'FOR' anahtar sözcüğü döngünün başlangıcını işaret eder ve döngü_variable 'a' bildirilir. Şimdi 1'den 5'e kadar olan değere sahip olacak
- Kod satırı 5: 'a' değerini yazdırır.
- Kod satırı 6: 'SON DÖNGÜ' anahtar sözcüğü yürütme bloğunun sonunu gösterir.
- 5. satırdaki kod, koşul başarısız olacağı için 'a' 6 değerine ulaşana kadar çalışmaya devam edecek ve kontrol döngüden ÇIKACAKTIR.
- Kod satırı 7: "Program tamamlandı" ifadesinin yazdırılması
İç içe geçmiş döngüler
Döngü deyimleri de yuvalanabilir. Dış ve iç döngü farklı tiplerde olabilir. Yuvalanmış döngüde, dış döngünün her bir yineleme değeri için, iç döngü tam olarak yürütülür.
LOOP -outerSözdizimi Açıklaması:LOOP - inner END LOOP; END LOOP;
- Yukarıdaki sözdiziminde, dış döngünün içinde bir döngü daha vardır.
- Döngüler herhangi bir türde olabilir ve yürütme işlevselliği kısmı aynıdır.
Örnek 1 : Bu örnekte, FOR döngü deyimini kullanarak 1'den 3'e kadar sayı yazdıracağız. Her numara, değeri kadar yazdırılacaktır. Bunun için aşağıdaki kodu çalıştıracağız.
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;/
Kod Açıklaması:
- Kod satırı 2 : 'b' değişkeninin 'NUMARA' veri türü olarak bildirilmesi.
- Kod satırı 4 : "Program başladı" ifadesinin yazdırılması.
- Kod satırı 5: 'FOR' anahtar sözcüğü döngünün başlangıcını işaret eder ve döngü_variable 'a' bildirilir. Şimdi 1'den 3'e kadar olan değere sahip olacak
- Kod satırı 7: Her seferinde 'b' değerini '1' olarak sıfırlama.
- Kod satırı 8: İç while döngüsü a> = b koşulunu kontrol eder.
- Kod satırı 10: Yukarıdaki koşul karşılandığı sürece 'a' değerini yazdırır.
- Kod satırı 14: "Program tamamlandı" ifadesinin yazdırılması
Özet
Döngü | Döngü için |
Çıkış kriteri | Sayaç limite ulaştığında çık |
Kullanım | Yürütülecek döngü sayısı bilindiğinde kullanmak iyidir. |