[[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