5. Tema: Algoritma ve Bilişim – Konu Anlatımı
Algoritma: Bir problemi çözmek veya belirli bir görevi tamamlamak için izlenen açık, anlaşılır ve sıralı adımlardan oluşan kural ve işlemler bütünüdür.
Algoritma terimi, ünlü matematikçi Harizmi'nin adından türemiştir.
Algoritmanın adımlarını günlük dil kullanarak açıklayan yöntemdir.
Programlama diline yakın, ancak herhangi bir dile bağlı olmayan, algoritmayı ifade eden metinsel gösterimdir.
Algoritmanın adımlarını görsel sembollerle gösteren şemadır.
Örnek (Sözde Kod): İki sayının toplamını hesaplayan algoritma:
1. Başla 2. a ve b'yi oku 3. toplam = a + b 4. toplamı yaz 5. Bitir
Adımların belirli bir sıra ile takip edilmesidir.
Belirli bir koşula göre farklı işlemlerin yapılmasıdır (Eğer - O halde).
Belirli bir koşul sağlandığı sürece işlemlerin tekrarlanmasıdır.
Karar Yapısı Örneği:
1. Başla
2. sayıyı oku
3. Eğer sayı > 0 ise:
"Pozitif" yaz
Değilse:
"Negatif" yaz
4. Bitir
Döngü Örneği: 1'den 10'a kadar sayıların toplamı:
1. Başla
2. toplam = 0, i = 1
3. i ≤ 10 olduğu sürece tekrarla:
toplam = toplam + i
i = i + 1
4. toplamı yaz
5. Bitir
Mantık bağlaçları, birden fazla koşulu birleştirerek karar yapılarında kullanılır.
| Bağlaç | Sembol | Açıklama |
|---|---|---|
| Ve | ∧ | İki veya daha fazla koşulun hepsi doğru ise sonuç doğrudur. |
| Veya | ∨ | Koşullardan en az biri doğru ise sonuç doğrudur. |
| Ya da | ⊻ | İki koşuldan yalnızca biri doğru ise sonuç doğrudur. |
| İse | ⇒ | Bir koşul sağlanıyorsa belirli bir sonucun gerçekleşeceğini ifade eder. |
| Ancak ve Ancak | ⇔ | İki koşul birbirine bağlıdır, aynı doğruluk değerine sahiptir. |
Örnek: Bir sayının 6'ya bölünebilmesi için "sayı 2'ye bölünür ve sayı 3'e bölünür" koşulu (∧) kullanılır.
Niceleyiciler, matematiksel ifadelerde genelleme veya özelleştirme yapmak için kullanılır.
Örnek: "Her çift sayı 2 ile tam bölünür" ifadesinde ∀ niceleyicisi vardır.
∀x ∈ Z, (x çift ⇒ 2 | x)
Mantık bağlaçları, algoritmalarda karar noktalarını belirlemek ve farklı durumlar arasında geçişi kontrol etmek için kullanılır.
Niceleyiciler, matematiksel ifadelerde genelleme veya özelleştirme yapmak için kullanılır.
Bir ispatta adımlar mantık bağlaçları ile birleştirilir ve sonucun doğruluğu sağlanır.
Örnek (İspat): "Bir sayı 6 ile bölünüyorsa 2 ile de bölünür."
∀n ∈ Z, (6 | n ⇒ 2 | n) (Her n için, 6 bölünüyorsa 2 de bölünür.)
Algoritmalarda koşulları kontrol ederken kullanılan operatörler:
Örnek: Eğer sayı > 0 ise "pozitif" yaz.
Belirli bir sayıya kadar olan asal sayıları bulma algoritması.
Bir sayının asal çarpanlarını bulma algoritması.
Bir dizideki ardışık elemanların maksimum toplamını bulma algoritması.
Kriptografide güvenli iletişim için kullanılan algoritma.
Eratosthenes Kalburu (Sözde Kod):
1. Başla
2. n'yi oku
3. asal[2..n] dizisini True yap
4. i = 2'den √n'ye kadar:
Eğer asal[i] True ise:
j = i²'den n'ye kadar i adım:
asal[j] = False
5. i = 2'den n'ye:
Eğer asal[i] True ise: yaz i
6. Bitir
Akış şemasında kullanılan temel semboller ve anlamları:
| Sembol | Anlamı |
|---|---|
| Oval (Başla/Bitir) | Algoritmanın başlangıcını veya sonunu gösterir. |
| Paralelkenar | Veri girişi veya çıktıyı temsil eder. |
| Dikdörtgen | İşlem yapmak için kullanılır. |
| Eşkenar Dörtgen (Karar) | Koşul kontrol edilir, akış iki veya daha fazla yola ayrılır (Evet/Hayır). |
| Ok | Akış yönünü gösterir. |
Örnek (Karar Sembolü Kullanımı): Bir sayının pozitif/negatif olduğunu kontrol eden akış şemasında eşkenar dörtgen kullanılır.