For, While döngüsü örnekleri

                         Merhaba...😊
        Bir önceki yazımda (bu linkten ulaşılabilir) döngü yapılarının mantığını anlatmıştım. Bu yazımda ise konuyu pekiştirmek için For ve while döngüleriyle alakalı örnekler veriyor olacağım. Örnekler basitten başlayıp zora doğru ilerlemektedir. Temel mantığı anladıktan sonra hepsinin basit geleceğini düşünüyorum. 
        Başlayalım o zaman...

//Örnek 1: Basit bir for döngüsü örneğiyle başlayalım. Dışarıya 10 kere "Hello World" yazan kodu for döngüsüyle yazalım.


            for (int i = 0; i < 10; i++)   // int i=0  ifadesi ile i adında int tipinde değişken tanımlayıp baş. değerini 0 olarak atadık.  i<10 b="">  ifadesiyle i değişkenimizin sınırını koyduk yani i 10 'a kadar gitsin(10 dahil değil) dedik. i++ ifadesiyle de i'nin kaç kaç artacağını belirtmiş olduk.
            {

                Console.WriteLine("Hello World!!");

            }

            Console.ReadKey();

//Örnek 2: Aynı soruyu while döngüsü kullanarak gerçekleştirmeye çalışalım.

            int sayac = 0;

            while (sayac < 10)
            {
                sayac++;
                Console.WriteLine("Hello World!!");

            }

            Console.ReadKey();

 
//Örnek 3: 1'den 10'a kadar giden sayılardan çift olanlarda dışarıya "Hello World" ve o anki sayıyı yazan kodu for döngüsüyle yazalım.

            for (int i = 0; i < 10; i++)
            {
                if (i % 2 == 0)  // i'nin 2'ye bölümünden kalan 0 ise ki bu durum bana o sayının çift olduğunu gösterir.
                {
                    Console.WriteLine("Hello World!! " + i);
                    Console.ReadKey();
                }
            }

 
//Örnek 4: Aynı soruyu while döngüsü kullanarak yazalım.

            int sayac = 0;

            while (sayac < 10)
            {
                if (sayac % 2 == 0)
                {
                    Console.WriteLine("Hello World!! " + sayac);
                    Console.ReadKey();
                }
                sayac++;
            }

// iç içe for döngüsü kullanarak soruları biraz zorlaştıralım.


// Örnek 5: Çarpım tablosunu ekrana yazan kodu yazalım.

            for (int i = 1; i <= 10; i++)  // ilk for döngüsü çarpım tablosundaki ilk sayıyı temsil ediyor.  3x3 teki ilk sayı olmuş olur.
            {
                for (int j = 1; j <= 10; j++)  // içteki for döngüsü ise ikinci sayıyı temsil ediyor. Mesela 9x4'teki  4 olmuş oluyor.
                {
                    int carpim = i * j;         // çarpımı hesaplıyoruz.

                    Console.WriteLine(i + " x " + j + "=" + carpim);  //Dışarıya çıkacak olan ekran görüntüsü  örneğin 3x4=12 şeklinde olacaktır.

                }

                Console.WriteLine("----");
            }

            Console.ReadKey();

// Örnek 6: Çarpım tablosunu bir de while döngüsü kullanarak yazalım.

            int i = 1;

            while (i <= 10)
            {

                int j = 1;
                while (j <= 10)
                {
                    int carpim = i * j;

                    Console.WriteLine(i + " x " + j + "=" + carpim);
                    j++;

                }
                Console.WriteLine("----");
                i++;
            }
            Console.ReadKey();


 // Örnek 7: Dışarıdan girilen iki sayı arasındaki asal sayıları yazan kodu for ile yapalım.

            int sayi1 = 0; //dışarıdan alacağımız sayıları tanımladık ve değerlerini dışarıdan sayı almadan önce sıfırladık.
            int sayi2 = 0;
            int kontrol=0; //buradaki kontrol değişkenimiz asal sayı tespitinde işimize yarayacak..
           
            for (; ; ) //dışardan girilen yanlış ya da uygun olmayan değerler için sonsuz döngü oluşturduk
                       //böylece kullanıcı doğru değeri girene kadar dışardan giriş alma işlemi tekrarlanacak..
            {
                Console.WriteLine("Birinci sayıyı giriniz."); // sayıları dışardan aldık..
                sayi1 = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("İkinci sayıyı giriniz.");
                sayi2 = Convert.ToInt32(Console.ReadLine());

                if (sayi2 > sayi1)  // eğer sayı2 sayı1'den büyük olursa istediğimiz giriş gerçekleşmiş olur
                {
                    break;    //ve döngüden break diyerek çıkarız.
                }
                else  //değilse uyarı verir ve tekrar giriş isteriz.
                {
                   Console.WriteLine("İlk sayı ikinciden küçük olmalı!! yeniden sayı gir..");             
                }
            }
          
              // dışardan doğru giriş alındığına göre asal sayı bulma işlemine geçebiliriz.
            for (int i=sayi1; i < sayi2; i++) // Burada dışardan aldığımız iki sayı arasındaki asal sayıları bulmak için ilk olarak
            {                                 //dışardan aldığımız sayılar arasında bir döngü oluştururuz.(Döngü başlangıç ve bitiş değerlerine dikkat!!)
              
                kontrol = 0; //döngü her başa döndüğünde kontrol degişkenimizi sıfırlamamız gerekir çünkü if içine girdiğinde değeri 1 olarak kalırsa yanlış sonuç alırız.
               
                for (int j = 2; j < i; j++)  //Asal sayı mantığına göre bir sayı kendisi ve 1 dışında sayıya bölünmemeli
                                             //biz de bu yüzden içteki for döngüsünde 2'den başlayarak o anki sayıya(bu sayı o anki i değeridir) gelene kadar döngü oluştururuz.
                {
                   
                    if (i % j == 0)       //Ouşturduğumuz döngüde o anki i ve j değerleri birbirine bölünebiliyorsa ki bu durum o anki sayının asal olmadığını göstermiş olur.
                    {
                        kontrol = 1;      //Sayının herhangi başka bir sayıya bölündüğünü gördüğümüzde yani asal olmadığını anladığımızda bunu hafızada tutmak için kontrol değişkeninin değerini 0'dan 1 'e atarız.
                    }
                }

                if (kontrol == 0)  //içteki for döngüsünün çıkışında eğer kontrol değişkeni hala 0 ise (bu içteki for döngüsündeki şarta girmediğini gösterir yani hiç bir sayıya bölünmemiştir.)
                {
                    Console.WriteLine(i + " sayısı asaldır.");  // sayı asaldır, dışarıya yazarız.
                    Console.ReadKey();
                }

            }

        Görüldüğü üzere bu döngüler farklı örneklerle çoğaltılabilir. Siz de konuyu öğrendikten sonra kendi kendinize sorular tasarlayıp sonra da çözmeye çalışabilirsiniz veya internetteki farklı soruları çözerek bu konuyu kalıcı hale getirebilirsiniz.
        Bir yazının daha sonuna geldik...Gelecek yazılarda görüşmek üzere...👋

Yorum Gönder

2 Yorumlar