msHOWTO

4 Nisan 2012 Çarşamba

C# da For Döngüsü

Merhaba arkadaşlar.Algoritmanın temel taşlarından biri olan döngülerden for döngüsünü elimden geldiğince anlatmaya çalışacağım.

İsminden de anlaşılacağı üzere döngü yani sürekli tekrarlayan bir durum söz konusu ve for kelimesinin türkçe karşılığı "için" den yola çıkarak bir şey için bir şeyler yapan ve bu işlemleri tekrar eden bir durum söz konusu.Bence bu konuya verilecek en güzel örneklerden birisi formula1 yarışıdır.Nedir formula1 ? Amacı nedir ? Bir kaç arabanın bir sabit pist içerisinde belirli (bu kelime çok önemlidir.Belirli sayıda olması for döngüsünü diğer döngülerden ayırt etmektedir) sayıda tur atmaları ve yarışı kazanmak için aynı şekilde dönmeleridir.İşte for döngüsü de aynı bu şekilde çalışmaktadır.Çalışma mantığını örneklerle anlatmayı düşünüyorum.Hadi gelin syntax ine bakalım ...

Not: Yazdığım örnekler Console uygulamasında anlatılmıştır.Çünkü bana göre algoritma anlatmak için en güzel ortam console ortamıdır...


for (int i = 0; i < length; i++)
{
               
}

Parantezin içerisindeki ilk noktalı virgüle kadar olan kısım döngünün kaçtan başlayacağını belirtmektedir.İki noktalı virgül arasında kalan kısım ise döngünün hangi koşul sağlanınca duracağını belirtmektedir.En sağdaki kısımda ise döngünün nasıl davranış göstereceği yani artarak mı azalarak mı kaçar kaçar artacağı yada kaçar kaçar azalacağını belirtir.

for (int i = 0; i < length; )
            {
                i++;
            }

Duruma göre sayacın artışını değiştirmek de mümkündür.illa ki sayacı parantezin içerisinde yazmak şart değildir.

for ( ; ; )
{
               
}


Peki bu şekilde yazınca durum ne olur ? Hemen akla gelen böyle bir şey olur mu ? Kesin hata verir cevabıdır.Ama yanılıyorsunuz. Bu şekilde çok rahat kullanımı mevcuttur.Fakat sonsoz döngüye girer.Yani scope lar arasına yazılan kodlar bilgisayarın ram i yettiği sürece işlenir.Bunu neden kullanayım diceksiniz.Ama emin olun öyle bir durumla karşılaşıyorsunuz ki yazılım geliştirirken sonsuz döngüye ihtiyacınız oluyor.Eee peki program sonsuz döngüye girdi diyelim.Nasıl kurtarcaksını o sonsuz döngüden ? Cevabı şu şekildedir;

for (; ; )
{
  break;
}

break konutu böyle durumda hayat kurtarır ;) 

Bu konuyla ilgili çeşitli örnekler bloğumda mevcuttur.Şunu da söylemek istiyorum for döngüsünün nasıl çalıştığını görmek istiyorsanız kodlarınızın bir yerine (for döngüsünden önce) breakpoint koyup F5 e basın.Program o satıra geldiğinde çalışmasını durdaracaktır.F10 ile satır satır devam ettirebilirsiniz.







Hiç yorum yok:

Yorum Gönder