Program akış kontrol cümlelerine genel bakış


Evet şimdi ise derslerimizde "Siz bunları C# öğrenirken görmüştünüz, bu nedenle üzerinde fazla durmayacağım..." diyerek hızlıca üzerinden geçtiğimiz Program akış kontrolü (şart cümleleri) ve tekrarlanan işlemler yani döngüler üzerinde kısaca duracağız zira olayı dallandırıp budaklandırmanın bir anlamı yoktur.

  1. Şart cümleleri; if, if-else, if-else if- ya da switch program akışının yönünü değiştiren yapılardır.
  2. Döngüler ile for ve while bir takım işlemlerin sizin belirleyeceğiz şartlar altında tekrar edilmelerini sağlarlar.

Aslında programlama yapılarında öyle ya da böyle belirli konuyu öğrenirken o konunun dışındaki konulara da istemeyerek de olsa temas etmek zorundasınız ki biz bunu hep yaptık. Misal karşılaştırma ya da mantık operatörlerini anlatırken şart yapılarını kullandık. Şimdi basitce bu yapılar nasıl kullanılıyor ele alacağız. Aşağıda şart yapıları için bir takım örnekler vermeye çalıştım bunları incelemeniz bu yıl yaptığımız ve burada yayınlanacak olan örnekler için yeterli olacaktır. Kolay gelsin...

<script language="javascript" type="text/javascript">
    //BÖLÜM-1 ŞART YAPILARINA GENEL BAKIŞ
    //kullanicidan bir adet sayi istiyoruz
    //1-100 arasında ve sayı olması konusunda kısıtlama getiriyoruz
    //Son olarak bu sınırlarda girilen sayıyı 30 ve altı ise düşük
    //30 ile 60 arasında ise orta, 60 ile 100 arasında ise yüksek seviye olarak
    //cıktı verilyoruz
    var sayi=Number(prompt("Lütfen 1-100 arasında bir sayı giriniz",Math.round(Math.random()*99+1)));
    if(Number.isNaN(sayi)){
        console.log("Neden bir sayi girmiyorsunuz ki?");
    }else if(sayi<0 || sayi>100){
        console.log("Lütfen 1-100 arasında bir sayı giriniz");
    }else{
        if(sayi<=30) console.log("Düşük seviye");
        else if(sayi<=60) console.log("Orta seviye");
        else console.log("Yüksek seviye"); 
    }
    //şimdi ise switch() deyimi ile basit bir örnek yapalım
    switch(prompt("Bügün hava nasıl olacak?")){
        case "yağmurlu":
            console.log("o zaman yanına şemsiyeni almayı unutma");
            break;
        case "karlı":
            console.log("Ymuşacık kar üsütünde gezerken kıtırtıları dinlemek keyifli olacaktır.");
            break;
        case "bulutlu":
            console.log("Dışarı çık ve biraz gezinti yap")
            break;
        case "güneşli":
            console.log("Günün tadını çıkar, gönlünce eğlen");
            break;
        default:
            console.log("Anlam veremediğim türden bir hava türü");
    }
    //Dikkat! Bu yapıda break; cümlelerini silerek konsol çıktılarını inceleyin. Unutmayın switch() 
    //yapısında belirli bir şart yakalandığında o şartın altındaki diğer program satırları 
    //break; satırını bulana kadar icra edilir.
    switch(prompt("Bir harf giriniz (büyük ya da küçük","a")){
        case "a":
        case "A":
        case "e":
        case "E":
        case "i":
        case "İ":
        case "ı":
        case "I":
        case "u":
        case "U":
        case "ü":
        case "Ü":
        case "o":
        case "O":
        case "ö":
        case "Ö":
            console.log("Sesli bir harf girdiniz");
            break;
        default:
            console.log("Sesli olmayan bir harf ya da karakter girdiniz");
    }
    //default bolumu hic bir eslesme olmadıgı zaman çalışır if yapısındaki else' in karşılığıdır diyebiliriz.
    //getDay() 0-6 arasında bir rakam uretir 0->pazar 1->pazartesi.....6->cumartesidir buna göre
    var tarih= new Date();
    switch(tarih.getDay()){
       case 0:
       case 6:
            console.log("İyi hafta sonları dilerim");
            break;
        default:
            console.log("Hayırlı işler, kolay gelsin");
    }
    //VE/AND operatörü yerine iç içe if kullanmak
    var adi="linux", surum="5.0";
    if(adi=="linux"){
        if(surum="5.0") console.log("Güncel sürüm kullaniyorsunuz");
    }
    //ya da 
    if(adi=="linux" && surum=="5.0") console.log("Güncel sürüm kullaniyorsunuz");
    //SORU: VEYA/OR kullanmadan aynı islemi if kullarak siz yapiniz.
</script>