batuhanmavi
← Yazı arşivi

Teknoloji · 24 Ekim 2026

Algoritma nedir? Bir fikirden çalışan bir çözüme.

Koddan önce düşünce gelir. Girdileri gör, kuralları değiştir, döngüyü adım adım çalıştır. Algoritmik düşünmeye görsel ve etkileşimli bir başlangıç.

Batuhan Mavi · 5 dk okuma
Algoritma nedir? Bir fikirden çalışan bir çözüme. için kapak görseli
Algoritma nedir? Bir fikirden çalışan bir çözüme.

Oku. Gör. Dene.
Bu rehberde iki görsel harita, bir karar deneyi, adım adım sayı taraması ve kısa bir test var. Kod yazmadan, sonucu değiştirerek öğren.

Bir şeyleri programlamak için önce programlama dili bilmek gerekir mi? Hayır. Önce bir problemin nasıl çözüleceğini düşünmeyi öğrenebilirsin. Algoritma tam olarak bununla ilgilidir. Bu rehberde karmaşık formüller yerine örnekler, şekiller ve küçük deneyler kullanacağız.

Girdi: yaş 18. İşlem: yaş en az 18 mi? Çıktı: uygun.
01 / Girdi → işlem → çıktı. En küçük algoritma haritası.

1. Algoritma nedir?

Algoritma, bir işi ya da problemi çözmek için izlenen açık, sıralı ve sonuca götüren adımlar bütünüdür. Bilgisayara özgü değildir. Kahve hazırlamak, bir adres bulmak veya bir listeden isim seçmek de adım adım tarif edilebilir.

Örneğin birine «Mutfaktan bir bardak su getir» dersen, yapılacak işi kabaca anlatmış olursun. Ama sistemin hata yapmamasını istiyorsan daha açık olman gerekir: Bardağı bul, bardağın temiz olduğundan emin ol, suyla doldur ve getir. Bardak yoksa ne olacağını da belirt.

Bir problemi çözmek başka, o problemi her defasında çözecek güvenilir yöntemi tarif etmek başka bir beceridir.

2. Her algoritmanın bir girdisi, işlemi ve çıktısı vardır

  • Girdi: İşlenecek bilgi. Örneğin bir kişinin yaşı veya bir sayı listesi.
  • İşlem: Uygulanacak kurallar. Örneğin karşılaştırma, toplama veya seçim.
  • Çıktı: Sonuç. Örneğin «giriş serbest» kararı ya da listedeki en büyük sayı.

Basit bir algoritmada bu üçlü kolay görülür. Daha gelişmiş programlarda ise araya çok sayıda kontrol, tekrar, hata yönetimi ve başka sistemlerle iletişim girer. Ama temel düşünce değişmez.

3. Sıra neden önemli?

Bir tarifte «fırından çıkar» adımını «fırına koy» adımından önce yazamazsın. Programlamada buna sıralama (sequence) denir. Komutların hangi sırayla uygulanacağı sonuç üzerinde doğrudan etkilidir.

Bu nedenle iyi bir algoritma yalnızca ne yapılacağını değil, ne zaman yapılacağını da belirler. Üstelik eksik bilgi varsa nasıl davranılacağını da tarif etmelidir.

4. Koşullar: Bilgisayar nasıl karar veriyor?

Bilgisayar bir insan gibi sezgisel karar vermek zorunda değildir. Ona bir kural yazarız: «EĞER şart doğruysa A işlemini, DEĞİLSE B işlemini yap.» Bu mantık yazılımlarda if / else olarak karşımıza çıkar.

Etkileşimli koşul deneyi

Az önceki deneyde VE kelimesi belirleyiciydi. Yaş uygun olsa bile bilet yoksa sonuç olumsuzdur. VEYA kullansaydık iki şarttan yalnızca birinin gerçekleşmesi yeterli olabilirdi. Bu iki kelime, gerçek yazılımlarda çok büyük fark yaratır.

5. Döngüler: Aynı işlemi tekrar tekrar yapmanın yolu

Bir tablodaki beş kişinin kaydını elle kontrol edebilirsin. Peki ya elli bin kişi olsaydı? Bilgisayarların gücü, önceden belirlediğimiz işlemleri çok sayıda veri üzerinde tekrar tekrar uygulayabilmesidir.

Buna döngü (loop) denir. Bir döngünün hangi kayıt üzerinde başlayacağını, neyi tekrarlayacağını ve ne zaman duracağını tanımlamak gerekir.

Sayı listesinde adım adım algoritma

Sayıların tamamını gördüğün hâlde, örnekte bilgisayarın izleyeceği sırayı özellikle adım adım ilerlettik. Böylece önemli bir fikri fark ettin: Her aşamada geçici bir sonuç saklayabilir ve yeni bilgi geldikçe güncelleyebiliriz.

6. Sözde kod: Henüz dil öğrenmeden program tasarlamak

Python, C# veya JavaScript bilmeden de bir programın çalışma mantığını yazabilirsin. İnsan tarafından okunabilir bu tür tariflere sözde kod (pseudocode) denir. Sözde kodun amacı bilgisayarın doğrudan çalıştırması değil, insanın çözümü açıkça görmesidir.

EN_BÜYÜK = listedeki ilk sayı

Listedeki sonraki her sayı için:
    EĞER sayı > EN_BÜYÜK İSE
        EN_BÜYÜK = sayı

EN_BÜYÜK değerini göster

Burada matematik açısından zor bir işlem yok. İlk sayı geçici olarak en büyük kabul ediliyor. Sonraki sayılarla karşılaştırılıyor. Gerekirse değer değişiyor. Liste bittiğinde algoritma da bitiyor.

7. Akış şeması: Adımları gözle görmek

Akış şeması, bir algoritmanın hangi koşulda hangi yöne ilerlediğini kutular ve oklarla gösterir. Oval veya yuvarlatılmış şekiller başlangıç/bitişi, dikdörtgenler işlemleri, eşkenar dörtgenler karar noktalarını temsil edebilir.

Başla; yaş en az 18 ve bilet var mı? Evet: giriş serbest. Hayır: giriş yok. Her iki yol da biter.
02 / Her kararın iki yolu da tanımlı. Açıkta kalan bir adım yok.

Bir şemayı değerlendirirken üç soru sor: Başlangıç nerede? Karar hangi bilgiye göre veriliyor? Her yolun sonunda ne oluyor? Bu sorulara net cevap alamıyorsan algoritmada eksik bir adım olabilir.

8. Algoritma kelimesi nereden geliyor?

Dokuzuncu yüzyılda yaşamış matematikçi Harezmi (el-Hârizmî), cebir problemlerini sistemli biçimde çözme yöntemleriyle tanınır. El-cebir, bir denklemi düzenleyip eksik veya negatif terimleri giderme; el-mukabele ise denklemin iki yanındaki benzer terimleri dengeleme yaklaşımıdır.

Harezmi'nin adının Latinceleşmiş biçimi, zaman içinde algorithm sözcüğünün gelişmesine kaynaklık etmiştir. Ancak ilk algoritmayı onun icat ettiğini söylemek doğru olmaz: adım adım hesaplama yöntemleri çok daha eskidir. Onun katkılarından biri, matematiksel çözüm yollarını sistematik biçimde açıklamasıdır.

Bu konunun tarihsel ayrıntılarını merak edenler için aşağıda St Andrews Üniversitesi'nin matematik tarihi arşivine bağlantı bıraktım. İlk aşamada önemli olan isim ve tarih ezberlemek değil, genel çözüm yöntemi fikrini kavramak.

9. Yapay zekâya daha iyi talimat vermek için neden yararlı?

Bir yapay zekâdan yazılım geliştirmesini istediğinde yalnızca sonucu söylersen, eksik kuralları kendisi tahmin etmek zorunda kalır. Oysa sınırları, istisnaları ve sonucu nasıl kontrol edeceğini söylersen hem geliştirme hem test süreci daha güvenilir ilerler.

Belirsiz ve algoritmik talimat karşılaştırması

Bu örnekte “geciken” sözcüğünü açık bir tarih karşılaştırmasına çevirdik. Gerçek bir uygulamada saat dilimi ve son teslim anı da tanımlanmalıdır. İyi talimat, belirsizliği azaltan talimattır.

10. Kendini dene

Aşağıdaki küçük sorunun cevabını ezberlemeye çalışmadan, nedenini düşün.

Algoritma bilgisi mini testi

Peki şimdi hangi konuyu öğrenmelisin?

  • Değişken: Bilgiyi geçici olarak sakladığımız isimlendirilmiş alan.
  • Veri türü: Sayı, metin, tarih veya doğru/yanlış gibi farklı bilgi türleri.
  • Koşul: Bir kararın hangi durumda verileceği.
  • Döngü: Bir işlemin tekrar edilmesi ve nerede duracağı.
  • Liste ve fonksiyon: Çoklu verileri tutmak ve tekrar kullanılabilir işlemleri düzenlemek.

Bu kavramları küçük örneklerle kavradığında bir programlama diline geçiş çok daha anlaşılır olacaktır. Türev, integral veya ileri düzey matematik öğrenmek zorunda değilsin; başlangıçta karşılaştırma, dört işlem ve mantık yeterli.

Kaynaklar ve ileri okuma

Kodu ezberlemeye başlamadan önce şu soruyu sormayı öğren: «Bir işi başka birine, yanlış anlamasına yer bırakmadan hangi adımlarla tarif ederim?»

Bu rehber, algoritmik düşünmeye başlangıç içindir. İçindeki örnekler eğitim amaçlıdır; gerçek uygulamalarda iş kuralları, erişim yetkileri, veri doğrulama ve testler ayrıca tasarlanır.

Yayın yükleniyor…