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.