NTP C# Dersi 7: Döngü (Do While ve For)

Merhaba arkadaşlar, döngü konusunu işlemeye devam edeceğiz. Bir önceki dersimizde while komutunu işledik. Bu dersimizde de do while ve for komutlarını göreceğiz.

Do While

Do while adından da anlaşılacağı üzere while komutundan farklı olarak ilk önce döngüyü çalıştırır sonra koşulu, boolean ifadeyi kontrol eder. Bu özellik döngü koşulunun boolean ifadesi hiçbir zaman true sonucunu vermese dahi döngünün bir kere dönmesini sağlar. Do while bu özelliği ve kodlamadaki ufak yazım farklılığı dışında while ile benzerlik gösterir.

Kullanım şekli:

do{
kodlar; Yapılacak isler;
}while(boolean ifade);

 

// [-G] : Ekrana istenildiği kadar “Merhaba Dünya” yazan program.
using System;
namespace yG_CS_Proje1
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayac; // [01]
            Console.WriteLine("Tekrarlanacak miktarı girin."); // [02]
            int miktar = Convert.ToInt16(Console.ReadLine()); // [03]
            sayac = 0; // [04]
            do // [05]
            { // [06]
                sayac = sayac + 1; // [07]
                Console.WriteLine(Convert.ToString(sayac) + " – Merhaba Dünya"); // [08]
            } while (sayac < miktar); // [09]
            Console.ReadKey(); // [10]
        }
    }
}
// [01]: “sayac” adında int bir değişken tanımladık. Bu değişkene sayaç görevi yükleyeceğiş. Bu sebeple adı da sayac olsun istedim.
// [02]: Ekrana “Tekrarlanacak miktarı girin.” Metnini yazdırdık.
// [03]: Klavyeden girilen metni tam sayı(int)ya çevirip, “miktar” adında bir int değişken tanımlar tanımlamaz, yükledik.
// [04]: “sayac” değişkenine 0 sayısını yükledik. Bkz. Sayacı 0’dan Başlatmanın Mantığı
// [05]: Do while döngüsünü do komutu ile başlatık.
// [06]: Döngünün yapacağı işlemleri belirlemek için do while blogunu açtık. (Do while komutunun önce işleri yaptığını sonra boolean ifadeyi kontrol ettiğini belirtmiştik.)
// [07]: “sayac” değikenindeki sayı ile 1′i tapladık ve yine sayac değişkenine yükledik. (Alternatif yazım şekilleri: “sayac++;” veya “sayac += 1;” bu iki kod da aynı işlevi görür.)
// [08]: “sayac” değişkenindeki sayıyı metne çevirdik. “sayac” değişkenindeki metne çevirdiğimiz sayı ile ” – Merhaba Dünya” metnini birleştirip ekrana yazdırdık.
// [09]: Do while komutunun parametresine “sayac < miktar” boolean ifadesini atadık.
// [10]: Konsol ekranının hemen kaybolmasını engelledik.

 
Örnek [-F] ile [-G] arasındaki en büyük fark [-G] örneğinde 0 sayısını girseniz yani koşulun boolean ifadesi true sonucunu vermese dahi ekrana 1 kez “1 – Merhaba Dünya” metni yazılır. Bu olasılık göz ardı edildiğinde do while ile while komutları tamamıyla aynı özelliklere sahiptir ve aynı sonuçları sağlar.

 
For Döngüsü

While döngüsü oluşturmak için:

1)  Sayaç görevi görecek bir değişken tanımlamamız gerekiyordu.

2)  Sayacın başlangıcını belirlemek için bu değişkene bir sayı yüklememiz gerekiyordu.

3)  While komutunu başlatmak için bir boolean ifade tanımlamamız gerekiyordu.

4)  Sayaç görevi gören değişkenin sakladığı değeri while blogları içerisinde belli miktarda arttırmak gerekiyordu.

Yukarıda belirtilen adımlar while döngüsünün çalışması için izlenmesi gereken kalıplaşmış adımlardır. Fakat 3. adım dışındakiler while komutunun parçası değildir.

For komutu yukarıda belirtilen bu dört adımı tek satırda kodlamamıza olanak tanır. While komutu arasındaki en büyük fark budur.

Kullanım şekli:

For(int sayac = x; boolean ifade; sayac +=y){
kodlar; Yapılacak isler;
}

 

// [-H] : Belirlenen limite kadar istenilen adımlarla sayan program.
using System;
namespace yG_CS_Proje1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Kaçar adımlarla sayılacak."); // [01]
            int adim = Convert.ToInt16(Console.ReadLine()); // [02]
            Console.WriteLine("Bitiş sayısını girin."); // [03]
            int son = Convert.ToInt16(Console.ReadLine()); // [04]
            for (int sayac = 0; /* [05] */ sayac < son; /* [06] */ sayac += adim /* [07] */)
            {
                Console.WriteLine(sayac); // [08]
            }
            Console.ReadKey(); // [09]
        }
    }
}
// [01]: Ekrana “Kaçar adımlarla sayılacak.” metnini yazdırdık.
// [02]: “adim” adında int bir değişken tanımladık. Klavyeden girilen metni tam sayı(int)ya çevirip “adim” değişkenine yükledik
// [03]: Ekrana “Bitiş sayısını girin.” metnini yazdırdık.
// [04]: “son” adında int bir değişken tanımladık. Klavyeden girilen metni tam sayı(int)ya çevirip “son” değişkenine yükledik
// [05]: bkz. For Komutunun Parametreleri
// [06]: bkz. For Komutunun Parametreleri
// [07]: bkz. For Komutunun Parametreleri
// [08]: Ekrana “sayac” değişkenindeki sayıyı ekrana yazdırdık.
// [09]: Konsol penceresinin hemen kaybolmasını engelledik.

 
For Komutunun Parametreleri

For komutu 3 parametreye sahiptir. Bu parametreler virgül (“,”) ile değil noktalı virgül (“;”) ile ayrılır. Çünkü bu parametrelere değer atanmasından çok komut yazılır. Örneğin sayaca 0 sayısını yüklemek veya sayacı bir arttırmak… Bu işlemler boolean ifadede olduğu gibi bir değer döndürmez. Bu işlemler birer komuttur. Aynı zamanda bir parametrede kodlanmış tüm komutlar virgül(“,”) ile ayrılır.

1. Parametre: For döngüdüsü başlatılmadan önce yapılacak tüm işlemler burada kodlanır.

2. Parametre: Burada komut işlenmez sadece koşul kontrolü yapılır. Bu parametreye bir boolean ifade ataması yapılabilir.

3. Parametre: For döngüsü döndükten ve tüm komutları çalıştırdıktan sonra buradaki komutları çalıştırır.

Yukarıda while komutu için belirlediğimiz 4 adım, for komutu için de geçerlidir. Fakat fark şudur ki; Bu dört adım while döngüsünün sağlam bir şekilde oluşturulması için izlenmesi gereken dört adımdır. Fakat 3. Adım hariç zorunlu değildir. Bir yolunu bulup bu işlemlerden kaçabiliriz. Ama programımız ileriki safhalarda hata verebilir.

İşler for komutu için böyle değil. Bu dört adımın dördü de for komutunu kurabilmemiz için gerekli adımlardır ve bundan kaçınılmaz. Aynı zamanda for komutu bu dört adımı tek satırda bitirmemize olanak tanır.

[05] numaralı for parametresi While döngüsü oluşturmak için: adım 1 ve 2’ye dek gelmektedir.
[06] numaralı for parametresi While döngüsü oluşturmak için: adım 3’e dek gelmektedir.
[07] numaralı for parametresi While döngüsü oluşturmak için: adım 4’e dek gelmektedir. (Sayacımızı birer birer arttırmamız şart değildir bütüm döngüler için geçerlidir.)

Bir sonraki derste görüşmek üzere arkadaşlar, iyi çalışmalar.

Önerilen diğer yazılar:
NTP C# Dersi 6: Döngü (While)

NTP C# Dersi 8: Rastgele Sayı Üretme

Yorum Yap

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

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>