📜 Algoritma Kelimesi Nereden Geliyor?
Bugün yapay zekanın ve yazılım dünyasının temel taşı olan “Algoritma” kavramı, 9. yüzyılda Bağdat’ta yaşamış büyük matematikçi ve astronom El-Hârizmî‘nin ismine dayanır.
El-Hârizmî’nin Hint sayı sistemini ve sıfır (0) kavramını anlattığı meşhur Kitâbü’l-Hisâb ve’l-Hindî adlı eseri, 12. yüzyılda Latinceye “Algoritmi de numero Indorum” başlığıyla çevrilmiştir. Yazarın isminin Latincede Algoritmi olarak telaffuz edilmesiyle bu kelime, zaman içinde mantıksal işlem basamaklarını ifade eden evrensel bir kavrama dönüşmüştür.
Bir problemi çözmek veya belirli bir hedefe ulaşmak için hazırlanan; başlangıcı ve sonu belli, her adımı son derece açık ve mantıklı bir sıraya dizilmiş çözüm yoludur.
💡 Günümüzde evlerimizde temizlik yapan, fabrikalarda üretim yürüten veya otonom hareket eden en gelişmiş insansı robotlar bile aslında arka planda kendilerine verilen bu matematiksel adım haritalarını (algoritmaları) saniyede milyonlarca kez çalıştırarak hareket eder.
⚙️ Bir Algoritmanın Olmazsa Olmaz 4 İlkesi
Bir algoritma tasarlanırken bilgisayarın işlemci mantığına ve kurallarına tam uyum sağlanmalıdır. Yandaki şemada özetlenen 4 temel kuralın detayları şunlardır:
1. Kesinlik (Netlik): Bilgisayarlar sezgisel davranamaz. Komutlar yoruma kapalı, net matematiksel ifadeler içermelidir. Örneğin; “Bir süre bekle” belirsizdir, “5 saniye bekle” kesindir.
2. Sıralılık (Mantıksal Akış): İşlemler birbiri üzerine inşa edilir. Bir önceki adım tamamlanmadan sonrakine geçilemez. Öncelik sırası bozulursa program mantık hatası üretir[cite: 1].
3. Sonluluk (Bitiş Garantisi): Her algoritma sonlu sayıda adımdan oluşmalıdır. Sonsuza giden veya durma koşulu yazılmayan algoritmalar bilgisayarın kilitlenmesine neden olur[cite: 1].
4. Girdi ve Çıktı Dengesi: Algoritmalar boşlukta çalışmaz. Kullanıcıdan veya sensörlerden veriler (girdiler) alır, bunları belirlenen kurallarla işler ve ekrana somut bir sonuç (çıktı) üretir[cite: 1].
📦 Algoritmanın Yapı Taşları: Değişken ve Sabit
Bir algoritma kurulurken verileri hafızada tutmak için iki temel kavram kullanılır[cite: 1]:
- Değişken (Variable): Program çalışırken değeri değişebilen hafıza kutularıdır[cite: 1]. Örneğin; kullanıcının girdiği sınav notu, hava sıcaklığı veya oyun skoru birer değişkendir.
- Sabit (Constant): Program boyunca değeri hiç değişmeyen değerlerdir[cite: 1]. Örneğin; matematikteki Pi sayısı ($\pi = 3.14$) veya haftanın gün sayısı (7) birer sabittir.
⚠️ 1.3.2. Problem Çözmede Algoritma Hataları
Algoritma tasarlarken en sık karşılaşılan 3 kritik hata türü:
- Mantık Hatası (Logic Error): Algoritma çalışır ancak işlem sırası yanlış kurgulandığı için hatalı sonuç üretir (Örn: Çorabı giymeden önce ayakkabıyı giymek)[cite: 1].
- Sonsuz Döngü (Infinite Loop): Algoritmanın durma koşulunun unutulması veya yanlış kurgulanması sonucu bilgisayarın kilitlenmesi.
- Eksik Adım Hatası: Bilgisayarın bildiği varsayılan ama algoritmaya yazılmayan adımlar yüzünden programın tıkanması.