Mustafa Kemal Üniversitesi Bilgisayar Mühendisliği Bölümü Ders Materyal Ve Notları

Sponsor

7 Mart 2013 Perşembe

Csharp ta Dongu Yapilari

Posted by samgar at 20:55 0 Comments


Csharp ta Dongu Yapilari

 Açıklama: Döngü yapıları herhangi bir kod parçasının birden fazla kez icra edilmesi gerektiğinde kullanılabilecek yapılardırlar. Yukarıda gördüğünüz for döngü yapısında for anahtar kelimesi kullanılarak iki parantez icerisinde 3 ifade bulunur.

ifade1: Burada bir int kurulur bir sayı ataması gerçeklestirilir. Burada bulunan kısıma döngü yapısında sadece bir kere girilip orada bulunan kısım sadece bir kere icra edilir.

ifade2: Burada bulunan ifade, bir şart ifadesi olup burada yapılan kıyaslama doğru olduğu takdirde iki oklu parantez içerisinde bulunan kodun tamamı icra edildikten sonra tekrar döngü yapısına dönülür. Bu ifadenin yanlış olması durumunda oklu parantezler içerisindeki bölüm atlanır ve programın akışı devam eder.
ifade3: Burada bulunan ifade de ise sadece ifade bir içerisinde ilklendirilen tam sayı ifadesi artırılıp döngü yapısının sonsuz bir döngüde kalması önlenir.

for(ifade1; ifade2; ifade3)
{
//belirlenen miktarda, bu kısım
//içerisindeki kod icra edilir
}
for each Döngüsü
foreach kolaksiyon tabanlı nesneler içinde adım adım dolaşmamızı sağlar. Genel yapısı;

foreach ( int k in dizi)
{
Console.WriteLine(k);
}

foreach döngüsü ile yukarıda da belirttiğimiz gibi koleksiyon nesneleri içinde dolaşabilirsiniz tabi sadece okuma yapabilirsiniz. Yani koleksiyon nesneleri read only özelliğindedir. Eğer değişiklik yapmak istersek for döngüsünü kullanmamız daha faydalı olacaktır.
Döngümüzü basit bir örnek yaparsak;

using System;


class foreachDongusu
{
static void Main()
{
string[] karakterler = {”A”,”B”,”C”,"D","E"};
foreach(string k in karakterler)
{
Console.WriteLine(k);
}
}
}

while Döngüsü
while döngüsü belirlediğimiz koşul sağlanıncaya kadar döngümüzün çalışmasını sağlar.Genel yapısı;
while (koşul)
{
deyim;
deyim2;
}

using System;
class WhileDongusu
{
static void Main()
{
int i=1;
while (i<5)
{
Console.WriteLine(”Merhaba{0} sayısı “,i);
i++;
}
}
}

Kodumuzu biraz inceleyerek konumuza devam edelim.Öncelikle yine ilk 5 satırımızda standart kodlarımızı yazıyoruz. Daha sonra i isimli bir değişken tanımlıyoruz ve döngümüzü i<5 koşuluna göre kuruyoruz.
Döngü ilk çalıştığında i,1 değerini taşıdığı içini i<5 kontrolü true değerini döndürecek ve sistem bloğun içine girerek belirtilen deyimler doğrultusunda “Merhaba 1 sayısı ” ekrana yazdıracak.Daha sonra diğer satırdaki arttırma işlemi gerçekleştirilecek ve i değişkenimizin değeri 2 olacak.
Akış tekrar while döngüsüne gelecek ve i değeri 5 oluncaya dek aynı işlemleri gerçekleştirecek.İ değişkeni 5 olduğunda kontrol neticesinde false değeri döndürülecek ve sistem döngüden çıkarak kaldığı yerden devam edecek.
do while Döngüsü
do while döngüsü, çalışma mantığı while döngüsü ile hemen hemen aynıdır,tek farkı while döngüsünde parantez içindeki koşul sağlanmaz ise döngü bloğuna hiç girilmeden bu kısım atlanarak programın normal akışına devam eder.Ancak do while döngüsünde ise koşula bakılmaksızın döngü bloğunun içindeki kod bir kez çalıştırılır,ondan sonra koşul kontrol edilir.Eğer bu kontrol sonucunda true değeri döndürülürse döngü sona erer;eğer false değeri üretilirse döngü tekrar bloğun içine girer ve işlemleri icra eder. Genel yapısını incelersek;
do
{
deyim;
}while (koşul);
Bu döngüyü nerede kullanabileceğimizi şöyle bir düşündüğümüzde.
örneğin bir oyun programı hazırlıyoruz, kullanıcıdan bir sayı girmesini istiyoruz ve bunu while döngüsü ile yapmak istiyoruz.İlk soruyu sormak için mutlaka bir defa çalışması gerektiğinden do while döngüsünü kullanmak zorundayız.Ya da şifre kontrolü yapacağız,bunun içinde kullanıcıdan bir değer istememiz gerekir ki kontrolünü yapalım değil mi.Yine burada da şifreyi ilk kez sormak için döngü bir kez çalışması gerekmektedir.Şimdi yukarıda açıklamaya çalıştığım do while döngüsü örnek üzerinde görelim.

using System;


class DoWhileDongusu
{
static void Main()
{
string sifre;
do
{
Console.WriteLine(”Şifreyi giriniz”);
Console.ReadLine(sifre);
}while(sifre!=”12345¨);Console.WriteLine(”Tebrikler,şifreyi doğru girdiniz,Sisteme Hoşgeldiniz…”);
}
}

break ifadesi
Break ifadesi herhangi bir şart gerektirmeksizin belirtilen döngü içinden çıkılmasına yarar.Aynı zamanda bu ifade switch bloklarında da gareklidir.Derleyici programın çalışması esnasında break ifadesini gördüğü anda
çalıştırmakta olduğu bloktan bir üst bloğa atlar.

int i =0;
for ( ; ; )
{
Console.WriteLine(i);
i++;
if(i == 10)
{
break;
}
}

Dikkat edilmesi gereken nokta çıkılan döngü for döngüsüdür.Buradaki break ifadesi if bloğundan çıkmanızı değil for bloğundan çıkmanızı sağlar.bu tip kodlarda genelde break ifadesi süslü parantez içine dahi alınmaz.
continue ifadesi
continue ifadesi çok az kullanılan fakat bazı noktalarda gerekli olan bir ifadedir. mantık olarak break ifadesinin tam tersi olarak düşünülebilir. Break ifadesi for, do-while, while, foreach gibi döngü bloklarından çıkmaya yararken continiue ifadesi bu tipteki döngü bloklarına girmeye yarar.

int i = 0;
while (true)
{
Console.WriteLine(i);
i++;
if (i < 10)
continue;
else
break;
}

if bloğundaki contunue ifadesi while döngüsünün devam etmesini.break ifadesi ise döngüden çıkılmasını sağlar. Eğer if bloğu içindeki break ifadesi olmasaydı bu döngüden çıkılmayacaktı ve sonsuz döngüye girecektir

Bu Yayını Paylaş

Takipçi Ol

Mail adresinizi kaydedelim ilk sizin haberiniz olsun.

0 yorum:

Sponsor

Yazılarım Korunuyor

Yandex Metrica

Yandex.Metrica

Toplam Sayfa Görüntüleme Sayısı

back to top