Sevgili öğrenciler, bu ders notu "Algoritmik doğal dil nedir?" testindeki temel kavramları anlamanıza yardımcı olmak için hazırlandı. Test, algoritmaların ne olduğu, doğal dilin özellikleri ve bu iki kavramın nasıl bir araya geldiği üzerine odaklanacaktır.
Algoritma, bir problemi çözmek veya belirli bir görevi yerine getirmek için adım adım, açık ve net bir şekilde tanımlanmış talimatlar dizisidir. Tıpkı bir yemek tarifi gibi düşünebilirsiniz.
💡 İpucu: Günlük hayatta farkında olmasak da pek çok algoritma kullanırız: Sabah uyanıp okula hazırlanma adımları, bir arkadaşına yol tarifi verme, bir oyunun kuralları gibi.
Doğal dil, insanların birbirleriyle iletişim kurmak için kullandığı, zamanla gelişmiş ve evrimleşmiş dillerdir (Türkçe, İngilizce, Almanca gibi). Bu diller, bilgisayar dillerinin aksine çok daha esnek ve karmaşıktır.
⚠️ Dikkat: Doğal dilin bu esnek ve belirsiz yapısı, bilgisayarların onu tam olarak anlamasını zorlaştıran en büyük faktördür.
Algoritmik düşünce, bir problemi bilgisayarın çözebileceği adımlara ayırma ve bu adımları mantıksal bir sıra ile düzenleme yeteneğidir. Sadece bilgisayarlar için değil, günlük hayattaki problemleri çözmek için de çok faydalıdır.
📝 Örnek: Odandaki dağınıklığı toplamak büyük bir problemdir. Algoritmik düşünceyle: Önce kıyafetleri ayır (parçalama), her kıyafetin yerini bul (örüntü), sadece neyin nereye konulacağına odaklan (soyutlama), sonra adım adım yerleştir (algoritma tasarımı).
Bilgisayarlar algoritmaları işlerken doğal dillerle değil, programlama dilleriyle (Python, Java vb.) çalışır. Bu ikisi arasında önemli farklar vardır.
💡 İpucu: Bir bilgisayara "Bana güzel bir şarkı çal." dediğinizde, "güzel" kelimesini tanımlamanız veya hangi türde şarkı istediğinizi belirtmeniz gerekebilir. Çünkü bilgisayar için "güzel" göreceli bir kavramdır ve net bir talimat değildir.
Akış şemaları, algoritmaların adımlarını ve akışını görsel olarak temsil etmek için kullanılan diyagramlardır. Bir algoritmanın nasıl çalıştığını anlamak için harika bir yoldur.
Oval (Başla/Bitir): Algoritmanın başlangıcını veya sonunu gösterir.
Dikdörtgen (İşlem): Bir görevin veya işlemin yapıldığı adımı temsil eder (Örn: "Sayıyı oku", "Toplamı hesapla").
Paralelkenar (Girdi/Çıktı): Veri girişini veya sonuç çıkışını gösterir (Örn: "Kullanıcıdan sayı al", "Sonucu ekrana yazdır").
Eşkenar Dörtgen (Karar): Bir koşulun test edildiği ve bu koşula göre farklı yolların izlendiği noktayı gösterir (Örn: "Sayı pozitif mi?").
Oklar (Akış Yönü): Algoritmanın hangi sırayla ilerlediğini gösterir.
📝 Örnek: Sabah çay demleme algoritması için akış şeması: BAŞLA (Oval) -> Suyu ısıt (Dikdörtgen) -> Su kaynadı mı? (Eşkenar Dörtgen -> Evet ise çayı demle, Hayır ise suyu ısıtmaya devam et) -> Çayı bardağa koy (Dikdörtgen) -> BİTİR (Oval).