Algoritma: Sözde Kod
Sözde kod (pseudocode) nedir, nasıl yazılır? Akış şemasını koda çeviren ara dil: atama, koşul, döngü, karşılaştırma ve mantık operatörleri, kısa tarihçesiyle.

Seri · Algoritmalar
- 1. Algoritma Nedir? — Yazılıma Sıfırdan Başlangıç
- 2. Algoritma: Akış Şemaları
- 3. Algoritma: Sözde Kod
- 4. Algoritma: Değişkenler
İlk yazıda algoritmayı kelimelerle anlattık, ikinci yazıda onu kutular ve oklarla çizdik. Şimdi son bir adım kaldı: aynı mantığı, gerçek koda neredeyse birebir çevrilebilecek yazılı bir biçime dökmek. Bu biçimin adı sözde kod.
Akış şeması bir fikri görmek için harikadır; ama uzun bir algoritmayı kutu kutu çizmek yorucu olur. İşte sözde kod tam buraya oturur: şemanın netliğini korur, ama yazması ve sonradan koda çevirmesi çok daha hızlıdır.
Sözde kod nedir?
İsmi kulağa teknik gelse de fikir çok yalın:
Sözde kod (pseudocode), bir algoritmayı herhangi bir programlama dilinin katı kurallarına takılmadan; insan diline yakın ama yapısı belli bir biçimde yazmaktır. “Sözde” (yani “-mış gibi”) çünkü koda benzer ama çalıştırılamaz; amacı insanın okuması ve fikri netleştirmesidir.
Bir kıyas yapalım. Aynı “1’den 5’e kadar say” işini üç biçimde ifade edebiliriz:
- Düz cümle: “1’den başla, 5’i geçene kadar her seferinde bir artırıp yaz.”
- Akış şeması: kutular, bir karar ve geriye dönen bir ok.
- Sözde kod: aşağıdaki gibi, satır satır ve girintili.
sayı ← 1ZAMAN sayı ≤ 5 DOĞRU İKEN YAZ sayı sayı ← sayı + 1DÖNGÜ SONUÜçü de aynı algoritmadır. Sözde kod, “düz cümle” kadar okunur ama “gerçek kod” kadar yapılıdır — ikisinin tam ortasında durur.
Önce kısa bir tarih
Madem bu seri algoritmayı en baştan anlatıyor, kelimelerin nereden geldiğini de bilmekte fayda var. Çünkü bu hikâye, “sözde kod” fikrinin neden var olduğunu da açıklıyor.
Peki “sözde kod” nereden çıktı? Algoritmalar yüzyıllarca düz dille (tarif gibi) yazıldı. Ama 20. yüzyılın ortasında bilgisayarlar gelince bir sorun belirdi: düz dil fazla bulanık, gerçek kod ise fazla katı ve makineye özeldi. Arada, insanın kolayca okuyup üzerinde düşünebileceği bir biçime ihtiyaç vardı.
1950–60’larda yapısal programlama akımı ve ALGOL dili (adı zaten ALGOrithmic Language’dan gelir) algoritmaları temiz, bloklar hâlinde ifade etmenin yolunu açtı. Donald Knuth’un meşhur The Art of Computer Programming serisi de algoritmaları İngilizceye yakın, adım adım bir üslupla anlattı. İşte bugün kullandığımız sözde kod, bu geleneğin sadeleşmiş torunudur.
Sözde kod ne işe yarar?
Madem koda benziyor, neden doğrudan kod yazmıyoruz? Çünkü sözde kod birkaç gerçek sorunu çözer:
- Mantığa odaklanırsın. Noktalı virgül, parantez, değişken tipi gibi dil ayrıntıları seni oyalamaz; sadece “ne yapılacağı” ile uğraşırsın.
- Dilden bağımsızdır. Aynı sözde kodu, hangi programlama dilini kullanırsa kullansın herkes okuyup uygulayabilir. Ekip içi ortak dildir.
- Hatayı erken görürsün. Bir adımı atladığını ya da bir koşulu yanlış kurduğunu, daha koda dökmeden, kâğıt üstünde fark edersin.
- Koda çevirmesi kolaydır. İyi yazılmış sözde kod, gerçek koda neredeyse satır satır karşılık gelir.
Sözde kodun “dil bilgisi”
Burada bilmen gereken en önemli şey şu:
1) Atama — bir değeri bir kutuya koymak
Bir değişkene değer vermektir; genelde sol ok (←) kullanılır:
yaş ← 18isim ← "Ada"toplam ← a + b2) Girdi / Çıktı — veri almak ve sonuç vermek
OKU (girdi) ve YAZ (çıktı):
OKU kullanıcıAdıYAZ "Merhaba, " + kullanıcıAdı3) Koşul — bir karara göre dallanmak
EĞER … İSE, gerekirse DEĞİLSE, ve bloğu kapatan BİTİREĞER:
EĞER puan ≥ 50 İSE YAZ "Geçti"DEĞİLSE YAZ "Kaldı"BİTİREĞER4) Döngü — tekrar etmek
Bir koşul doğru olduğu sürece dönen blok: ZAMAN … DOĞRU İKEN … DÖNGÜ SONU:
para ← 100ZAMAN para > 0 DOĞRU İKEN para ← para - 10DÖNGÜ SONU5) Karşılaştırma operatörleri
İki değeri kıyaslar; sonuç “doğru” ya da “yanlış” olur. Koşulların içinde bunları kullanırsın:
| Sözde kod | Okunuşu | Örnek |
|---|---|---|
= | eşit mi | yaş = 18 |
≠ | eşit değil mi | cevap ≠ "evet" |
> | büyük mü | puan > 90 |
< | küçük mü | stok < 5 |
≥ | büyük veya eşit mi | yaş ≥ 18 |
≤ | küçük veya eşit mi | sayı ≤ 10 |
6) Mantıksal operatörler
Birden fazla koşulu birleştirmeye ya da tersine çevirmeye yararlar:
| Sözde kod | Anlamı | Örnek |
|---|---|---|
VE | iki koşul da doğruysa doğru | yaş ≥ 18 VE vatandaş |
VEYA | en az bir koşul doğruysa doğru | cumartesi VEYA pazar |
DEĞİL | koşulu tersine çevirir | DEĞİL girişYapıldı |
Örneğin bir oy kullanma kuralını tek satırda kurabiliriz:
EĞER yaş ≥ 18 VE vatandaş İSE YAZ "Oy kullanabilir"BİTİREĞER7) Girinti — neyin neyin içinde olduğunu gösterir
Bir EĞERin ya da döngünün içindeki satırları içeri kaydırırsın. Bu, akış şemasındaki “kutunun içindeki yol”un yazıdaki karşılığıdır. BİTİREĞER ve DÖNGÜ SONU gibi kapanışlar da bloğun nerede bittiğini açıkça gösterir.
Akış şemasını sözde koda çevirmek
İşin güzel yanı: ikinci yazıdaki şemaları neredeyse mekanik olarak sözde koda çevirebilirsin. Aynı üç örneği hatırlayalım.
Çift mi, tek mi? (karar)
Şemadaki karar baklavası, sözde kodda bir EĞER olur:
OKU sayıEĞER sayı MOD 2 = 0 İSE YAZ "Çift"DEĞİLSE YAZ "Tek"BİTİREĞER
MOD, bölmeden kalanı verir (5 MOD 2 = 1). Kalan 0 ise sayı tam bölünüyor, yani çift.
1’den 5’e say (döngü)
Şemadaki geriye dönen ok, sözde kodda bir döngü bloğuna dönüşür:
sayı ← 1ZAMAN sayı ≤ 5 DOĞRU İKEN YAZ sayı sayı ← sayı + 1DÖNGÜ SONU3 denemeli şifre (iç içe yapı)
En karmaşık örnek bile sade görünür. Bir döngü, içinde bir karar, bir de sayaç:
deneme ← 0ZAMAN deneme < 3 DOĞRU İKEN OKU şifre EĞER şifre doğru İSE YAZ "İçeri alındı" DUR DEĞİLSE deneme ← deneme + 1 BİTİREĞERDÖNGÜ SONUEĞER deneme = 3 İSE YAZ "Hesap kilitlendi"BİTİREĞERGördüğün gibi şemadaki her şekil, sözde kodda bir satıra ya da bloğa karşılık geliyor. Akış şeması ile sözde kod aynı algoritmanın iki yüzü.
Hepsini birleştirelim: tam bir örnek
Şimdi öğrendiğimiz her şeyi tek bir algoritmada toplayalım. Problem: 1’den 10’a kadar olan çift sayıların toplamını bul. Burada atama, döngü, koşul, karşılaştırma ve MOD hep birlikte çalışıyor:
BAŞLA sayı ← 0 toplam ← 0 ZAMAN sayı ≤ 10 DOĞRU İKEN EĞER sayı MOD 2 = 0 İSE toplam ← toplam + sayı BİTİREĞER sayı ← sayı + 1 DÖNGÜ SONU YAZ toplamBİTİRSatır satır oku: sayı 0’dan 10’a kadar ilerliyor; her turda “çift mi?” diye soruluyor (sayı MOD 2 = 0), çiftse toplama ekleniyor. Döngü bitince sonuç yazdırılıyor. İşte karmaşık görünen bir iş, beş basit yapı taşının iç içe geçmesiyle çözüldü. Bütün seri boyunca anlattığımız şey buydu: problemi adımlara böl, adımları net kelimelerle yaz.
Sık yapılan hatalar
Kendin dene
Okuyup geçme — bir kâğıt ve kalem al. Aşağıdaki problemlerin sözde kodunu yaz (akış şemasını da çizebilirsin, ikisi de aynı kapıya çıkar).
Egzersiz 1 — Selamlama (kolay)
Kullanıcıdan adını al, ekrana “Merhaba, <ad>!” yaz.
Egzersiz 2 — Geçer not (orta)
Bir öğrencinin notunu al. 85’in üstündeyse “Geçti (pekiyi)”, 50 ve üstündeyse “Geçti”, altındaysa “Kaldı” yaz.
Egzersiz 3 — Oy hakkı (mantık operatörü)
Bir kişi 18 yaşından büyük VE vatandaşsa “Oy kullanabilir”, değilse “Oy kullanamaz” yaz.
Yazdığın sözde kodu “robot arkadaşına” yüksek sesle oku: Her adım net mi? Girinti ve blok kapanışları doğru mu? Döngü bir yerde bitiyor mu? Bunu yapabiliyorsan, artık koda çevirmeye hazırsın demektir.
Özet
İlgili yazılar
Sıkça sorulan sorular
Sözde kod (pseudocode) nedir?
Sözde kod, bir algoritmayı herhangi bir programlama dilinin katı kurallarına takılmadan, insan diline yakın ama yapısı belli bir biçimde yazmaktır. Akış şeması ile gerçek kod arasındaki ara duraktır: fikri netleştirir ve sonra neredeyse birebir gerçek koda çevrilir.
Sözde kodun belirli bir standardı veya sözdizimi var mı?
Hayır. Sözde kodun resmî, herkesçe kabul edilmiş tek bir standardı yoktur. Önemli olan tutarlı ve okunabilir olmasıdır: atama, koşul ve döngüleri açıkça gösteren birkaç kuralı kendine seçip baştan sona aynı şekilde kullanırsın.
Sözde kodda hangi mantık ve karşılaştırma kelimeleri kullanılır?
Karşılaştırma için = (eşit), ≠ (eşit değil), > (büyük), < (küçük), ≥ (büyük veya eşit) ve ≤ (küçük veya eşit) kullanılır. Koşulları birleştirmek için ise mantıksal operatörler vardır: VE (iki koşul da doğruysa), VEYA (en az biri doğruysa) ve DEĞİL (koşulu tersine çevirir).
"Algoritma" kelimesi nereden gelir?
Kelime, 9. yüzyılda Bağdat’daki Bilgelik Evi’nde çalışan Persli matematikçi Muhammed bin Musa el-Harezmî’nin (al-Khwārizmī) adının Latinceleşmiş hâli "Algoritmi"den gelir. Aynı âlimin "el-cebir" (al-jabr) eseri de "cebir/algebra" kelimesine kaynaklık eder.
Sözde kod neden kullanılır?
Çünkü bir dilin söz diziminden (noktalı virgül, parantez, tip…) önce çözümün mantığına odaklanmanı sağlar. Fikri hızlıca kurar, ekip arkadaşlarınla dil fark etmeksizin paylaşır ve hataları daha koda dökmeden görürsün.