İf else Kontrol Yapıları

İf else Seçim Yapıları

Kontrol Yapıları Başlık Görseli

     Genel ifadeler, programa yazıldıkları sırada teker teker çalışırlar. Buna sıralı çalışma denir. Bazı özel C komutları bu sırayı değiştirmemize yardımcı olur. Böylece, sıradaki ifade yerine istenen ifadenin çalıştırması sağlanabilir

İf Kontrol Yapısı

      Seçme yapısı; seçenekli bir ifadenin seçeneklerinde birini seçmek için kullanılır. Bir dersi geçme notunu 50 olduğunu varsayalım,

Eğer (if) öğrencinin notu 50’dan büyükse yada 50′ eşitse “Geçtiniz” yazar.

Eğer kodu C dilinde yazılmak istenirse

if (not>=60)
      printf (“Gectiniz\n);

şeklinde yazılır. if kodunun algoritması algoritma bölümünde gösterilmiştir.Bakınız.

İf/else Kontrol Yapısı

      if yapısı, koşul doğru ise belirlenen iş yapıyor, yanlış ise belirlenen iş atlıyordu if/else yapısı, programcıya koşul doğruysa belli işleri, yanlış ise başka koşulları yapabilme fırsatı verir.

Eğer (if) öğrencinin notu, 50 yada daha büyükse
      “Geçtiniz” yazdırır
aksi durumda (else)
      “Kaldınız” yazdırır

Yukarıdaki sahte kod ile notu 50 yada 50’den büyük olan öğrenciler için Geçtiniz mesajı, 50’den küçük olan öğrenciler için Kaldınız mesajı yazdırılacaktır.

C programlama dilinde kodlanacak olursa:

if (not >=60)
      printf (“Geçtiniz\n);
else 
      printf (“Kaldınız\n”);

C’ de if/else  yapısına oldukça benzeyen koşul operatörünü (?:) kullanmamıza imkan sağlar. Bu operatör, üç operant alır. İlk operant ve operatör, koşullu deyimi oluşturur. İlk operant koşulun kendisidir. İkinci operant koşul doğru ise tüm koşullu deyimin değeri, üçüncü operant koşul yanlış ise tüm koşullu deyimin değeridir. Örneğin, aşağıdaki, printf ifadesi:

printf(%s\n”, not>=60 ? ” Geçtiniz ” : “Kaldınız” );

not >= 60” koşulu doğru ise “Geçtiniz” bilgisi yazılır yanlış ise “Kadınız” bilgisini yazdırır. İfadedeki %s ifadesi ekrana karakter yazılacağını belirtir.

İç İçe İf/else Yapıları

       İç içe if/else yapıları içerisine başka if/else yapıları yerleştirerek birden fazla koşula aynı anda test etmemizi sağlar.

Eğer (if) öğrencinin notu 90’a eşit yada 90’dan büyükse 
      “A” yazdır
    Değilse (else)

Eğer (if) öğrencinin notu 80’e eşit yada 80’den büyükse
      “B” yazdır
    Değilse (else)
Eğer (if) öğrencinin notu 70’e eşit yada 70’den büyükse 
       “C” yazdır
    Değilse (else)
Eğer (if) öğrencinin notu 60’a eşit yada 60’dan büyükse
        “D” yazdır
    Değilse (else)
         “F” yazdır

Yukarıdaki sahte kodu C dilinde yazacak olursak:

if (not>=90)
     printf(“A\n”);
else if (not>=80)
     printf(“B\n);
else if(not>=70)
     printf(“C\n”);
else if(not<=60)
     printf(“D\n”);
else
     printf(“F\n”);

       Eğer not 90′a eşit yada 90′dan büyükse ilk dört durumun tümü birden doğru ancak sadece ilk karşılaştırmadan sonraki printf çalıştırılacaktır. Bu printf uygulandıktan sonra, if/else yapısının en dıştaki else kısmı atlanacaktır.

      İf  seçim yapısı, gövdesinde yalnızca tek bir ifade bekler. Bir İf  yapısının gövdesinde, birden fazla ifade bulundurmak istiyorsak bu ifadeleri küme parantezinin içine almamız gerekir. ( {}) Küme parantezinin içinde yer alan ifadeler birleşik ifade denir.

if (not>=60)
     printf(“Geçtiniz\n);
else {
     printf(“Kaldınız\n);
     printf(“Bu dersi tekrar almalısınız\n);
}

      Bu durumda not 60’dan küçük olduğunda program else  yapısının gövdesindeki iki printf  ifadesini de çalıştıracak.  Küme parantezi olmadan

printf (” Bu dersi tekrar almalısınız\n”);

İfadesi if/else  yapısının else  kısmının gövdesinin dışında kalacak ve notu 60’tan küçük yada büyük olmasına bakmaksızın çalıştıracaktır.

Kimler Neler Demiş?

  Abone ol  
Bildir