Algoritmada Döngüler
Döngüler, algoritma oluştururken mikroişlemci tarafınan belirli kere tekrar edilmesi istenen işlemleri belirten yapılardır.
Döngü yapıları sayesinde 10 kere tekrarlanacak işlemin komutlarını 10 kere yazmak yerine bu komutu 10 kere tekrar eden bir döngünün içinde belirtebilir, böylece program yazarken zaman ve emekten tasarruf edebiliriz.
Döngü yapısı akış şemalarında altıgen ile gösterilir (akış şemalarındaki şekiller için “Akış Şemaları, Akış Şemaları Nedir?” başlıklı yazıma bakabilirsiniz):
Akış şemasında döngü yapısından döngü boyunca yapılacak işleme ve bu işlemden döngü yapısına giden oklar çizilir:
Döngü içinde birden fazla işlem varsa döngü yapısından döngü içinde yapılacak ilk işleme ve döngü içinde yapılacak son işlemden döngü yapısına giden oklar çizilir.
Programlama dillerinde ise döngü yapısı satırı altında döngü tamamlanana kadar tekrarlanacak işlemler yazılır.
Algoritmada yaygın olarak kullanılan 2 döngü yapısı vardır:
- While döngüsü
- For döngüsü
While Döngüsü
While döngüsünde döngü yapısının içinde bir koşul belirtilir. Bu koşul sağlanandığı sürece döngüye bağlı olan işlemler tekrarlanır.
Örneğin while döngüsü ile 10 kere ekrana “Ben algoritma öğreniyorum!” yazdıran programın algoritmasını oluşturalım:
Aynı algoritmanın C dilinde yazılışı:
int i = 0; //değeri 0 olan tamsayı cinsinde I değişkeninin tanımlanması
while(i < 10){ //while tipi komut yapısının satırı,
i = i + 1; /*Döngü boyunca
printf(“Ben algoritma öğreniyorum!\n”); tekrarlanan işlemler*/}
For Döngüsü
For döngüsü kullanılan programlarda döngüden önce for döngüsünde kullanılmak üzere bir değişken tanımlanır.
Akış şemalarında bu değişken döngü yapısının içinde belirtilir ve bu döngü yapısının içinde söz konusu değişkene birbirinden virgule ayrılmış 3 adet tamsayı değeri atanır.
Bu değerlerin ilki döngüdeki değişkenin başlangıç değerini belirtir.
İkincisi ise değişkenin ulaştırılması hedeflenen değeri belirtir.
Sonuncu değer ise döngünün her tekrarında değişkene eklenecek değeri belirtir.
Örneğin:
Bu döngüde i değişkeninin başlangıç değeri 1. Ulaşması hedeflenen değeri 5’tir.
Döngünün her tekrarında ise i değişkeninin değeri 1 artacaktır.
Örneğin while döngüsü ile 10 kere ekrana “Ben algoritma öğreniyorum!” yazdıran programın algoritmasını oluşturalım:
Aynı algoritmanın C dilinde yazılışı:
int i; //tamsayı türünden i değişkeninin tanımlanması
for(i=0;i<10;i = i+1) //for tipi döngü yapısının satırı
printf(“Ben algoritma öğreniyorum!\n”); //döngü boyunca tekrarlanan işlem
İÇ İÇE DÖNGÜLER
Eğer bir döngüye bağlı başka bir döngü varsa bu döngülere iç içe döngü denir. İç içe döngülerde bir döngünün her tekrarında bağlı olan döngü baştan sona tekrarlanır.
Örneğin: