Algoritmada Karar Yapıları
Bugünkü konumuz olan karar yapılarında amaç bir mikroişlemciye verilen şartın sağlanması veya sağlanmaması durumunda yapılacak işlemlerin belirtilmesidir. Eğer verilen şart sağlanıyorsa “şu işlemi yap”, sağlanmıyorsa “bu işlemi yap” gibi komutlar verilir.
Karar yapılarında mantıksal bir sonuç olmasına mutlaka dikkat edilmelidir. İşlem sonucu 1 ise “doğru”, 0 ise “yanlış” diye belirtilmeli ve bu sonuçlara göre işlem yapılmalıdır.
Karar yapıları akış şemalarında aşağıdaki gibi bir dörtgen ile gösterilir (akış şemalarındaki şekiller için “Akış Şemaları, Akış Şemaları Nedir?” başlıklı yazıma bakabilirsiniz):
Belirtilen şart ise dörtgenin içinde gösterilir.
Örneğin, i değişkeninin 10 sayısına eşit olup olmadığına bakmak istersek bunu akış şemasında aşağıdaki gibi gösteririz:
Şartın sağlanması veya sağlanmaması durumunda yapılacak işlemler ise karar yapısı dörtgeninden ayrılan 2 adet ok ile belirtilir.
- Koşulun sağlanması durumunda yapılacak işleme giden okun üzerinde “EVET”,
- Koşulun sağlanmaması durumunda yapılacak işleme giden okun üzerinde ise “HAYIR” ifadeleri bulunur.
Örneğin i değişkeninin 10 sayısına eşit olup olmama durumunun ekrana yazdırılmasını sağlayan karar yapısını aşağıda gösterelim:
Programlama dillerinde ise karar yapıları genellikle “if” (eğer) ve “else” (olmazsa) komutları ile belirtilir.
Koşul,
- “if” komutunun yanında belirtilir ve “if” komutu satırının altına koşulun sağlanması durumunda yapılacak işlem belirtilir.
- “else” komutu satırının altına ise koşulun sağlanmaması durumunda yapılacak işlem belirtilir.
Örneğin C dilinde kullanıcıdan alınan sayının 5 0lup olmadığını kontrol etmek için:
if(i == 5) // koşulun belirlenmesi
printf(“Sayı 5’e eşittir); // koşulun sağlanması durumunda yapılacak işlem
else // koşulun sağlanmama durumunun belirtilmesi
printf(“Sayı 5’e eşit değildir); // koşulun sağlanmaması durumunda yapılacak işlem
KARAR YAPISI ÖRNEĞİ
Kullanıcıdan alınan “i” değişkeninin çift olup olmadığını belirten programın algoritmasını akış şeması ile oluşturalım: