29 Aralık 2010 Çarşamba

While Döngsü

Bu makalemizde While ve Do & While Döngülerinin kullanımını anlatacağım. Do & While döngüsü basitçe şu şekilde çalışır:

Do yapısı içinde yazdığımız işlemler while ile istediğimiz şart sağlana kadar devam eder.

For döngüsünden farkı şudur: For kullandığımızda şart false üretiyorsa yani sağlanmamışsa, döngü içine hiç girilmez. fakat Do while'da kontol en sonda while () içinde yapıldığından en azından bir kere döngü çalışacaktır.

Basit olarak yapısı şu şekildedir:
01do
02
03{
04
05//Şart sağlanmadığı takdirde, tekrar tekrar çalışacak kodlar;
06
07}
08
09while (sağlanacak şart);
10{
11// Şart sağlandığında çalışacak kodlar.
12}

Mesela :
01private void button1_Click(object sender, EventArgs e)
02{
03int sayac = 1; // Sayaç değişkeninin değeri ilk aşamada 1 oluyor.
04int sayi = 5; // Sayi değişkenimiz ilk aşamada 5 dedik.
05
06do
07{
08int sonuc = sayac * sayi; // sayi ile sayaç değişkenleri çarpılıp sonuc değişkenine atandı
09listBox1.Items.Add(sonuc); // sonuc değişkenin değeri listbox'ımıza yazdıldı.
10sayac++; // İlk etapta 1 olan sayaç bir arttı.
11
12}
13while (sayac <= 6); // sayac bu anda 6 dan büyük olmadıgı için do bloguna başa dönüldü.
14{
15MessageBox.Show("Sayaç 6 oldu ve Do Döngüsünden Çıkıp While'a geçti"); // Burda sayaç değişkeni 6 olduğu anda While bloguna giriyor.
16}
17}
Yukardaki örneği açıklayacak olursak, bir adet sayı adlı değişkenimiz ver değeri ise 5, Bir adet sayaç değişkenim var değeri ise 1. Do yapısı içinde sayac ve sayi değişkenleri çarpıp değeri sonuc değişkenine atıyoruz.

Daha sonra sonuç değişkenin değerini ListBox'ımıza yazdırıyoruz. ve sayaç değişkenin değeri her seferinde 1 artıyor ve devam ediyor.

Tabiki ne zamana kadar devam edeceğini while içinde belirttik. Eğer sayac değişkeni 6 ya eşitse yada daha küçükse her seferinde do yapısı içinde blok tekrar çalışacak. Eğer sayaç değişkeni 6 dan büyük olursa. Do bloğundan çıkıp while bloğu içindeki kodlar çalışacaktır.

Çıktısı ise Yanda Görmüş Olduğunuz Resimdeki Gibi Olacaktır.


Şimdi ise yalnızca while kullanalım aslında hiçbir farkı yok. Tek fark ilk örnekte Program şart sağlanmayınca do blogununa dönüyordu ve şartı sonda kontol ediyordu.

While da ise şart en başta belirtiliyor ve şart false olduğu sürece while blogu tekrar , tekrar çalıştırılıyor.

Örneğimizi Verelim :
01private void button1_Click(object sender, EventArgs e)
02{
03int sayi = 1; // Sayı değişkenimizin değeri 1 dir.
04while (sayi!=10) // Sayi değişkeni 10'a eşit değilse While Blogu çalışacak.
05{
06MessageBox.Show("Sayı Değişkeni Şu Anda:" + sayi + "dır"); //Sayı değişkenin değerini her seferinde göstersin istedim.
07listBox1.Items.Add(sayi); // her seferinde sayı değişkenin değerini Listbox a yazsın.
08sayi++; // ve sayı değişkeninin değeri 1 artar. Yeniden while bloğunun başına döner.
09}
10
11MessageBox.Show("Sayı Değişkeni 10 oldu ve While blogundan Çıkıldı."); // Sayı değişkeni 10 oldugunda while'dan çıkılır ve burası çalışır.
12}
Yukarda gördüğünüz gibi While blogunun başında kontrol yapılıyor. Şartımız sağlanana kadar durmadan while içinde dönüyor.

While'ın başında şart sağlanmışsa eğer, while bloğundan çıkıp aşağıdan çalışmaya devam ediyor.

Ekran Çıktısı ise aşağıdaki gibi olacaktır:

Csharp While