Karar Yapıları


 Merhaba arkadaşlar,


Sunay Akın, İstanbul’un Nâzım Planı kitabına Almanya’dan İstanbul’a kaçan bir çocuğun hikayesi ile başlar. İsterseniz sözü ona bırakalım..

1827 yılında Almanya’nın Brandenburg kentinde bir çocuk dünyaya gelir. Babası müzik öğretmeni olan Karl Detroit, aile içinde baş gösteren huzursuzluklardan dolayı bir Fransız yetimhanesine gönderilir. Fakat yetimhanede yapılanlara dayanamaz duruma gelince bir karar verir, O yurttan kaçacaktır. Bir akşam odadaki çarşafları birbirine bağlayarak camdan sarkıtır ve yetimhaneden firar eder. Henüz on iki yaşındadır. Hamburg Limanı’ndan kalkan bir gemi ile İstanbul’a yol alır.

Gemi İstanbul’a geldiğinde denize atlayan Karl Detroit, Kız Kulesi’ne doğru yüzmeye başlar!.. Kendisini kurtaran Kız Kulesi’nin bekçisine gemiye geri dönmek istemediğini anlatır, iki ülke arasında küçük bir politik sorun yaratmış olsa da, dönemin Dış İşleri Bakanı konumundaki Sadrazam Ali Paşa’nın sevgisini kazanıp himayesine girer. Harbiye’de okutulan çocuğa bir de isim verilir.

Yıllar, on iki yaşında Kız Kulesi’ne yüzen çocuğu, Kırım Seferi ve Bosna, Karadağ savaşlarından sonra II. Abdülhamit döneminde “Paşa” ünvanına taşır. O, 1878 yılında imzalanan Berlin Antlaşması’nda Osmanlı’yı temsil eden üç kişiden biridir.

Aynı zamanda şair olan kahramanımız kısa bir dönem gittiği Magdeburg’daki okulunu ziyaret ettiğinde şeref defterine bir şiir yazar ve bu şiir daha sonra gazetelerin birinde yayınlanır. Saray ressamı Anton von Werner, onun için şunları söylemiştir: “Şiirlerini Alman, Fransız, Yunan, Fars ve Arap dillerinin tümünde aynı maharetle kaleme alabilen bir şair”

Sıkı durun, çoçukluğunda Kız Kulesi’ne sığınan çocuk Mehmet Ali Paşa’nın ta kendisidir.

Onun dört kızından biri olan Leyla Hanım’ın da bir kızı dünyaya gelir. Celile Hanım.. Ve, Celile Hanım’ın bir oğlu olur : Nâzım Hikmet!


Hayatta verdiğimiz kararlar neticesinde yaşantımızı yönlendiririz. Verdiğimiz her karar onun alternatifi olan diğer kararın yok olmasına neden olmaktadır. Nasıl mı?
Mehmet Ali Paşa için bir ihtimal daha vardı, o da Almanya’da kalıp hayatına Karl Detroit olarak devam etmekti. Fakat O İstanbul’a gelerek kendisine apayrı bir gelecek çizmiş ve alternatif kararı ve bunun getirileriyle birlikte götürülerini hiç yaşamamıştır.


Kararlar..


Hayatımızın her anında belli kararlar alırız. Bu yaşantımıza öyle bir girmiştir ki, artık düşünmeyiz bile bu karar mıydı diye.. Örneğin sabah evden çıkmadan ne giyeceğimize karar veririz. Evden çıkar işe veya okula hangi yoldan gideceğimize karar veririz. Gün içinde neler yapıcağımıza.. Akşam boş vaktimizi nasıl değerlendireceğimize karar veririz.

Ve bu kararların hemen hepsinde belli koşullar vardır. Örneğin ne giyeceğimize karar vermeden önce havanın durumunu düşünürüz hava soğuksa üşümemizi engelleyecek daha kalın kıyafetler giyeriz. Evden çıktıktan sonra hangi yoldan gideceğimize trafik yoğunluğuna göre karar veririz.  Haftasonu kullandığımız yolun haftaiçi yoğun olması durumunda tercihimiz farklı yolları kullanmak olacaktır  mesela. Akşam olduğunda ise boş vaktinizi değerlendirme aşamasında yine belli kısıtlarla karşı karşıyayısınızdır. Örneğin yeterli zamanınız yoksa uzun sürecek bir aktiviteye katılamazsınız, görüldüğü üzere bu kez de vereceğiz kararda zaman kısıtı etkili olmaktadır.

Hafızanızın tozunu alın ve hatırlamaya çalışın..

Çocukluğumuzun ünlü oyunlarından birinde “Elma dersem çık armut dersem çıkma” diye bir tabir vardı. Bakın o zaman da bir arkadaşımızın Elma veya Armut demesi bizim kararımızı etkilemiş..

Vay be!.. Bak sen şu Elma ile Armut’un hayatımızda oynadığı role..

Çocukluk dedik ya devam edelim..

Bir dönem her gün duyduğumuz cümlelerden biriydi. Eğer yemeğini yemezsen dışarı çıkamazsın.. Al sana bir koşul daha.. Hatırlıyorum da o zaman için dünyanın en büyük cezalarından biriydi bu..

Sonra büyüdük..

Bütçe planları yapmaya başladık, daha ucuzu varsa aynı ürüne fazla para vermeyelim diye örneğin.. Veya kariyer planları yaparken karakterimize uygun olan alan hangisiyse orada devam ettik, uygun değilse reddettik..

Peki bu kadar örnek verdikten sonra..

Kodların renkli dünyasına dönecek olursak eğer.. Günlük hayatın vazgeçilmezi olan karar yapılarının bizzat C# içinde de yer aldığını söyleyebiliriz. Nasıl mı? İşte size bunu sağlayacak iki argüman;


If – else yapısı


Öncelikle if ve else kelimelerinin anlamını inceleyelim. If, “eğer”, else ise “değilse” anlamında kullanılan ingilizce kelimelerdir.

Asıl merak edilen sorunun cevabını veriyorum, C#’ta if yapısı aşağıdaki gibi kullanılır.

            if (true)
            {
                // koşulun gerçekleşmesi durumunda program akışını bu blok içine girecektir.
            }
            else
            {
                // koşulun gerçekleşmemesi durumunda ise program akışı bu bloğa girer.
            }

If karar yapısında, if’in yanında parantez içinde yazan true değerine dikkat edin. Burada bool veri tipi ile koşul sınanır. Yani yağmur yağıyor mu sorusunun cevabı  evet mi yoksa hayır mı kontrolü bu koşul ile yapılır. Yağmur yağıyorsa şemsiyeni al cümlesi, C#’ta aşağıdaki gibi yazılabilir. Baştaki if’in cümleye -se, -sa yani eğer anlamı kattığına dikkat edin.

            if (yagmurYagiyorMu == true)
            {
                // Şemsiyeni al.
            }


Şimdi bunu bir örnekle açıklayalım..

1971 yılında Tanju Okan’ın söylediği “Ah Bir Zengin Olsam” şarkısı ile birlikte gazetelerin manşetleri de değişir. Bu tarihten sonra hemen hemen her milli piyango haberinin “Ah bir zengin olsam” başlığı ile çıktığını söyleyebiliriz. Neyse ben bu konuda daha fazla gevezelik yapmadan bu şarkıyı if karar yapısı ile programlayalım.

Bu şarkıda Tanju Okan sevgilisine seslenir ve zengin olması durumunda sevgilisini gönlünce yaşatacağından bahseder.


 


İşte günlük hayattaki karar yapılarının yazılım tarafındaki tarifini göstermek açısından if-else'e düşen görev burada noktalandı. Mantığını anlamaya çalıştığımız karar yapıları ile ilgili bol örnekli bir yazının geleceğinin haberini vererek if – else yapısını son noktayı koyalım ve diğer karar yapısına geçelim.


Switch – case yapısı


Bir değişkenin alabileceği değerler sabit ise switch-case yapısı kullanılır.  Switch yapısını açıklamak için bir örnek verelim. Mesela siz bir sayının sadece 1, 0 ve -1 değerlerini alması durumunda programınızda bir şeyler yapacaksan. Switch-case ile bu durumu aşağıdaki gibi yazabilirsiniz;




Switch-case yapısı ile yapabileceklerinizi if-else ile de yapabilirsiniz fakat söz konusu yapı if-else göre daha performanslıdır. 
Örneğin bir öğrenci otomasyonu yaptığınızı düşünelim. Yıl sonunda öğrencilere çeşitli belgeler verilecektir. Belgeler ise yıllardan beri değişmeyen sabit ödüllerdir; Takdir, Teşekkür, Onur Belgesi gibi.. Switch-case yapısı için güzel örneklerden biridir bu. Gelin kodla da bu programı oluşturalım.


 

Eğer herhangi bir case sağlanmıyorsa programımız default anahtar kelimesinin olduğu yere gelir ve yilSonu değişkenine "Öğrenci herhangi bir belge alamadı." değerini atar.


Bir başka örnek günler ile ilgili olabilir. Mesela yazdığınız programda kullanıcıya güne özel mesajlar verebilirsiniz.

Gelin bu özel mesajları Türk Sineması’nın gülen yüzü Kemal Sunal’ın filminden alalım;

            switch (gun)
            {
                case "Pazartesi":
                    mesaj = "Giydim fesi.";
                    break;
                case "Salı":
                    mesaj = "Salı sallanır.";
                    break;
                case "Çarşamba":
                    mesaj = "Çarşamba çarşafa dolanır.";
                    break;
                case "Perşembe":
                    mesaj = "Perşembe perişanlıktır.";
                    break;
                case "Cuma":
                    mesaj = "Cuma mübarek gün";
                    break;
                case "Cumartesi":
                    mesaj = "Tatil.";
                    break;
                case "Pazar":
                    mesaj = "Tatil.";
                    break;
            }

Switch bloğunda default case olmak zorunda değildir. Zira biz de örneğimizde söz konusu anahtar kelimeyi koymadık. Default bölümünü case’lerde yakaladığımız durumlar haricinde bir durum var ise kullanabiliriz.


Karar yapılarının üzerinde durduğumuz bu yazıyı noktalarken aklıma takılan bir soru var..

Acaba Karl Detroit verdiği karar neticesinde birbirine bağlayarak yurdun camından sarkıttığı çarşaflarla hangi hayatları birbirine bağladı dersiniz..? (*)


Hayatta kararlı bir duruş sergilemeniz dileğiyle..

Hoşçakalın..



* Sunay Bey Tarihi isimli oyundan alıntıdır.

About me

C# yazılım atölyesi

Blogger tarafından desteklenmektedir.