Ana Sayfa · Akademi · Robotik ve Kodlama · Algoritmalar · Sözde Kod Yazmak

Sözde Kod Yazmak

Bir çözümü programlama dilinden bağımsız, açık ve uygulanabilir sözde kodla yazmayı öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Sözde kod, bir çözümün adımlarını herhangi bir programlama diline bağlı kalmadan, insanın kolayca okuyabileceği düzenli bir biçimde yazma yöntemidir.

Üretilecek kanıt

Bir markete gidiyorsun ve cebinde 50 lira var. Almak istediğin bir ürünün fiyatına bakıp yeterli paran olup olmadığını yazan bir sözde kod hazırla. Şunları içermeye çalış: Bir Başla ve bir Bitir . Fiyatı ve paranı temsil eden iki değer. Bir Eğer / Değilse koşulu. Açık, tek işlemlik satırlar. Hazırladıktan sonra kendine sor: Adımlarım açık mı? Girintiler…

Kontrol tuzağı

Sözde kodu çalıştırılabilir kod sanmak Sözde kod bilgisayarda doğrudan çalışmaz. O bir plandır, program değildir. Bilgisayarda çalıştırmak için önce gerçek bir dile çevirmen gerekir. Adımları belirsiz bırakmak "Sayıları karşılaştır" cümlesi belirsizdir. Hangi sayılar? Nasıl karşılaştırılır? Sonuç nereye yazılır? İyi…

Sonraki bağlantı

Akış Şemaları: Aynı çözüm mantığını kutular, oklar ve karar sembolleriyle görselleştirmeyi öğreneceğiz.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre25–35 dk
Ön koşulGirdi, İşlem ve Çıktı
İçerikStandart ders · 1.227 kelime
Son güncelleme

Bir cümlelik özet

Sözde kod, bir çözümün adımlarını herhangi bir programlama diline bağlı kalmadan, insanın kolayca okuyabileceği düzenli bir biçimde yazma yöntemidir.

Neden önemli?

Bir problemi çözerken iki iş aynı anda yapılır: önce ne yapacağımıza karar veririz, sonra bunu bir dile çeviririz. İkisini birden düşünmek zorlaştırıcıdır.

Sözde kod bu iki işi ayırır. Önce çözümün mantığını sade cümlelerle yazarız. Dilin noktalı virgülü, parantezi ya da kuralı bizi durdurmaz. Mantık netleştikten sonra Python, Scratch veya başka bir dile çevirmek çok daha kolay olur.

Ben de bir robot görevini kodlamadan önce çoğu zaman kâğıda sözde kod yazıyorum. Adımları önce sade cümlelerle görünce, hangi adımın eksik olduğunu daha rahat fark ediyorum.

Sözde kod nedir?

Sözde kod, algoritmayı günlük dile yakın ama düzenli bir biçimde yazmaktır. İngilizcesi pseudocodetur. "Sözde" kelimesi burada "gerçek koda benzeyen ama gerçek kod olmayan" anlamındadır.

Amacı bilgisayarın doğrudan çalıştırması değildir. Amacı, çözüm mantığını insanın kolayca görmesidir.

Dilden bağımsızlık

Sözde kodun en güzel yanı bir dile bağlı olmamasıdır. Aynı sözde kod hem Python'a hem Scratch'e hem de başka bir dile çevrilebilir.

Örneğin "iki sayıyı topla ve sonucu yaz" adımı her dilde geçerlidir. Sadece yazım biçimi değişir, fikir aynı kalır.

Yazım alışkanlıkları

Sözde kod için katı bir kural yoktur; ancak iyi alışkanlıklar okumayı kolaylaştırır:

Girinti ile yapı

Girinti, hangi adımın hangi adıma bağlı olduğunu gösterir. Bir koşulun ya da tekrarın içindeki satırları biraz sağa kaydırırız. Böylece "bu satır yalnız o durumda çalışır" fikri gözle görülür.

Eğer hava yağmurluysa
  şemsiyeyi al
  botları giy
Bitir

Buradaki iki girintili satır, yalnız hava yağmurluysa çalışır. Girinti olmasaydı bunu anlamak zorlaşırdı.

Temel anahtar sözcükler

Sözde kodda birkaç anahtar sözcüğü hep aynı anlamda kullanırız. Böylece herkes aynı biçimi okuyabilir.

Başla ve Bitir

Her sözde kod bir Başla ile açılır, bir Bitir ile kapanır. Bu iki sözcük, çözümün nerede başladığını ve nerede bittiğini gösterir.

Eğer ve Değilse

Eğer, bir koşul doğruysa çalışacak adımları belirtir. Değilse, koşul yanlışsa çalışacak adımları belirtir.

Eğer not 50'den büyük veya eşitse
  "Geçti" yaz
Değilse
  "Kaldı" yaz

tekrarla

tekrarla, aynı adımları birden çok kez çalıştırmak için kullanılır.

5 kez tekrarla
  "Merhaba" yaz

Örnek 1: En büyük sayıyı bulma

Amaç: Üç sayı arasından en büyüğünü bulmak. Günlük hayatta bunu, üç arkadaşın boyunu karşılaştırıp en uzun olanı seçerken de yaparız.

Sözde kod

Başla
a, b, c sayılarını al
en_buyuk = a
Eğer b > en_buyuk ise
  en_buyuk = b
Eğer c > en_buyuk ise
  en_buyuk = c
en_buyuk değerini yaz
Bitir

Önce ilk sayıyı en büyük kabul ederiz. Sonra diğerlerini tek tek karşılaştırıp gerekirse en büyüğü güncelleriz.

Python karşılığı

a = int(input("1. sayı: "))
b = int(input("2. sayı: "))
c = int(input("3. sayı: "))

en_buyuk = a
if b > en_buyuk:
    en_buyuk = b
if c > en_buyuk:
    en_buyuk = c

print("En büyük sayı:", en_buyuk)

Sözde kodun mantığı ile Python'un mantığı birebir aynıdır. Yalnız yazım biçimi değişmiştir.

Örnek 2: Bir listedeki öğeleri sayma

Amaç: Bir sınıftaki öğrenciler arasında gözlüklü olanları saymak. Bunu günlük hayatta parmakla sayarken de yaparız: sıfırdan başlar, her gözlüklüde bir artırırız.

Sözde kod

Başla
sayac = 0
Listedeki her öğrenci için tekrarla
  Eğer öğrenci gözlüklüyse
    sayac = sayac + 1
sayac değerini yaz
Bitir

Burada bir sayaç kullanıyoruz. Sayaç, sıfırdan başlar ve koşul her sağlandığında bir artar.

Python karşılığı

ogrenciler = ["gözlüklü", "gözlüksüz", "gözlüklü", "gözlüksüz"]

sayac = 0
for ogrenci in ogrenciler:
    if ogrenci == "gözlüklü":
        sayac = sayac + 1

print("Gözlüklü öğrenci sayısı:", sayac)

Bu kod çalıştırıldığında sonuç 2 olur.

Mini uygulama

Bir markete gidiyorsun ve cebinde 50 lira var. Almak istediğin bir ürünün fiyatına bakıp yeterli paran olup olmadığını yazan bir sözde kod hazırla.

Şunları içermeye çalış:

Hazırladıktan sonra kendine sor: Adımlarım açık mı? Girintiler doğru mu? Bir kişi bunu okuyup uygulayabilir mi?

Uygulama laboratuvarı: Sözde Kod Yazmak

Sözde Kod Yazmak konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Sözde kod nedir? ile Yazım alışkanlıkları arasındaki ilişkiyi kullanarak açık bir algoritma, sözde kod ve test tablosu hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.

Görev senaryosu

Şu senaryoyu ele al: spor antrenmanındaki tekrarları sayan bir karar akışı. Dersin ana hedefi “Bir çözümü programlama dilinden bağımsız, açık ve uygulanabilir sözde kodla yazmayı öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.

  1. Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
  2. En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
  3. Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
  4. Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
  5. Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.

Başarı ölçütleri

“Sözde Kod Yazmak” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın spor antrenmanındaki tekrarları sayan bir karar akışı senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Sözde kod nedir? ve Yazım alışkanlıkları ilişkisini daha küçük adımlara bölerek düzelt.

Sık yapılan hatalar

Sözde kodu çalıştırılabilir kod sanmak

Sözde kod bilgisayarda doğrudan çalışmaz. O bir plandır, program değildir. Bilgisayarda çalıştırmak için önce gerçek bir dile çevirmen gerekir.

Adımları belirsiz bırakmak

"Sayıları karşılaştır" cümlesi belirsizdir. Hangi sayılar? Nasıl karşılaştırılır? Sonuç nereye yazılır? İyi sözde kod her adımı tek ve açık tutar.

Başlangıç ve bitiş koymamak

Başla ve Bitir olmadan, çözümün nerede başlayıp bittiği belirsiz kalır. Bu iki sözcük küçük görünür ama yapıyı netleştirir.

Sözde kodu tasarım incelemesinde kullanmak

Sözde kodun önemli bir yararı, çözüm daha programa çevrilmeden önce başkası tarafından incelenebilmesidir. İnceleyen kişi her koşulun iki yolunu, döngünün bitişini, girdilerin doğrulanmasını ve beklenmeyen durumda verilecek güvenli tepkiyi işaretleyebilir. Böylece yazım kurallarıyla uğraşmadan mantık hataları bulunur.

İyi bir incelemede her satıra “Bu adım hangi veriyi kullanıyor?”, “Bu kararın sınır değeri nedir?” ve “Bu işlem başarısız olursa ne olur?” soruları sorulur. Cevabı olmayan satır kodlanmadan önce açıklığa kavuşturulur.

Ders özeti

Kontrol soruları

  1. Sözde kodun temel amacı nedir?
  2. "Sözde kod dilden bağımsızdır" ne demektir?
  3. En büyük sayıyı bulma örneğinde ilk adımda en_buyuk değişkenine neden ilk sayı atanır?
  4. Girinti sözde kodda ne işe yarar?
  5. Sözde kod bilgisayarda doğrudan çalışır mı? Neden?

Cevaplar

  1. Çözüm mantığını, bir programlama dilinin kurallarıyla uğraşmadan, insanın kolayca okuyabileceği açık adımlarla yazmaktır.
  2. Aynı sözde kodun Python, Scratch veya başka herhangi bir dile çevrilebilmesi; fikrin aynı kalıp yalnız yazım biçiminin değişmesi demektir.
  3. Karşılaştırmaya bir başlangıç değeriyle başlamak gerekir. İlk sayıyı geçici olarak en büyük kabul ederiz, sonra diğerleriyle karşılaştırıp gerekirse güncelleriz.
  4. Bir adımın başka bir adıma (bir koşula veya tekrara) bağlı olduğunu gösterir; yapının gözle görülmesini sağlar.
  5. Hayır. Sözde kod bir plandır, program değildir. Çalıştırmak için önce Python gibi gerçek bir dile çevrilmesi gerekir.

Kaynak ve doğrulama notu

“Sözde Kod Yazmak” dersi için doğrulama odağı Sözde kod nedir? ile Yazım alışkanlıkları arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Bu dersteki algoritmalar, örnek girdiler elle izlenerek ve beklenen çıktılarla karşılaştırılarak doğrulanmıştır. Sözde kod, belirli bir programlama diline bağlı kalmadan düşünme sırasını görünür kılmak için kullanılır.

Sonraki ders

Akış Şemaları: Aynı çözüm mantığını kutular, oklar ve karar sembolleriyle görselleştirmeyi öğreneceğiz.

Quiz’i BaşlatAlgoritmalar bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.