Anahtar Farkı – for vs while Döngüsü
Bir program, belirli bir görevi gerçekleştirmek için bir programlama dilinde yazılmış bir dizi talimattır. Mantıksal bir işlem veya matematiksel bir işlem olabilir. Genellikle programdaki deyimler birbiri ardına yürütülür. Bazen bir dizi ifadeyi tekrar tekrar yürütmek gerekir. Kontrol yapıları bu görevi gerçekleştirmek için kullanılır. Bunlardan ikisi for ve while döngüsüdür. Bu yapılar, verilen koşul doğru olana kadar bir kod dizisinin yürütülmesine yardımcı olur. for döngüsünün sözdizimi, başlatma, test ifadesi ve güncelleme ifadesinden oluşur. while döngüsünün sözdizimi test ifadesini içerir. Bu makalede for ve while döngüsü arasındaki fark anlatılmaktadır. for ve while döngüsü arasındaki temel fark, yineleme sayısı bilindiğinde for döngüsünün ve yineleme sayısı bilinmediğinde while döngüsünün kullanılabilmesidir.
Döngü için nedir?
For döngüsü C, Java vb. gibi birçok programlama dilinde kullanılır. Bir dizi ifadeyi birden çok kez çalıştırmak için kullanılır. for döngüsünün sözdizimi aşağıdaki gibidir.
for (başlatma; test ifadesi, güncelleme){
//for döngüsü içindeki ifadeler
}
Başlatma ifadesi yalnızca bir kez yürütülür. Daha sonra test ifadesi değerlendirilir. Test ifadesi değişkenler, değerler, sabit ve operatörler içerebilir. Boole ifadesidir. Değerlendirilen ifade doğruysa, for döngüsü içindeki kod yürütülür. Döngünün sonuna ulaştıktan sonra güncelleme ifadesi yürütülür. Bir artış veya bir azalma olabilir. Yine test ifadesi kontrol edilir. Değerlendirilen ifade doğruysa, for döngüsü içindeki ifadeler yürütülür. Döngünün sonunda güncelleme ifadesi yürütülür. Bu işlem, test ifadesi yanlış olana kadar tekrarlanır. Test ifadesi yanlış olduğunda, for döngüsü sona erer ve kontrol, for döngüsünden sonraki bir sonraki ifadeye iletilir.
Şekil 01: 5 sayının toplamını hesaplamak için for döngüsüne sahip bir program
Yukarıdaki program 1, 2, 3, 4 ve 5 olan ilk beş sayının toplamını bulmaktır. for döngüsünde i 1'dir. 5'ten küçüktür. Böylece toplam hesaplanır.. Başlangıçta toplam 0'dır. 1 olan i'ye eklenir. Toplam, toplam değişkenine atanır. Şimdi toplam 1'dir. Ardından güncelleme ifadesi değerlendirilir. i bir artırılır. Şimdi ben 2.5'ten küçüktür. Böylece toplam hesaplanır. Bir önceki toplam değeri 1'dir ve 2 olan i değerine eklenir. Şimdi toplam 3'tür. Güncelleme ifadesi değerlendirilir ve i 1 artırılır. Şimdi 3'tür. Bu işlem tekrarlanır. i 6 olduğunda, ifade false olur çünkü 6, 5'e eşit veya 5'ten küçük değildir. Bu nedenle, for döngüsü sona erer. Son olarak, beş sayının toplamı ekrana yazdırılır.
While Loop nedir?
while döngüsü, verilen koşul doğru olduğu sürece hedef ifadeleri yürütür. while döngüsünün sözdizimi aşağıdaki gibidir.
while(test ifadesi){
//while döngüsü içindeki ifadeler
}
Süre döngüsü bir test ifadesi içerir. Boole ifadesidir. Değerlendirilen ifade doğruysa, while döngüsü içindeki ifadeler yürütülür. Bu ifadelerin sonunda test ifadesi tekrar değerlendirilir. Bu işlem, test ifadesi yanlış olana kadar tekrarlanır. Yanlış olduğunda, while döngüsü sona erer ve kontrol, while döngüsünden sonra ifadeye iletilir.
Şekil 02: 5 sayının toplamını hesaplamak için while döngüsüne sahip bir program
Yukarıdaki programa göre toplam 0'a, i ise 1'e sıfırlanır. while döngüsünde i değeri değerlendirilir. 5'ten küçüktür. Böylece toplam hesaplanır. Toplamın başlangıç değeri 0'dır. i değerine 1 eklenir. Şimdi toplam 1 olur. Ardından i değeri bir artırılır. Şimdi i değeri 2'dir. 5'ten küçüktür. Böylece toplam hesaplanır. 1 olan mevcut toplam, 2 olan i değerine eklenir. Şimdi toplam 3 olur. Yine i değeri artırılır. Şimdi i değeri 3'tür. Bu işlem tekrarlanır. i değeri 6 olduğunda, ifade yanlış olur çünkü 5'ten küçük veya 5'e eşit değildir. Böylece while döngüsü sona erer. Son olarak toplam değer ekrana yazdırılır. Eğer i++ gibi bir artış olmasaydı, i değeri 1 olan aynı kalır. 5'ten küçüktür. Koşul her zaman doğrudur. Yani sonsuz bir döngü olacak.
for ve while Loop arasındaki benzerlikler nelerdir?
- Hem for hem de while döngüsü, programlamada tekrar kontrol yapılarıdır.
- Döngünün yürütülmesi test ifadesine bağlıdır.
for ve while Loop arasındaki fark nedir?
for vs while Döngüsü |
|
For döngüsü, programcının belirli sayıda yürütmesi gereken bir döngüyü verimli bir şekilde yazmasına olanak tanıyan bir tekrar kontrol yapısıdır. | While döngüsü, verilen koşul doğru olduğu sürece hedef ifadeleri yürüten bir tekrar kontrol yapısıdır. |
Kullanım | |
Yineleme sayısı bilindiğinde for döngüsü kullanılabilir. | İterasyon sayısı bilinmediğinde while döngüsü kullanılabilir. |
Başlatma | |
Başlatma işlemi bir kez for döngüsünde gerçekleşir. | Döngüde, başlatma ifadesi döngü içindeyse, başlatma, döngü her yinelendiğinde yapılır. |
Özet – for vs while Döngüsü
Programlamada bazen bir dizi ifadeyi birden çok kez tekrarlamak gerekir. Bu görevleri başarmak için tekrar kontrol yapıları vardır. Bunlardan ikisi for ve while döngüsüdür. for ve while döngüsü arasındaki fark, yineleme sayısı bilindiğinde for döngüsünün, yineleme sayısı bilinmediğinde ise while döngüsünün kullanılmasıdır.