Döngü, içerisindeki işlemi bir durma noktasına kadar devam ettiren bir yapıdır.Bu durumda ise döngüleri ikiye ayırmak zorunda kalırız; adım sayısı belli olan ve olmayan döngüler.Misal yukarıda 10 öğrencinin notunu okumaktan bahsettik.Gördüğünüz gibi bu işlemin adım sayısı belli 10 öğrencinin notu 10 aşamada okunur.İşte böyle adım sayısı belli olan işlemler for döngüsü içinde yapılır ve kodu temel olarak;
>>> for i:=1 to n do şeklindedir.Bunun kalıp olmayan taraflarını kalın olarak yazdım.Burada hiçbir kalıp yok diyebilirsiniz. :) Şöyle ki orada i başlangıç değişkenidir i olmak zorunda değildir j de olabilir.1 başlangıç değeridir o da 2 3 v.s. olabilir. “to” artımı belirtir yani burada 1’den başlayarak n’e ulaşmadığımız müddetçe i’nin değeri 1 arttırılır, bu down to da olabilir o da değeri 1’er 1’er azaltır.N ise m de olabilir durma noktasıdır.
Toparlamak gerekirse i ile belirtilen başlangıç değişkeninin değerinden başlayan döngü, içerisinde bulunan işlemleri bitirdikten sonra değerini bir arttırır ve N’e ulaşıp ulaşmadığına bakar ve de N’ ulaştığında döngüye son kez girer.N’e ulaştığında çekip gitmez, for döngüsünün özelliği budur.
Yukarıdaki şekilde, özel olarak emek sarfetmediğim YTÜ BBG-1 dersinin notlarında bulunan, bir sayının herhangi bir kuvvetini bulan bir örneği görüyoruz, anlatmadan önce alıntı olduğunu belirtmek istedim. Gördüğümüz gibi kullanıcıdan sayı ve kuvvet diye iki değişken okuyoruz. Deger değişkenimiz dışarı dönderecek olduğumuz değişken ve programın başında 1 atamışız.Bu 1 atama işlemi şu an gereksiz gözükebilir ama ilerki aşamalarda, çok daha fazla satırdan oluşan bir program içerisinde "deger" daha önce kullanılmışsa buna işlenmiş bir bilgi olabilir ve biz bunu 1 olarak değiştirmeliyiz. Ardından for döngüsünün diyagramda ifade edilme tarzını görüyoruz.Burada i»1 i'nin 1'den başladığını, oranın hemen yanındaki 1; 1er 1er arttığını, alttaki "kuvvet" ise kuvvet değişkeninin değerine kadar, döngünün, içerisindeki işlemi yapacağını gösterir.Örneğin 3 üssü 4ü hesaplarken içerideki işlem deger=deger*3=3* 3=9* 3=27* 3=81 şeklinde gerçekleşir Kodlarımız;
Program usalma(input,output);
Var
-Sayi,kuvvet,deger,i:integer; {i dahil olmak üzere değişkenlerin tiplerini ifade ettik}
Begin
-Writeln(‘sayiyi giriniz’);
-Readln(sayi);
-Writeln(‘Kuvveti giriniz’);
-Readln(kuvvet);
-deger:=1; {deger’e en başta 1 atadık}
-For:=1 to kuvvet do {for döngümüzün kalıbını görüyoruz, for kalıbından sonra ; yok}
--deger:=deger*sayi; {tek bir işlem olduğu için for’un begin endi yok.}
-writeln(deger);
-readln;
End.