Algoritmik yapılar, bir problemi çözmek veya belirli bir görevi yerine getirmek için adım adım talimatlar içeren yapılardır. Bilgisayar programlarının temeli olan algoritmik yapılar, Cezeri'nin çalışmalarında olduğu gibi geçmişten günümüze gerçek yaşam durumlarında geniş bir alanda kullanılır.
Ünlü İslam âlimi ve mühendis Cezeri'nin 1206 yılında tamamladığı "Hünerli Mekanik Cihazların Bilgi Kitabı"; otomatlar, su saatleri, makineler ve diğer mekanik cihazlarla ilgili tasarımları içerir. Modern teknolojiden yüzyıllar önce kaleme alınan bu kitap; Cezeri'nin icadı olan makinelerin tasarımına, üretimine, montajına ilişkin bilgi ve talimatların, ayrıca günümüzdeki robotik uygulamalarını çağrıştıran yönergelerin yer aldığı eşsiz bir kaynaktır.
Fil saati, Mardin'in Artuklu ilçesindeki Kasımiye Medresesi'nde sergilenmektedir. Cezeri'nin icat ettiği bu saat, 30 dakikada bir sesli uyarı veren otomatik bir sistemdir. Bu sistemde su gücüyle çalışan robotik prensipler geçerlidir.
Cezeri; insan müdahalesine gerek kalmadan dış dünyanın gereksinimlerine uyum sağlayarak kendini yenileyebilen, verilen görevleri yerine getirebilen, yapay veya biyolojik sistemlerin kontrolü ve iletişimi üzerine odaklanan, günümüzde sibernetik olarak adlandırılan bilim dalının temellerini atmıştır.
Mantık bağlaçları, algoritmik yapıların temel yapı taşlarından biridir. Koşulların değerlendirilmesi, karar verme süreçleri ve karmaşık ifadelerin oluşturulmasında kullanılırlar.
Bağlaç | İşlevi | Algoritmalardaki Kullanımı | Matematiksel Sembol |
---|---|---|---|
VE (AND) | İki veya daha fazla önermenin hepsinin doğru olup olmadığını kontrol eder. | İki koşulun da sağlanması gerektiği durumlarda kullanılır. | ∧ |
VEYA (OR) | İki veya daha fazla önermeden en az birinin doğru olup olmadığını kontrol eder. | Koşullardan en az birinin sağlanması gerektiği durumlarda kullanılır. | ∨ |
YA DA (XOR) | İki önermeden yalnızca birinin doğru olup olmadığını kontrol eder. | İki koşuldan tam olarak birinin sağlanması gerektiği durumlarda kullanılır. | ⊕ |
İSE (IF) | Bir koşulun sağlanması durumunda belirli bir komutun yerine getirilmesini sağlar. | Şartlı durumların kontrol edilmesinde kullanılır.Birinci önerme doğru iken ikinci önerme yanlış ise sonuç yanlış olur,diğer tüm durumlarda sonuç doğru çıkar. | → |
DEĞİL (NOT) | Bir önermenin tersini alır. | Olumsuz koşulların kontrolünde kullanılır. | ¬ |
Örnek: "Hafta sonu pikniğe gitmek için hava güneşli ve sıcak olmalı."
Açıklama: Pikniğe gitmek için iki koşulun da (güneşli hava ve sıcaklık) sağlanması gerekiyor. Matematiksel olarak: (Hava = Güneşli) ∧ (Sıcaklık > 20°C).
Örnek: "Sinemaya gitmek için ya arkadaşım müsait olmalı veya yeni bir film vizyona girmeli."
Açıklama: Sinemaya gitmek için koşullardan en az birinin gerçekleşmesi yeterli. Matematiksel olarak: (Arkadaş = Müsait) ∨ (Yeni Film = Evet).
Örnek: "Akşam yemeği için ya pizza sipariş edeceğim ya da makarna yapacağım."
Açıklama: İki seçenekten sadece biri seçilecek, ikisi birden değil. Matematiksel olarak: (Pizza = Evet) ⊕ (Makarna = Evet).
Örnek: "Eğer yarın hava yağmurluysa, dışarı çıkmayacağım."
Açıklama: Bir koşulun (yağmur) gerçekleşmesi durumunda belirli bir sonuç (dışarı çıkmama) olacak. Matematiksel olarak: (Hava = Yağmurlu) → (Dışarı Çıkma = Hayır).
Örnek: "Hava soğuk değilse, yürüyüşe çıkacağım."
Açıklama: Koşulun tersi (soğuk olmama) durumunda bir eylem gerçekleşecek. Matematiksel olarak: ¬(Hava = Soğuk).
Bu araçla bir öğrencinin burs almaya hak kazanıp kazanmadığını mantık bağlaçları kullanarak test edebilirsiniz.
Yönerge: Aşağıdaki alanlara öğrencinin bilgilerini girin ve "Değerlendir" butonuna tıklayın. Sonuçlar, her mantık bağlacının nasıl çalıştığını gösterecek.
Mantık bağlaçları sayesinde:
Niceleyiciler, bir önermenin hangi durumlarda ve ne kadar geçerli olduğunu belirleyen mantıksal operatörlerdir. Algoritmik yapılarda ve matematiksel ispatlarda önemli rol oynarlar.
Niceleyici | İşlevi | Algoritmalardaki Kullanımı |
---|---|---|
HER (∀) | Bir önermenin tüm ögeler için doğru olduğunu ifade eder. | Tüm elemanlar için bir koşulun sağlanması gerektiğinde kullanılır. |
BAZI (∃) | Bir önermenin en az bir öge için doğru olduğunu ifade eder. | En az bir elemanın bir koşulu sağlaması gerektiğinde kullanılır. |
HER Niceleyicisi: "Her tek tam sayının karesi de tektir."
Matematiksel gösterim: ∀n ∈ Z, n tek sayı ise n² de tek sayıdır.
BAZI Niceleyicisi: "Bazı tam sayıların karesi kendisine eşittir."
Matematiksel gösterim: ∃n ∈ Z öyle ki n² = n
Niceleyiciler, matematiksel önermelerin ispatında şu şekillerde kullanılır:
Bir lise, akademik ve sosyal faaliyetlerde üstün başarı göstermiş öğrencilere burs vermek için özel bir program başlatmıştır. Bu program; öğrencilerin not ortalamalarını, etkinliklere ve bilimsel projelere katılımlarını dikkate alarak burs alacak öğrencileri belirlemektedir.
Bu akış şeması, burs değerlendirme algoritmasını adım adım gösterir.
Bir sayının 6'ya bölünebilmesi için hem 2'ye hem de 3'e tam bölünebilmesi gerekir. Bu özelliği algoritmik olarak kontrol edelim.
"abc üç basamaklı bir doğal sayı ve k, m ve n ∈ Z+ olmak üzere abc = a·100 + b·10 + c, c = 2k ve a+b+c = 3m ⟹ abc = 6n"
732 sayısını kontrol edelim:
Bu akış şeması, bir sayının 6'ya bölünebilirliğini kontrol eder.
Bir sayının asal olup olmadığını belirleyen algoritma, mantık bağlaçları ve niceleyiciler kullanılarak oluşturulabilir.
n > 1 olmak üzere, n ∈ Z+ için, yalnızca 1 ve kendisine tam bölünebilen sayılara asal sayı denir.
n > 1 ve n ∈ Z+ için, ∀k ∈ Z+, 1 < k < n ⟹ k, n'yi tam bölmez
Bu akış şeması, bir sayının asal olup olmadığını kontrol eder.
Bir kütüphane, üyelik için bazı koşulları değerlendirmektedir.
Bu akış şeması, kütüphane üyelik koşullarını kontrol eder.
Bir trafik ışığı sistemi, araç ve yaya durumuna göre çalışır.
Bu akış şeması, trafik ışığı kontrol algoritmasını gösterir.
Bir sayının hem çift hem de pozitif olup olmadığını kontrol edelim.
"n ∈ Z+ ve n çift ise n > 0"
Bu akış şeması, bir sayının çift ve pozitif olup olmadığını kontrol eder.
Aşağıdaki araçla iki önerme (P ve Q) için mantık bağlaçlarının sonuçlarını görebilirsiniz:
Bağlaç | Sonuç |
---|---|
P ∧ Q (P VE Q) | - |
P ∨ Q (P VEYA Q) | - |
P ⊕ Q (P YA DA Q) | - |
P → Q (P İSE Q) | - |
Bu araç, Cezeri'nin fil saati mekanizmasını simüle eder. Su seviyesi azaldıkça zamanı ölçer ve 30 dakikada bir ses çıkarır:
Bu araç, bir sayının çift olup olmadığını kontrol eden bir algoritmayı adım adım animasyonlu bir akış şemasıyla gösterir.
Elips: Akış diyagramının başlangıç ve bitiş yerlerini gösterir. | |
Paralel Kenar: Programa veri girişi için kullanılır. | |
Dikdörtgen: Aritmetik işlemler ve her türlü atama işlemlerinin temsil edilmesi için kullanılır. | |
Altıgen: Program içinde belirli blokların arka arkaya tekrar edileceğini gösterir. | |
Eşkenar Dörtgen: Karar verme işlemini temsil eder. | |
Belge: Ekrana veya yazıcıya bilgi çıkışı için kullanılır. | |
Daire: Birleştirici veya bağlantı noktalarını temsil eder. | |
Oklar: Diyagramın akış yönünü, yani herhangi bir adımda işlem tamamlandıktan sonra hangi adımın geleceğini gösterir. |
1. Bazı doğal sayılar sıfırdan büyüktür ifadesi hangisi ile gösterilir?
2. "VE" bağlacı neyi ifade eder?
3. "P veya Q" ifadesi ne zaman doğrudur?
4. "HER" niceleyicisi neyi ifade eder?
5. Algoritma nedir?
6. "Bazı tam sayıların karesinin 1 fazlası 3'ten küçüktür."
7. "BAZI" niceleyicisi neyi ifade eder?
8. Aşağıdaki önermelerden hangisi doğrudur?
9. "P ise Q" ifadesi ne zaman yanlıştır?
10. Cezeri'nin fil saati hangi güçle çalışır?
1. ∃ x ve y ∈ N için x + y = 3" önermesini sağlayan kaç farklı (x, y) sıralı ikilisi vardır?
2. "P ∧ Q" ifadesi ne zaman doğrudur?
3. "P ya da Q" neyi ifade eder?
4. "∀n ∈ Z+, n > 0" önermesi doğru mudur?
5. Aşağıda verilen önermelerden hangisi yanlıştır?
6. "∃n ∈ Z+ öyle ki n² = n" için hangi n değeri geçerlidir?
7. Bir algoritmanın temel özelliği nedir?
8. p V q önermesi yanlış ise hangisi doğrudur ?
9. p ya da q önermesi doğru ise hangisi kesinlikle doğrudur ?
10. Fil saatinin sesli uyarı periyodu nedir?
1. "∀n ∈ Z+, ∃k ∈ Z+ öyle ki n = 2k" önermesi doğru mudur?
2. "P → Q" ifadesinin yanlış olması için ne gereklidir?
3. p ise q önermesi yanlış ise hangisi yanlıştır?
4. "∃n ∈ Z+ öyle ki n² + 1 = 0" önermesi doğru mudur?
5. (p ∧ q) → (p ya da r) önermesi yanlış ise hangisi doğrudur?