ÜNİTE:
1.2. PROBLEM ÇÖZME VE ALGORİTMALAR
KAZANIMLAR:
1.2.6.1. Problemin çözümünde karar mantık yapısını kullanır.
1.2.6.2. Olumlu ve olumsuz mantık yapılarını kullanır.
7.5. Mantık Dönüşümleri
Bazen programın yeterliğini ve okunabilirliğini arttırmak için karar mantık yapılarını, pozitiften negatife ya da tam tersine dönüştürmek gerekebilir. İşlenmesi gereken yönergelerin doğası ve sayısı gere- ği ya da işlenecek yönerge olmadığı için bazen çözümün yapısı, kullandığımız mantık yapısına uymaz.
Karar verilirken koşulun yanlış olduğunda uygulanacak yönergeler olmasa bile her zaman doğru olduğu durum için uygulanacak yönergeler olmalıdır. Eğer doğru olması koşuluna uygun yönerge yoksa mantık yapısını dönüştürmek yerinde olacaktır.
Pozitif mantıktan diğerine ya da tam tersi biçimde dönüşüm yapmak için aşağıdaki kuralları uygulayınız.
1. Tüm < koşullarını >= ile değiştirin.
2. Tüm < koşullarını > ile değiştirin.
3. Tüm > koşullarını <= ile değiştirin.
4. Tüm >= koşullarını > ile değiştirin.
5. Tüm = koşullarını <> ile değiştirin.
6. Tüm <> koşullarını = ile değiştirin.
7. Then kapsamındaki tüm yönergeleri else kapsamı ile karşılıklı olarak değiştirin.
Bu dönüşüm daha önce incelediğimiz problemin çözümü için şu biçimde yapılmaktadır:
7.6. Hangi Mantık Yapısı?
Bir problemi çözmek için hangi karar yapısını seçeceğimize nasıl karar vereceğiz? Bunun en kolay yolu her 3 yapı için çözümü yazmak ve bu çözümler içinden en hızlı, kolay algılanan ve en az koşulla çalışanı seçmektir. Her zaman aynı yapıyı kullanmak ya da problemden istenildiği sıradaki yönergeleri kullanarak çözüm üretmek, sıkça başvurulan yollardır ancak bu yaklaşımlar her zaman en etkili çözüm ile sonuçlanmayabilir.
Şimdi bir problemi çözmenin 4 farklı yolunu inceleyelim. Harcanan para miktarına göre belli sayı- larda “bonus” verilmesi için farklı mantık yapılarında akış şemaları şu şekildedir:
Mantık yapısına ilişkin seçim konusunda düşünürken aşağıdaki sorulara yanıt aramak önemlidir.
1. Hangi mantık yapısı, programı daha anlaşılır kılmaktadır?
2. Hangi mantık yapısını yönetmek ve değiştirmek daha kolaydır?
3. Veriye ilişkin fazla bilgi yokken en az sayıda koşul kontrolü yapan, hangi mantık yapısıdır?
4. Veri sunulduğunda en az koşul kontrolünü yapan mantık yapısı hangisidir?
Karar süreci sonunda iki yapının eşit sonuç verdiğini görürseniz herhangi birini seçebilirsiniz.
Comments