Anasayfa / Basit Dili Kuralları

Döngü

Döngü kısaca aynı işlemin tekrarlanmasıdır. Fakat aynı işlem tekrarlanırken, işlem gören değerler farklı olabilir. Bu sebepten dolayı farklı teknik olanaklar sağlayan döngüler vardır.

Standart döngü modeli:

Döngü  poz  =  0  Dan  9  Kadar  
    Denetim  poz
DöngüSon  

yada

Döngü  poz  =  0  Dan  9  Kadar  1  Adım  Artış  
    Denetim  poz
DöngüSon  

Bu örnekteki döngü 0'dan 9'kadar adım adım yükseliyor. Başlangıçta 0 iken, ikinci adımda 1, sonra 2, sonra 3, sonra 4 vesaire oluyor. Adım adım artışı ikişer ikişer, üçer üçer veya daha fazla belirlenebilir:

Döngü  poz  =  0  Dan  9  Kadar  3  Adım  Artış  
    Denetim  poz
DöngüSon  

Örnekte kullanılan “poz” bir değişkendir ve rakamsal değer içerir. İkinci model, standart modele çok benzer, fakat tersine işlemektedir:

Döngü  poz  =  9  Dan  0  Kadar  1  Adım  Düşüş  
    Denetim  poz
DöngüSon  

Bu örnekte döngü değeri 9 ile başlar ve her adımda bir puan düşerek, 0'da noktalanır.

Eğer bir dizilimin öğelerine döngü yardımıyla erişmek istiyorsan, şöyle bir kod girebilirsin:

Döngü  poz  =  0  Dan  diz  -  1  Kadar  1  Adım  Artış  
    Denetim  diz[poz]
DöngüSon  

Dizilimin adeti 10 ise, öğelerin erişim bandı 0 ile 9 arasıdır. Bu yüzden “diz -1” demek zorundasın. Aksi taktirde döngü dizilimin sonuncu öğesinden sonra olmayan bir öğe daha okumaya çalışacak ve hataya sebebiyet verecektir.

Bandı belirlemek için “Dan” komutu yanısıra “Den” komutunuda kullanabilirsin. İkiside aynı manayı ifade etmektedir. Örnek:

Döngü  poz  =  1  Den  3  Kadar  1  Adım  Artış
    Denetim  poz
DöngüSon  

Veya

Döngü  poz  =  6  Dan  8  Kadar  1  Adım  Artış  
    Denetim  poz  
DöngüSon  

Birinci ve ikinci döngü modelleri otomatiktir. Yani her ikisinede sayaç görevi gören bir değişken girilir, örnekte “poz” gibi. Ayrıca bandı bellidir. “a” dan “b” ye kadardır.

Döngü'nün bir farklı modeli daha vardır. Bu farklı model özellikle dizilimler için tasarlanmıştır:

Döngü  öğe  Kaynağı  DizilimAdı  Artış  
    Denetim  Öğe
DöngüSon  

Bu örnekte yine “Artış” ile dizilimin başından sonuna kadar gidilirken, “Düşüş” ile dizilimin sonundan başlayıp başına kadar gidilir. Buradaki “Öğe” ise dizilimin kendi türünden bir işaretli değişkendir. Sayaç değildir. Dizilimin sıradaki öğesi bu değişkene bağlanır ve anında değerlendirilebilir. Eğer “öğe” işaretli değilde, normal olarak belirlenirse, bu normal değişken türleri açısından sıkıntı yapmaz. Fakat eğer dizilimin türü yine dizilimsel bir tür ise veya yapısal veya objesel ise, o halde gereksiz yere öğe kopyası oluşturulur ve buda uygulamanın yavaşlamasına neden olur. En güzel yöntem “öğe” değişkenini mutlaka işaretli olarak belirlemektir.

Hangi döngüde olursan ol, her döngüyü anında terk etme imkanın vardır. Bunun için tek satırlık komut olarak İptal emrini girmen yeterlidir.

Örnek:

Döngü  poz  =  0  Dan  99  Kadar  1  Adım  Artış  
    Denetim  poz
    Eğer  poz  >  59  İse
        İptal
    EğerSon
DöngüSon  

Veya:

Değişken  Rakam  poz  =  0  
Döngü  öğe  Kaynağı  DizilimAdı  Artış  
    Denetim  Öğe
    Eğer  poz  >  59  İse
        İptal
    EğerSon  
    poz  ++  
DöngüSon