🧩TemellerBaşlangıç

Algoritma Nedir? Çocuklar İçin Örnekler ve Etkinlikler

⏱ 10 dk okuma · Yayın: 9 Ekim 2026 · Hazırlayan: Kuzey Kutbu Editörlüğü · Tüm kod örnekleri çalıştırılarak test edildi

Algoritmayı günlük hayattan örneklerle öğren: akış şeması çiz, bilgisayarsız etkinliklerle dene, sonra Python ve JavaScript koduna dök. Çocuklar için.

Sabah dişlerini fırçalarken, çay demlerken ya da bir oyunun kurallarını arkadaşına anlatırken aslında bir algoritma kullanıyorsun. Algoritma, bir işi yapmak için izlenen sıralı ve net adımlar listesidir. Bilgisayar programları da algoritmaların bir programlama diliyle yazılmış hâlidir.

Bu rehberin sonunda şunları yapabileceksin:

  • Günlük bir işi adım adım, eksiksiz bir algoritma olarak yazmak,
  • Basit bir akış şeması çizmek ve şekillerin ne anlama geldiğini bilmek,
  • Bilgisayarsız (unplugged) etkinliklerle algoritma mantığını oyun gibi denemek,
  • Yazdığın algoritmayı Python ve JavaScript koduna dökmek.

Kodları denemek için hiçbir şey kurman gerekmiyor: tarayıcıdaki kod editörünü açman yeterli.

1. Algoritma nedir? Günlük hayattan örnekler

Bir yemek tarifi düşün. Malzemeler yazılıdır, sonra "önce suyu kaynat, sonra makarnayı at, 10 dakika pişir, süz" gibi adımlar gelir. Bu sıralamayı bozarsan (önce süz, sonra kaynat) sonuç çalışmaz. İşte algoritma budur: doğru sırayla uygulanınca bir sonuca ulaştıran adımlar.

Günlük hayattan birkaç algoritma:

  • Diş fırçalamak: fırçayı al, ıslat, macun sür, fırçala, çalkala, fırçayı yıka.
  • Karşıdan karşıya geçmek: kaldırımda dur, sola bak, sağa bak, tekrar sola bak, yol boşsa geç, değilse bekle.
  • Okul çantası hazırlamak: ders programına bak, her ders için kitap ve defteri çantaya koy, kalem kutusunu kontrol et.

Dikkat edersen "yol boşsa geç, değilse bekle" adımı bir karar içeriyor. "Her ders için" ifadesi de bir tekrar anlamına geliyor. Programlamada bunlara koşul ve döngü diyoruz. Bu iki fikri ayrıntılı öğrenmek istersen Değişken, Koşul, Döngü rehberine göz at.

İyi bir algoritmanın 4 özelliği

ÖzellikAnlamıÖrnek
NetHer adım tek bir şekilde anlaşılır."Biraz bekle" yerine "2 dakika bekle".
SıralıAdımların sırası bellidir.Önce macun sür, sonra fırçala.
SonluBir noktada biter."Bitti" adımına mutlaka ulaşılır.
Girdi ve çıktıBir şeyle başlar, bir sonuç üretir.Girdi: hava durumu. Çıktı: şemsiye al ya da alma.

2. Bilgisayar neden "aptal" bir yardımcıdır?

İnsanlar eksik bir talimatı kafalarında tamamlar. "Çayı koy" dediğinde bir arkadaşın bardağı alır, çaydanlığı bulur, gerekirse su ekler. Bilgisayar ise yalnızca yazdığını yapar. "Bardağı al" demediysen bardak yokmuş gibi davranır ya da hata verir.

Bu yüzden algoritma yazarken kendine şu soruyu sor: "Bu adımı hiç bilmeyen biri okusa, başka türlü anlayabilir mi?" Cevap evetse adımı daha da küçük parçalara böl.

3. Akış şeması: Algoritmayı çizmek

Akış şeması, algoritmanın resmidir. Adımları kutularla, aralarındaki geçişleri oklarla gösterir. Her şeklin belirli bir anlamı vardır:

ŞekilAnlamıÖrnek yazı
OvalBaşla / BitirBAŞLA
ParalelkenarGirdi veya çıktıHava durumunu öğren
Dikdörtgenİşlem (bir şey yap)Ayakkabını giy
Eşkenar dörtgen (baklava)Karar (evet/hayır sorusu)Yağmur yağıyor mu?
OkSonraki adıma geçiş→

"Şemsiye alayım mı?" algoritmasının akış şeması yazıyla şöyle görünür:

   ( BAŞLA )
       |
 /Hava durumunu öğren/
       |
  < Yağmur var mı? >
   |evet        |hayır
[Şemsiye al]    |
   |            |
   +-----+------+
         |
    [Okula git]
         |
    ( BİTİR )

Kâğıda çizerken baklava şeklinden her zaman iki ok çıkar: biri "evet", biri "hayır". Bir okun boşta kaldığı şema, cevabı belirsiz bir soru demektir.

İpucu: Akış şemasını kurşun kalemle çiz. İlk denemede genellikle bir adım unutulur; silip eklemek kolay olsun.

4. Bilgisayarsız (unplugged) etkinlikler

Algoritma düşüncesini öğrenmek için ekrana ihtiyacın yok. Aşağıdaki etkinlikler evde ya da sınıfta birkaç kâğıt ve kalemle yapılabilir.

Etkinlik 1: Robot ebeveyn (sandviç algoritması)

Çocuk talimat verir, yetişkin "robot" olur ve talimatları kelimesi kelimesine uygular. "Ekmeğe peynir koy" denirse robot peynir paketini kapalı hâliyle ekmeğin üstüne koyar. Bu komik sonuçlar, adımların ne kadar net olması gerektiğini çok iyi gösterir. Sonunda çocuk talimatlarını kâğıda yazar ve numaralandırır: bu artık bir algoritmadır.

Etkinlik 2: Kareli kâğıtta robot

Kareli bir kâğıda 5×5 bir ızgara çiz. Bir köşeye robotu, başka bir kareye hazineyi koy. Yalnızca üç komut kullanılabilir: İLERİ (bir kare), SAĞ (yerinde sağa dön), SOL (yerinde sola dön). Bir kişi komut listesini yazar, diğeri parmağıyla uygular. Hazineye ulaşıldı mı? Daha kısa bir yol var mı?

Etkinlik 3: En büyük kartı bul

Numaralı kartları ters çevirip sıraya diz. Kural: Aynı anda en fazla bir kartı elinde tutabilirsin. İlk kartı al. Sonra sıradaki kartı çevir; elindekinden büyükse onu al, eskisini bırak. Sona geldiğinde elindeki kart en büyüktür. Bu, bilgisayarların da kullandığı gerçek bir algoritmadır.

Etkinlik 4: Sayı tutma oyunu

Biri 1 ile 100 arasında bir sayı tutar. Diğeri tahmin eder, cevap yalnızca "büyük", "küçük" ya da "doğru" olabilir. Her seferinde kalan aralığın tam ortasını söylersen sayıyı en fazla 7 tahminde bulursun, çünkü her tahmin ihtimalleri yarıya indirir. Bu stratejinin adı ikili aramadır.

5. Algoritmayı koda dökmek

Şimdi bilgisayarsız yaptığın etkinlikleri koda çevirelim. Aşağıdaki kodların hepsini Editör'e yapıştırıp çalıştırabilirsin.

Sıralı adımlar: Diş fırçalama

Adımları bir listeye koyup sırayla yazdırıyoruz. for döngüsü listedeki her adımı tek tek ele alır.

# Algoritma 1: Diş fırçalama adımları
adimlar = [
    "Diş fırçasını al",
    "Fırçayı ıslat",
    "Fırçaya biraz macun sür",
    "Dişlerini 2 dakika fırçala",
    "Ağzını çalkala",
    "Fırçayı yıka ve yerine koy",
]

sira = 1
for adim in adimlar:
    print(sira, "-", adim)
    sira = sira + 1
print("Bitti!")

Çıktının ilk satırı 1 - Diş fırçasını al, son satırı Bitti! olur.

Karar: Şemsiye alayım mı?

Akış şemasındaki baklava şekli, kodda if / else olur.

# Algoritma 2: Şemsiye alayım mı? (karar)
hava = "yagmurlu"

if hava == "yagmurlu":
    print("Şemsiyeni al.")
else:
    print("Şemsiyeye gerek yok.")
print("Okula git.")

Çıktı: Şemsiyeni al. ve Okula git. Şimdi hava = "gunesli" yapıp tekrar çalıştır; diğer yolun çalıştığını göreceksin. "Okula git." satırı if'in dışında olduğu için her iki durumda da çalışır, tıpkı şemadaki birleşen oklar gibi.

Tekrar + karar: En büyük kartı bul

Etkinlik 3'ün birebir kod hâli. Yorum satırları, kart oyunundaki hareketleri anlatıyor.

# Algoritma 3: Kart destesindeki en büyük sayıyı bul
kartlar = [7, 3, 12, 5, 9]

en_buyuk = kartlar[0]          # ilk kartı elinde tut
for kart in kartlar:           # sıradaki her karta bak
    if kart > en_buyuk:        # elindekinden büyük mü?
        en_buyuk = kart        # evetse onu eline al
print("En büyük kart:", en_buyuk)

Çıktı: En büyük kart: 12. Aynı algoritma JavaScript'te de aynı adımlardan oluşur, yalnızca yazım kuralları değişir:

// Algoritma 3'ün JavaScript hâli
const kartlar = [7, 3, 12, 5, 9];

let enBuyuk = kartlar[0];
for (const kart of kartlar) {
  if (kart > enBuyuk) {
    enBuyuk = kart;
  }
}
console.log("En büyük kart:", enBuyuk);

Bu, önemli bir fikri gösteriyor: Algoritma dilden bağımsızdır. Önce adımları düşünürsün, sonra hangi dili kullanacağına karar verirsin. Diller arası farkları merak ediyorsan 40 dil sayfasına bakabilirsin.

Kareli kâğıttaki robot

Etkinlik 2'deki robotu kodla yürütelim. Robot (0, 0) noktasında, kuzeye bakarak başlıyor. Her komuttan sonra konumunu yazdırıyoruz.

# Algoritma 4: Robot ızgarada yürüyor
x = 0
y = 0
yon = "kuzey"
komutlar = ["ileri", "ileri", "sag", "ileri", "sol", "ileri"]

donus_sag = {"kuzey": "dogu", "dogu": "guney", "guney": "bati", "bati": "kuzey"}
donus_sol = {"kuzey": "bati", "bati": "guney", "guney": "dogu", "dogu": "kuzey"}

for komut in komutlar:
    if komut == "ileri":
        if yon == "kuzey":
            y = y + 1
        elif yon == "guney":
            y = y - 1
        elif yon == "dogu":
            x = x + 1
        else:
            x = x - 1
    elif komut == "sag":
        yon = donus_sag[yon]
    elif komut == "sol":
        yon = donus_sol[yon]
    print(komut, "->", "konum:", (x, y), "yön:", yon)

Son satırda ileri -> konum: (1, 3) yön: kuzey yazar. Kâğıt üzerinde parmağınla aynı komutları uygula ve sonucun eşleştiğini kontrol et. Kodu ve kâğıdı karşılaştırmak, hata bulmanın en iyi yollarından biridir.

İkili arama: Bilgisayar senin sayını bulsun

Etkinlik 4'ü tersine çeviriyoruz: Sen bir sayı tutuyorsun, bilgisayar tahmin ediyor.

# Algoritma 5: Bilgisayar senin tuttuğun sayıyı bulur (1-100)
alt = 1
ust = 100
deneme = 0

while True:
    tahmin = (alt + ust) // 2
    deneme = deneme + 1
    cevap = input("Sayın " + str(tahmin) + " mi? (b: büyük, k: küçük, d: doğru) ")
    if cevap == "d":
        print(deneme, "denemede buldum!")
        break
    elif cevap == "b":
        alt = tahmin + 1
    elif cevap == "k":
        ust = tahmin - 1

37 sayısını tuttuğunu düşün: bilgisayar 50 der (sen "k"), 25 der (sen "b"), 37 der (sen "d") ve 3 denemede buldum! yazar. 1 ile 100 arasındaki her sayı en fazla 7 denemede bulunur. Tersini, yani senin tahmin ettiğin oyunu yazmak için Python sayı tahmin oyunu rehberine geç.

Not: Kullanıcı yanlış cevap verirse (örneğin aslında küçükken "b" derse) aralık bozulur ve bilgisayar sayıyı bulamaz. Algoritmalar doğru girdiye güvenir; buna "çöp girer, çöp çıkar" denir.

6. Sık yapılan hatalar

  • Adım atlamak: "Fırçala" yazıp "macun sür"ü unutmak. Çözüm: Algoritmayı bir başkasına kelimesi kelimesine uygulat.
  • Belirsiz ifade: "Biraz", "bir süre", "uygun bir yere" gibi sözcükler. Bilgisayar için sayı ya da açık bir koşul gerekir.
  • Bitmeyen tekrar: "Yol boşalana kadar bekle" der ama yolu tekrar kontrol etmeyi yazmazsan bekleme hiç bitmez. Kodda bu, sonsuz döngü olur. Her döngüde bir şeyin değiştiğinden emin ol.
  • Kararın tek kolunu düşünmek: "Yağmur varsa şemsiye al" dedin; yağmur yoksa ne olacak? Her sorunun evet ve hayır yolunu yaz.
  • Doğrudan koda atlamak: Ne yapacağını bilmeden kod yazmaya başlamak. Önce kâğıda adımları ya da akış şemasını çizmek, toplamda zaman kazandırır.
  • İlk değeri yanlış seçmek: En büyük kart algoritmasında en_buyuk = 0 ile başlarsan, tüm kartlar eksi sayı olduğunda yanlış sonuç alırsın. İlk kartla başlamak daha güvenlidir.

Kod yazarken karşılaşacağın hata mesajlarını okumayı öğrenmek için yeni başlayanların en sık kod hataları rehberine bakabilirsin.

7. Kendin dene

  1. (Kolay) Sabah kahvaltı hazırlama algoritmanı en az 8 adım olarak yaz. Sonra bir aile üyesine kelimesi kelimesine uygulat ve eksik adımları ekle.
  2. (Kolay) "Dışarı çıkarken mont giyeyim mi?" sorusu için akış şeması çiz. Girdi olarak sıcaklığı kullan: 15 derecenin altındaysa mont giy.
  3. (Orta) Şemsiye kodunu değiştir: hava değişkeni yerine sicaklik değişkeni kullanarak 2. görevdeki mont algoritmasını Python'da yaz.
  4. (Orta) En büyük kart algoritmasını en küçük kartı bulacak şekilde değiştir. Hangi tek karakteri değiştirmen yeterli?
  5. (Zor) Kartları küçükten büyüğe sıralamak için bir algoritma düşün. İpucu: Her turda kalan kartların en küçüğünü bul, yeni bir listeye ekle ve eski listeden çıkar. Önce gerçek kartlarla dene, sonra Python'da remove ve append kullanarak yaz.
Zorlanırsan önce blok kodlama ile dene. Bloklar aynı algoritmayı yazım hatası derdi olmadan kurmanı sağlar; sonra metin koda geçmek kolaylaşır.

8. Ebeveyn ve öğretmenler için

Ebeveyn/öğretmen notu: Algoritma düşüncesini öğretmenin en etkili yolu çoğu zaman bilgisayarsız başlamaktır. "Robot ebeveyn" etkinliğinde talimatları gerçekten kelimesi kelimesine uygulayın; çocuğun talimatını düzeltip yeniden denemesi, kodlamadaki "hata ayıklama" döngüsünün ta kendisidir.

Sınıfta sık görülen bir durum, çocukların ilk algoritmalarında 3–4 adım yazıp gerisini "zaten belli" diye atlamasıdır. Bunu düzeltmek yerine soru sorun: "Robot bu adımda ne yapacağını nereden bilecek?" 10 yaş altı için akış şemaları yerine numaralı listeler ve kareli kâğıt etkinlikleri daha uygundur; koda geçişte blok kodlama iyi bir köprüdür. Yaşa göre genel bir yol haritası için kodlamaya nereden başlanır rehberine bakabilirsiniz.

9. Sık sorulan sorular

Algoritma ile program arasındaki fark nedir?

Algoritma, bir işin nasıl yapılacağını anlatan adımlar dizisidir; kâğıda Türkçe de yazılabilir. Program ise bu adımların bilgisayarın çalıştırabileceği bir dilde, örneğin Python ya da JavaScript ile yazılmış hâlidir.

Algoritma öğrenmek için matematik bilmek gerekir mi?

Başlangıç için hayır. Diş fırçalama, yol tarifi ya da oyun kuralları gibi günlük algoritmalar sadece sıralı düşünmeyi gerektirir. Sayılarla çalışan algoritmalar için temel dört işlem yeterlidir.

Kaç yaşında algoritma öğrenmeye başlanabilir?

Kareli kâğıtta robot yürütme veya talimat verme gibi bilgisayarsız etkinlikler okul öncesi ve ilkokul yaşlarında oynanabilir. Metin tabanlı koda geçiş genellikle okuma-yazma rahatladıktan sonra, 10 yaş civarında daha kolay olur.

Akış şeması çizmek zorunlu mu?

Zorunlu değil, ama özellikle karar ve tekrar içeren algoritmalarda düşünceni netleştirir. Kısa algoritmalar için numaralı bir liste de yeterlidir.

Aynı iş için birden fazla algoritma olabilir mi?

Evet. Örneğin 1–100 arasındaki bir sayıyı tek tek sayarak da bulabilirsin, ikili aramayla da. İkisi de doğru sonuca ulaşır ama ikili arama en fazla 7 tahminde biter, tek tek saymak ise 100 tahmine kadar sürebilir.

Algoritmalarımı nerede kodlayabilirim?

Kuzey Kutbu'nda Editör ile tarayıcıda Python ve JavaScript yazabilir, blok kodlama ile sürükle-bırak deneyebilir, Python ve JavaScript derslerine geçebilirsin.

Öğrendiklerini hemen dene! 🚀

Kurulum yok: kodu tarayıcıdaki editöre yapıştır, çalıştır, değiştir.

💻 Kod Editörünü Aç📚 Ücretsiz Derslere Başla

Sıradaki rehberler