23 Mayıs 2012 Çarşamba

DÖNGÜLER HAKKINDA KISA BİLGİ


DÖNGÜ NEDİR?
Algoritmalarda bazı işlemlerin tekrar çalışması için, onları her seferinde yazmak gerekir. Ancak bu çözüm, çok fazla tekrar için hem yazmayı hem de okumayı zorlaştırır. Örneğin yüz elemanlı bir diziye rasgele sayı atanması için işlemin yüz defa yazılması gerekir. Döngüler ile işlem sadece bir defa yazılır ve tekrar sayısına göre bu işleme geri dönülür.


for döngüsü bir işlemin belirli sayıda yapılması için kullanılır.
 
for (int i = 0; i < 10; i++)
{
MessageBox.Show(“Merhaba”);
}


 İlk parametre sayacın başlangıç değerini belirler. Örnekte, sayaç değişkeni tanımlanıp 0 değeri atanmıştır.
  İkinci parametre bir koşul ifadesidir. Bu koşul sağlandığı sürece döngü devam eder. Örnekteki döngü, i değeri 10dan küçük olduğu sürece devam edecektir.
  Üçüncü parametre, her döngüden sonra yapılması gereken işlemi belirtir. Örnekte, her işlemden sonra i değeri bir artırılır. 


Döngülerde kullanılan sayaçlar sadece belli bir sayıda işlem yapmayı sağlamaz. Sayaçların artma veya azalma adımları belirli olduğu için, kod içersinde çoğu zaman bu avantajdan yararlanılır.
 
listBox1.Items.Add("Karakter - ASCII kod karşılığı");
 
for (int i = 50; i <= 255; i = i + 2)
{
    listBox1.Items.Add(Microsoft.VisualBasic.Strings.Chr(i) & "   - " & i)
}


WHİLE DÖNGÜSÜ

while döngüsü bir koşul gerçekleştiği sürece (koşul true olduğu sürece) çalışan döngüdür.
 
while(Koşul)
{
 
}

int toplam = 0;
int sayac = int.Parse(txtSayiGirisi.Text);
while (sayac > 0)
{
    toplam += sayac;
    sayac -= 1;
}

do while döngüsü


do while döngüsü bir koşul gerçekleştiği sürece (koşul true olduğu sürece) çalışan döngüdür. while döngüsü ile farkı, while döngüsü koşul değeri true olduğu sürece işlem yapar fakat do while döngüsü koşulu sonra kontrol ettiği için en azından bir kere işlem yapar
 
do
{
 
} while(Koşul)
lblSonuc.Text =Eğer while başka yazılsaydı burayı görmeyecektik;
}


while (sayac > 5)
int sayac = 10; 


do
{
      lblSonuc.Text =Eğer while başta yazılsaydı bu yazıyı görmeyecektik”;
 
} while (sayac < 5)

SONSUZ DÖNGÜLER


while döngüsü sayaç ile kullanılırken, sayacın değiştirilmesine dikkat edilmesi gerekir.
Eğer sayaç değiştirilmezse, while ifadesindeki koşul hep true değeri alacağı için sonsuz döngüye girilir.
 
Sadece sayacın kontrol edilmediği durumlarda değil, koşulların yazılmalarındaki mantık hataları da sonsuz 
döngüye sebebiyet verir. 



int i = 0;
 
while (i < 10 | i > 5)
{
    label1.Text = "Sonsuz döngüye girildi";
    i += 1;
}

FOREACH DÖNGÜSÜ


foreach döngüsü bir dizi veya collection içindeki her elamana erişmek için kullanılır. Arama yapılan dizinin veri tipi ile aranan değişkenin veri tipi aynı olmalıdır.   
 foreach(veritipi Değişken in [DiziDeğişkeni]) 
{
    //işlemler burada
}





DÖNGÜYÜ SONA GELMEDEN DURDURMA


Normale döngüler bitiş noktasına kadar işlem yaparlar. 
Eğer bitiş noktasına gelmeden döngüşü kendimiz sonlandırmak istiyorsak break sözcüğünü kullanırız. 
Bu ifade kullanıktan sonra döndü o noktada sonlandırılır ve döngünün dışına çıkılır


for (int i = 1; i <= 150;  i++)
{
    if (i == 19)
break;
}











Hiç yorum yok:

Yorum Gönder