C ile For Döngüsünü While Çevirme (For ve While Dönüştürme)

Herkese iyi günler dileriz. Bu yazımızda sizlere C programlama dili ile for döngüsünü while döngüsüne veya while döngüsünü for döngüsüne nasıl çevirebiliriz onu anlatacağız.

Programlama dillerinde en yaygın kullanılan döngülerin başında for ve while geliyor. Üniversitelerin ilgili bölümlerinde sınavlarda bu tarz dönüşüm soruları karşımıza çıkabiliyor. Mesela sınavda for döngüsü ile kodu verip while’a çevirme nasıl yapılır veya while döngüsü ile kodu verip bunu for’a nasıl çevirirsiniz tarzında sorular olabiliyor. Elbette sadece bu da değil. Döngüler arası dönüşüm yaparak kodlarınızın daha sadece ve stabil olmasını sağlayabilirsiniz. Mesela bazı yerlerde for döngüsü kullanımı avantajlıyken bazı yerlerde ise while daha çok avantajlıdır. Şimdi sizlere for-while veya while-for dönüşümü nasıl yaparız kısaca örnekler eşliğinde gösterelim.

C Programlama İle For & While Döngü Dönüşümü Nasıl Yapılır?

For ve While döngü dönüşümü yapmak aslında zor değil. Mantık olarak olayı kavrarsak her türlü for kodunu while’a veya while kodunu for’a çevirebiliriz.

Mesela for döngümüz, for(i=1;i<20;i++){} şeklinde olsun. Bu kodun while olarak çevrilişi i=1 while(i<20){i++;} şeklindedir.

For döngüsü:

for(i=1;i<20;i++){

}

Bu kodun while versiyonu aşağıdaki gibidir:

While döngüsü:

i=1

while(i<20)

{i++;}

Burada for kodunu while çevirmek için for kodu içindeki 2. bölümü yani “i<20” kısmını while’ın içine yazıyoruz. Ardından for’un içindeki i=1 while’dan önde ve i++ ‘yı da while kodunun en içine yazıyoruz. Bu şekilde dönüşüm yapabiliriz. Şimdi örnek ekran çıktısıyla olayı daha iyi anlamış olalım.

For Döngüsünü While Döngüsüne Çevirme:

Şimdi for döngüsü ile 1’den 9’a kadar “Merhaba 1, Merhaba 2, Merhaba 3…” şeklinde ekran çıktısı sağlayacak olan kodumuzu yazalım:

Şimdi bunun While versiyonunu yazalım. Yani aynı ekran çıktısı verecek olan While döngüsüne dönüştürelim.

Evet arkadaşlar bu 2. kod ise for döngüsünün while olarak yazılışıdır. Şimdi ekran çıktısına bakalım:

For döngüsü ekran çıktısı:

While döngüsü ekran çıktısı:

Gördüğünüz gibi 2 farklı kod ama ekran çıktıları aynıdır. İşte bu şekilde sizler de for-while dönüştürmesi yapabilirsiniz.

While Döngüsünü For Döngüsüne Çevirme:

Şimdi önce while ile kısa bir kod yazıp sonra bunu for döngüsüne çevirelim. Dışarıdan girilen bir sayıyı geriye doğru saydıralım. Mesela 5 sayısını dışarıdan girdik diyelim. Çıktımız alt alta 5-4-3-2-1-0 olacak. scanf ile dışarıdan kodumuzu girdik. Ardından while ve for döngülerini açtık. Sonra çıktımız dışarıdan girilen sayıdan 0’a kadar alt alta yazdırılmış hali olacak.

While döngü kodu:

Şimdi bu kodu for döngüsü ile yazalım.

For döngü kodu:

Gördüğünüz gibi arkadaşlar kodlarımızın for döngüsüne çevrilmiş hali de bu şekildedir. Şimdi ekran çıktısına bakalım.

Bu ekran çıktısı hem while döngüsüyle hem de for döngüsüyle ikisinde de aynı çıktıyı vermektedir.

Kısaca tekrardan anlatmak gerekirse; örneğin “for(i=1;i<5;i++)” bu şekilde for kodumuz var. Bunu while koduna dönüştürmek için for’un içindeki ilk kısmı ilk başa ortadaki kısmı while’ın içine ve son kısmı da son bölüme yazıyoruz.
Yani kodumuz:
i=1
while(i<5)
{i++;}
şeklinde olacaktır.

Bu şekilde sizler de for&while dönüşümü yapabilirsiniz. Umarız yararlı olur. İyi çalışmalar dileriz…

YORUMLAR

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir