Yukleniyor...
Yukleniyor...
Ücretsiz deneme dersi ile kodlama dünyasına ilk adımı atın. Hiçbir taahhüt yok, sadece öğrenme keyfi.
En basit tanım, algoritmanın özellikleri, akış şeması sembolleri, günlük hayattan 12 örnek, 5 çözümlü soru ve Scratch + Python ile kodlanışı.
Kısa cevap: Algoritma, bir problemi çözmek için izlenen sıralı, net ve sonlu adımların listesidir. Yemek tarifi, oyun kuralları ya da sabah hazırlanma rutini birer algoritmadır; bilgisayarlar da her işi algoritmalarla yapar. "Algoritma ne demek?" sorusunun en basit yanıtı: adım adım çözüm planı. Dört temel türü vardır (sıralı, koşullu, döngüsel, özyinelemeli) ve çocuklara 6 yaştan itibaren günlük örneklerle öğretilebilir. Algoritmik düşünmeyi birebir geliştirmek için kodlama eğitimi en etkili yoldur.
Algoritma, bir problemi çözmek için izlenen sıralı, net ve sonlu adımların listesidir. Kelimenin kökeni 9. yüzyıl matematikçisi Harezmî\'nin (el-Hârizmî, Latince: Algoritmi) adından geliyor.
Bir algoritmanın 5 temel özelliği vardır:
Bilgisayarın yaptığı her iş — bir uygulamayı açmak, mesaj göndermek, video oynatmak — arka planda yüzlerce algoritmanın çalışmasıdır. Programlama, algoritmaları bir bilgisayar diline çevirme sanatıdır.
Aynı algoritma dört farklı biçimde yazılabilir. Örnek problem: girilen sayının tek mi çift mi olduğunu bulmak.
BAŞLA
OKU S
EĞER S mod 2 = 0 İSE
YAZ "Çift"
DEĞİLSE
YAZ "Tek"
BİTİRAdımlar standart şekillerle çizilir: başla/bitir elips, veri alma paralelkenar, karar eşkenar dörtgen. Aşağıdaki bölümde sembollerin tamamı ve bu örneğin şeması var.
s = int(input("Sayı: "))
if s % 2 == 0:
print("Çift")
else:
print("Tek")Akış şeması (akış diyagramı), bir algoritmanın adımlarını standart şekiller ve oklarla gösteren çizimdir. Yazıyla anlatılan algoritmayı tek bakışta okunur hâle getirir; özellikle karar (eğer-ise) ve döngü içeren algoritmalarda hangi yolun izlendiği açıkça görünür. Okullarda Bilişim Teknolojileri dersinde algoritma konusu çoğunlukla akış şemasıyla birlikte işlenir.
| Şekil | Anlamı | Örnek |
|---|---|---|
| Elips (oval) | Başla / Bitir | BAŞLA, BİTİR |
| Paralelkenar | Giriş / Çıkış (veri al, ekrana yaz) | Sayıyı al, "Çift" yaz |
| Dikdörtgen | İşlem (hesaplama, atama) | Toplam = A + B |
| Eşkenar dörtgen | Karar (evet / hayır) | S > 10 mu? |
| Ok | Akış yönü | Bir adımdan sonrakine |
| Küçük daire | Bağlantı (şemanın devamı) | Sayfa sonunda devam |

Ne isteniyor? Sonuçta ne elde edilecek (çıktı)? Örnek: "iki sayının ortalamasını bul".
Çözüm için hangi bilgiler gerekli? Örnek: birinci sayı (A) ve ikinci sayı (B).
Her adım tek bir iş yapsın: Başla → A ve B'yi al → Ortalama = (A + B) / 2 → Ortalamayı yaz → Bitir.
Duruma göre değişen adım varsa "eğer-ise", tekrar eden adım varsa döngü kullan.
Örnek değerlerle adımları kâğıt üzerinde izle: A = 4, B = 8 için çıktı 6 olmalı. Beklenen sonuç çıkmıyorsa adımları düzelt.
Çocuk algoritmayı anlamadan önce, hayatında zaten kullandığını fark etmeli.
Daha fazlası: sınıf seviyesine göre örnekler, akış şeması ve 5 çözümlü soru için algoritma örnekleri sayfamıza bakın.
Her karmaşık program bu 4 yapının birleşimi.
Adımlar tek tek, sırayla yapılır. En basit yapı. Diş fırçalama, sandviç tarifi gibi.
Bir koşula göre farklı yol seçilir. if / else mantığı.
Aynı işlem belirli sayıda ya da koşul sağlanana kadar tekrar edilir.
Bir algoritma kendi kendini çağırır. Fraktal, ağaç yapıları için ideal.
Her gün kullandığımız uygulamaların arkasındaki algoritmalar.
Aynı algoritmanın Scratch ve Python\'da yazılışı.
// Scratch Algoritması — Sayı Tahmin Oyunu
// 1. Bilgisayar 1-100 arası bir sayı seçer
gizli_sayi = rastgele(1, 100)
tahmin_sayisi = 0
// 2. Kullanıcı tahmin yapar
tekrar et (gizli_sayi != tahmin):
tahmin = sor("Sayıyı tahmin et")
tahmin_sayisi = tahmin_sayisi + 1
eğer tahmin < gizli_sayi:
söyle "Daha büyük bir sayı dene"
eğer tahmin > gizli_sayi:
söyle "Daha küçük bir sayı dene"
// 3. Doğru tahminde tebrik et
söyle "Tebrikler! " + tahmin_sayisi + " denemede buldun!"# Python Algoritması — En Büyük Sayıyı Bulma
def en_buyugu_bul(sayilar):
en_buyuk = sayilar[0] # ilk sayıyı en büyük varsay
for sayi in sayilar: # her sayıya bak
if sayi > en_buyuk: # eğer şu anki sayı daha büyükse
en_buyuk = sayi # en büyüğü güncelle
return en_buyuk
# Test edelim
notlar = [85, 92, 78, 95, 88, 90]
sonuc = en_buyugu_bul(notlar)
print(f"En yüksek not: {sonuc}")
# Çıktı: En yüksek not: 95Her yaş için uygun yöntem.
Algoritma yerine "tarif" kelimesini kullanın. Yemek tarifi, oyun kuralları, masal yapısı algoritmadır. Soyut açıklama yerine bedensel oyunlar (Simon Says, labirent çizme).
Akış şeması (flowchart) çizmeyi öğretin. Kâğıt kalem ile günlük bir rutini (sabah hazırlanma) çizdirin. Sonra Scratch'te kodlatın.
Sıralama ve arama algoritmalarını fiziksel olarak deneyimletin: kart oyunu ile Bubble Sort yapın. Python'a geçişe hazır.
Big O analizi, veri yapıları (stack, queue, tree), olimpiyat seviyesi algoritmalar. TÜBİTAK Bilim Olimpiyatı ve Codeforces hedefi.
Yanlış: "Algoritma sadece kodlama dersinde gerekli"
Doğru: Yanlış. Algoritma günlük hayat, matematik, fen, hatta dil derslerinde de var. Bir kompozisyon yapısı, denklem çözme, deney tasarımı — hepsi algoritma.
Yanlış: "Algoritma karmaşık, sadece zekiler için"
Doğru: Yanlış. 6 yaşındaki çocuk diş fırçalamayı algoritmik düşünerek yapıyor. Mesele, bu mantığı bilinçli olarak fark etmek ve kullanmak.
Yanlış: "Algoritma matematik demek"
Doğru: Kısmen doğru. Algoritma + matematik güçlü ikili, ama her algoritma matematik içermez. Bir oyun stratejisi, bir karar verme süreci de algoritmadır.
Yanlış: "Algoritma öğretmek için programcı olmak lazım"
Doğru: Yanlış. Veliler çocuklarına günlük örneklerle algoritmik düşünme öğretebilir. "Önce bunu yap, sonra şunu, eğer şöyle olursa..." dili yeterli.
Yanlış: "Algoritma sonsuz hızlıdır"
Doğru: Yanlış. Aynı problemi çözen iki algoritmadan biri saniyede, diğeri saatlerce bitebilir. Bu yüzden algoritmalar hız ve bellek kullanımına (karmaşıklık) göre karşılaştırılır.
Önce kendin çöz, sonra "Cevabı göster"e bas. Daha fazla soru için algoritma örnekleri sayfasına bak.
Algoritmik düşünmenin akademik temeli.
Çocukların ilk algoritma yazdığı dil.
Algoritma öğreniminde dünya standardı dil.
İleri algoritma için TÜBİTAK ve IOI yolu.
Algoritma sonrası uzun vadeli plan.
Algoritmik düşünme neden temel beceri?
Scratch\'ten Python\'a, sıralı algoritmadan ileri veri yapılarına. 1e1kod\'da yaş ve seviyeye göre kişiselleştirilmiş program. Ücretsiz tanışma dersinde seviyeyi birlikte ölçelim.
Kodlamada döngü, aynı komutları tekrar tekrar çalıştıran yapıdır. Bu rehberde Scratch'teki tekrar bloklarını Python'daki for ve while döngüleriyle yan yana karşılaştırıyoruz.
Kod bilmeyen veliler için, çocuğun kodlama ödevini onun yerine yapmadan doğru sorularla destek olmanın yolları: hazır soru kalıpları, lastik ördek yöntemi ve adım adım hata ayıklama.
Değişken, programın bilgi sakladığı etiketli bir kutudur. Aynı skor sayacı örneğini Scratch blokları ve Python koduyla yan yana görerek değişkeni adım adım öğren.