Bilgisayar Bilimleri

Pseudo Code (Sözde Kod) Nedir? [Örnekler]

Pseudocode Nedir: Bir problemin çözümünü veren algoritmanın belli bir programlama dilinin yazım kuralları (syntax) ile değil, herkesin anlayabileceği günlük konuşma dilini andıran ifadelerle yazılmasına pseudocode (sözde kod) denir. Bu yazıda;

✅ Sözde kod ile normal kod arasındaki farklardan
✅ Pseudocode kavramından ve özelliklerinden
✅ Akış şeması (flow chart) kavramından
✅ Akış şeması ve pseudocode örneklerinden bahsedeceğiz.

Pseudo Code (Sahte Kod) Nedir?

1- Neden Böyle Bir Kavram Doğdu?

Pseudokodun normal kodlamadan ve programlama dillerinden farkı belli bir söz dizimi yani syntax kuralları içermemesidir. Sahte kodda metinler günlük konuşma diline yakın, olabildiğince çok kişinin anlayabileceği bir şekilde kullanılır.

Bu metinler aynı zamanda Assembly ve makine dili gibi doğrudan donanımla alakalı programlama dilleri kadar karmaşık da değildir. Burada amaç olabildiğince çok kişinin mantığı anlamasını sağlamaktır. Bu durumu en güzel bu şema özetler:

Şema: Pseudocode Nedir? Ne İşe Yarar?
Şema: Pseudocode Nedir? Ne İşe Yarar?

Türkçe, İngilizce, Almanca gibi onlarca konuşma dili var ve bu durum bir zenginliğin ifadesi olduğu kadar aynı zamanda bir karmaşıklığa da yol açıyor. Dünya bunun çözümünü İngilizce gibi bir dili evrensel, her yerde geçerli bir dil olarak kabul etmekte bulmuş.

Benzer bir durum programlama dilleri için de geçerli. İşte bu karmaşıklığı ortadan kaldıran, her dile neredeyse aynı mesafede bulunan şey ise sahte kod, yani pseudocode!

2- PseudoCode Neden Kullanılır?

.#. Pseudocode her ne kadar amacından saptırılıp şu tarz değişik amaçlar için kullanılsa da, özünde programlama ve algoritmalar ile ilgilidir.

Gerçek Hayatta Pseudocode'nin Kullanım Alanları
Gerçek Hayatta Pseudocode’nin Kullanım Alanları

.#. Pseudo koda ihtiyaç duyulmasının temel nedeni programlama dillerini bilmeyen sıradan bir insanın da programlardaki algoritma mantığını anlamasını sağlamaktır.
(Ayrıca Bakınız: Algoritma Nedir? Algoritma Örnekleri)

.#. Sahte kodun kullanılmasının bir diğer amacı programın yapımcısına veya programın kullanıcılarına kullanılan programlama dilinden bağımsız olarak, o programın çözüm / çalışma mantığının sunulmasının sağlanmasıdır.

3- Pseudo Code’nin Özellikleri

— İsminde her ne kadar kod geçiyor olsa da kod niteliği taşımaz.
— Bu ifadeler kod niteliği taşımadığı için bir derleyici tarafından derlenemez ve bu sebepten ötürü herhangi bir bilgisayar veya telefonda çalıştırılamaz.
— Kod niteliği taşımadığı için pseudo code üzerinde hata ayıklama (debugging) de yapılamaz.
(Ayrıca Bakınız: Debugging Nedir? Nasıl Yapılır? [Rehber])
— Sahte kodda önemli olan metnin anlaşılabilir ve kolaylıkla bir programlama diline uygulanabilir olmasıdır. Çünkü amaç temel olarak tasarlanan algoritmanın çalışma mantığı anlatmaktır.
— Söz dizim (syntax) kurallarına dikkat etmek zorunda olunmadığı için algoritma özelliği göstermez.

Pseudocode ve Algoritma Farkı
Pseudocode ve Algoritma Farkı

4- Akış Şeması (Flow Chart) Nedir?

Flowchart (Akış Şeması) Nedir: Algoritmaları ve işlemleri birbirine oklarla bağlı değişik tiplerdeki kutular içerisinde gösteren yaygın bir şema tipidir. Akış şeması sözde kodun ve algoritmaların görselleştirilmesinde kullanılır. Akış şemasında şu semboller kullanılır:

Akış Şeması (Flow Chart) Nedir? Ne İşe Yarar?
Akış Şeması (Flow Chart) Nedir? Ne İşe Yarar?

Uygun semboller seçilip, yapılan işlemler adım adım adeta bir tablo oluşturacak şekilde dizilerek kodun akış şeması oluşturulur. Bu şema sayesinde kodun veya algoritmanın çalışma mantığını daha kolay şekilde anlama imkanı elde etmiş oluruz. Mesela günlük hayattan bir Pseudocode örneğinin akış şeması (flow chart) ile ifade edilişi şu şekildedir:

Akış Şeması (Flow Chart) Örnekleri
Akış Şeması (Flow Chart) Örnekleri

Bunlar küçük çocuklara programlamanın mantığı öğretilirken bu öğretilir, ki üniversitelerde kimi bölümlerde bile öğrenciler emekleme aşamasında iken konulara alıştırmak için bu öğretilir. Gelin şimdi de çeşitli pseudocode örnekleri ve akış şeması örnekleri inceleyelim:

5- Pseudocode ve Flow Chart Örnekleri

# Basit bir toplama algoritması
# Toplam için T, birinci sayı için X, ikinci sayı için Y değişkeni seçilir.
Başla
X Değerini OKU
Y Değerini OKU
T = X + Y
T Değerini YAZ
Bitir

Bu olayın mantığının anlaşılması için verilen basit bir örnekti. Ama genel mantığın anlaşıldığını düşünüyoruz. Bir de bunun akış diyagramı (flowchart) ile gösterimine bir örnek verelim:

PseudoCode (Sahte Kod) Örnekleri
PseudoCode (Sahte Kod) Örnekleri

Kesmedi mi? Gelin çıtayı döngüler ve şartlı ifadeleri aynı anda kullanarak biraz daha yükseltelim:

#Basit bir döngü algoritması ile bir sayının asal olup olmadığını kontrol eder.
Başla
Sayaç Değerini 0 Olarak BELİRLE
X Değerini OKU
2'den X'e Kadar Her Bir İ Değeri İçin #For döngüsü
   Eğer X % İ = 0 İse #Şartlı Mod Alma İşlemi
      Sayaç Değerini 1 ARTTIR
      Döngüyü KIR
Eğer Sayaç 0'a Eşit Değilse
   'Sayı Asal Değil' YAZDIR
Eğer Sayaç 0'a Eşitse
   'Sayı Asal' YAZDIR
Pseudokod Çalıştırılabilir Koda En Kolay Python Programlama Dilinde Çevrilebilir
Pseudokod Çalıştırılabilir Koda En Kolay Python Programlama Dilinde Çevrilebilir

Başarılı kodlar ve algoritmalar bir takım ortak özellikleri bünyesinde barındırırlar. Bizim ürettiğimiz kodlar ve algoritmalar bu özellikleri bünyesinde barındırmalıdır. İdeal dizaynı yaparak en yüksek verimliliği elde etme esasına dayanan bu özellikler hakkında detaylı bilgiye “Başarılı Programın Özellikleri Nelerdir?” adlı yazımızda ulaşabilirsiniz.

set i to 0  
for each i from 0 to 9  
    if i is odd  
        print i  
end for loop

#include <iostream>
using namespace std;

int main() {
  
  // Printing odd numbers from 0 to 9
  for (int i = 0; i <= 9; i++) {
    if (i % 2)
      cout << i << endl;
  }

}

for i in range(10):
  if i % 2:
    print(i)


class HelloWorld {
    public static void main( String args[] ) {
        
        // Printing odd numbers from 0 to 9
        for (int i = 0; i <= 9; i++) {
            if (i % 2 == 1)
                System.out.println( i );
        }
    }
}

MrKaptanTR

Bilgisayar mühendisiyim ve boş zamanlarımda kurucusu olduğum bu platformda yazarlık yapıyorum. Özellikle yazılım ve profesyonel içerik üreticiliği alanlarında çalışıyorum. Spor yapmaktan ve gizemli konuları araştırmaktan keyif alıyorum.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu