Bilgisayar Bilimleri -13- Yalancı Kod (Pseudocode)

Bilgisayarların avantajı bir problemi hızlı çözerek bizi büyük bir zaman kaybından ve zihinsel yükten kurtarmalarıdır. Bilgisayarlar bizim zihinsel olarak yaptığımız hesap kitap işlerini yerine getirse de bizim yerimize düşünemezler. O yüzden biz zihnimizi daha yüksek seviyede kullanarak düşünmeye ayırırken bilgisayarlar bizim yerimize alt seviye bilgi işlemi yapmakta kullanılır. Bilgisayar programları bizim düşüncelerimizin ürünüdür.

Daha önceki yazıda algoritmaları grafik tabanlı bir şemada, programlama dilinde veya insan dilinde ifade edebileceğimizi söylemiştik. Bu yazdıklarımızın hepsi algoritmaların kendisi değil temsilidir. Kısacası bizim kendi dilimizde ifade ettiğimiz şey de programlama dilinde yazdığımız şey de aynı işi yapmakta ve aynı görevleri yerine getirmektedir. Bu aynı bir yapının farklı yollarla ifade edilmesinden başka bir şey değildir. İnsan zihnindeki algoritmayı istersek matematiksel bir dille, istersek programlama dili ile istersek de doğrudan makine dili ile ifade edebiliriz. Bizim burada zihindeki algoritmayı aşamalar vasıtasıyla makineye aktarmamız en doğru yoldur. Bu yollardan en başta gelenlerden biri ise yalancı koddur.

Yukarıda bilgisayar programlarının düşüncelerimizin ürünü olduğunu söylesek de makine dili ve hatta yüksek seviye programlama dilleri bile düşüncelerimizi doğrudan doğruya aktarabileceğimiz bir yapıda değildir. Düşüncelerimizi en kolay ve doğru aktarabildiğimiz araç bize bahşedilen dil vasıtasıyla olmaktadır. Programlama dilleri insan yapısı olduğu için bu noktada doğal dil kadar etkili olmaktan oldukça uzaktır. Yalancı kodu tanımlamak istersek doğal dil ile programlama dili arasında bir köprü veya programlama dilinin doğal dil ile ifade edilişi olarak tanımlayabiliriz.

Programlama dilleri İngiliz dilini esas alan söz dizimine ve anahtar kelimelere sahip olsa da doğal dil herhangi bir konuşulan insan dili olabilir ve yalancı kodlar da bu dillerden birinde yazılabilir. İnsan dili makine dili ve programlama dillerine göre oldukça karmaşık yapıdadır ve insanlar tarafından tam olarak çözülememiştir. O insan dilinde yazılan bir şeyi doğrudan makine diline aktarmak imkansızdır. Bu durumda doğal dil ile yazılan yalancı kodun nasıl makine diline aktarılacağı konusunda kafanızda soru işaretleri belirebilir.

Şimdi size örnek bir programın yalancı kodunu kendi açımdan yazarak göstereyim. Bu program klavyeden girilen sayının belirtilen üssünü alarak bunun sonucunu tekrar ekrana yazdıran basit bir hesaplama programı olacaktır. Bunun için gereken matematiği bilsek de bunu matematiksel olarak bile ifade etmemize gerek yok.

  • Kullanıcıdan taban değerini iste
  • Kullanıcıdan taban değerini al
  • Kullanıcıdan üs değerini iste
  • Kullanıcıdan üs değerini al
  • Taban değerini taban değerine üs değeri kadar çarp 
  • Kullanıcıya üs sonucunu belirt
  • Üs sonucunu ekrana yazdır
  • Bitir 

Burada talimatların biraz ayrıntılı olarak yazıldığını söyleyelim. Örneğin sadece kullanıcıdan taban ve üs verisini al diye kısaca belirtebilirdik. Ama bu ayrıntılı yazışımız acemi programcılar tarafından da atlanmayacak adımları içermektedir. Öncelikle doğal dili kullansak da bu doğal dil bir talimat içermekte ve bu talimatlarda bilgisayar tarafından işletilebilecek talimatlar olmaktadır. Bilgisayara “Git çay koy.” diyemeyeceğimize göre bilgisayarın yapabileceği işlemlerden bahsederek doğal dil kullanımını sınırladık.

Sizin ürettiğiniz yalancı kod sizin anlayışınıza, seviyenize, dilinize göre değişiklik gösterebilir. Önemli olan yalancı kod yazmak programlama dili kullanarak doğrudan doğruya program yazmaktan kat kat kolay olduğudur. Bu yalancı kodları programlama diline aktarmak ise yine doğrudan program yazmaktan kolaydır. Eğer her şeyi kafadan yapacak yetenekte bir dahi değilseniz ürettiğiniz algoritmaları doğrudan koda aktarmak yerine yalancı kod ve diyagramlar vasıtasıyla kağıda aktarmanız sizin için çok daha kolay olacaktır.

Yalancı kodun konuşma diline çok benzemesi şart değildir. Bazen yalancı kodlar programlama diline de benzerlik gösterebilir. Örneğin yukarıdaki programı yalancı kod halinde şu şekilde de yazabilirdik.

printf Taban değerini girin

scanf tabandeğeri

printf Üs değerini girin

scanf üsdeğeri

printf Sonuç:

printf pow(tabandegeri,üsdeğeri)

 Bu tamamen benim kurallarımla ve benim tarzımla yazdığım ve programlama diline benzeyen ama arada sentaks kuralları olmayan bir yalancı koddu. Bu taslak üzerinde istediğiniz gibi karalama yapıp daha sonra program yazarken buradan yardım alabilirsiniz. Yalancı kodun Türkçe olarak yazılması önünde bir engel de programlama dillerinin İngiliz dil mantığına göre tasarlanmış olmasıdır. Yalancı kodda if, while, do, for gibi anahtar kelimeleri doğal dil söz dizimi bozulmadan kullanma imkanları olsa da bizde bu konuda sıkıntı olmaktadır.

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.