CSharp Görsel Programlama - Döngü Deyimleri, For, While ve do While kontrolleri

Döngü Deyimleri
Sayıya bağlı döngüler
for
Koşula bağlı döngüler
while / do
do / while


Sayıya Bağlı Döngüler

Dönme sayısı sayıyla ölçülebilen döngü deyimlerine sayıya bağlı döngüler adı verilir.

for deyimi

for(<değişken> = <başlangıç>; <koşul>; <artış değeri>)
<işlem>;

ya da

for(<değişken> = <başlangıç>; <koşul>; <artış değeri>)
{
<işlem>;
...
<işlem>;
}


Deyim <değişken> için <başlangıç> değerini alarak başlar
Daha sonra <koşul> kontrol edilir. ; <koşul> yanlış ise döngüden çıkılır. <koşul> doğru ise döngü içerisinde bulunan <işlem>ler gerçekleştirilir.
Bu işlemden sonra, <değişken> değeri <artış değeri> kadar artırılarak Adım-2’den itibaren döngüye devam edilir.

Örnek For Kullanımı 1;

int sayac;

for (sayac = 0; sayac < 5; sayac++)
    Console.WriteLine("Dongu ici sayac degeri = " + sayac);

Console.WriteLine("Dongu disi sayac degeri = " + sayac);


Çevrim Durumu;

Dongu ici sayac degeri = 0
Dongu ici sayac degeri = 1
Dongu ici sayac degeri = 2
Dongu ici sayac degeri = 3
Dongu ici sayac degeri = 4
Dongu disi sayac degeri = 5


Örnek For Kullanımı 2;

int sayac;

for (sayac = 0; sayac < 5; sayac += 2)
    Console.WriteLine("Dongu ici sayac degeri = " + sayac);

Console.WriteLine("Dongu disi sayac degeri = " + sayac);


Çevrim Durumu;

Dongu ici sayac degeri = 0
Dongu ici sayac degeri = 2
Dongu ici sayac degeri = 4
Dongu disi sayac degeri = 6

Örnek bir program;

// bu program 1 ile 100 arasindaki sayilardan kac tanesinin 2 ile
// kac tanesinin 3 ile tam bolundugunu hesaplar
int sayac, bol_2 = 0, bol_3 = 0;
for (sayac = 1; sayac <= 100; sayac++)
if (sayac % 2 == 0) bol_2++;
    else if (sayac % 3 == 0) bol_3++;
        Console.WriteLine("2 ile bolunen sayisi = " + bol_2);
Console.WriteLine("3 ile bolunen sayisi = " + bol_3);

Örnek: Dışardan girilen sayının asal sayı olup olmadığını bulan program,

string satir;
int sayac, sayi;
bool bayrak = true;
satir = Console.ReadLine();
sayi = Convert.ToInt32(satir);

if (sayi == 2) Console.WriteLine(sayi + " asal sayidir");
    else if (sayi % 2 == 0) Console.WriteLine(sayi + " asal degildir");
            else
               {  for (sayac = 3; sayac < sayi; sayac += 2)
                    if (sayi % sayac == 0)
                            {
                                bayrak = false;
                                break;
                            }
                }
if (bayrak == true) Console.WriteLine(sayi + " asal sayidir");
    else Console.WriteLine(sayi + " asal degildir");


İç içe For Deyimleri

for(...) {
    ...
    ...
    for(...) {
        ...
        ...
        ...
    }
    ...
}

Örnek;


int d1, d2;
for (d1 = 1; d1 <= 2; d1++)
    for (d2 = 1; d2 <= 3; d2++)
        Console.WriteLine("d1 = " + d1 + " d2 = " + d2);


Örnek;


int d1, d2;
for (d1 = 1; d1 <= 5; d1++)
{
for (d2 = 1; d2 <= 5; d2++)
            Console.Write("{0:D3} ", d1 * d2);
Console.WriteLine();
}


Koşula Bağlı Döngüler

while(<koşul>)
    <işlem>;

ya da

while(<koşul>)
{
    <işlem>;
    <işlem>;
    ...
}


while döngüsüne ilk girildiğinde <koşul> kontrol edilir. Eğer, <koşul> doğruysa döngü içindeki deyimlerin işletimleri sırasıyla gerçekleştirilir ve tekrar while deyimine dönülür. Eğer, <koşul> yanlış ise, döngüden çıkılır.

İlk deneme de <koşul>un yanlış değere sahip olması hiçbir işlem yapılmadan döngüden çıkılmasına neden olacaktır.

<koşul>un sürekli olarak doğru konumda kalmasıyla sonsuz döngü oluşacaktır.

Örnek:
// klavyeden girilen ve sonunda -1 isaretleyicisi bulunan bir dizi sayinin
// toplaminin hesaplatilmasi

string satir;
int sayi;
long toplam = 0;

Console.Write("Bir sayi giriniz (veri sonu -1): ");
satir = Console.ReadLine();
sayi = Convert.ToInt32(satir);
while (sayi != -1)
    {
        toplam += sayi;
        Console.Write("Bir sayi giriniz (veri sonu -1): ");
        satir = Console.ReadLine();
        sayi = Convert.ToInt32(satir);
        }

Console.WriteLine("Toplam = " + toplam);
 

do while Yapısı


do
    <işlem>;
while(<koşul>);


ya da


do
{
    <işlem>;
    <işlem>;
    ...
} while(<koşul>);


Do/while döngüsüne ilk girildiğinde verilen <işlem> ya da <işlem>ler gerçekleştirilir. Daha sonra <koşul> kontrol edilir. Eğer, <koşul> doğruysa döngüye devam edilir. Eğer, <koşul> yanlış ise, döngüden çıkılır.

İlk deneme de <koşul>un yanlış değere sahip olması <işlem> ya da <işlem>lerin bir kez yapılıp döngüden çıkılmasına neden olacaktır.

<koşul>un sürekli olarak doğru konumda kalmasıyla sonsuz döngü oluşacaktır.


Örnek
:klavyeden okunan tuslardan kac tanesinin sesli ve kac tanesinin sessiz harf oldugunu hesaplayan program. Klavyeden girilen ilk degerin veri sonu olmadigi varsayilmaktadir. Verilerin sonunda 0 (sifir) bulunmaktadir.

string tus;
int sesli = 0, sessiz = 0;

tus = Console.ReadLine();
tus = tus.ToLower();
do
{
    switch (tus)
                {
                    case "a":
                    case "e":
                    case "i":
                    case "o":
                    case "u": { sesli++; break; }
                    default: { sessiz++; break; }
                }
                tus = Console.ReadLine();
                tus = tus.ToLower();
        } while (tus != "0");

Console.WriteLine("Sesli Sayisi  = " + sesli);
Console.WriteLine("Sessiz Sayisi = " + sessiz);

  • Tarih : 10.11.2015 16:01:19


Etiketler: Döngü deyimleri , Sayıya bağlı döngüler , for Koşula bağlı döngüler , while - do , do - while ,

Yapılan Yorumlar

Sizde Bir Yorum Yazın...