KONU ANLATIMI / 9. Sınıf

Mantık Bağlaçları ve Niceleyicilerin Algoritmik Problemlerde Kullanımı

Mantık Bağlaçları ve Niceleyicilerin Algoritmik Problemlerde Kullanımı

Mantık ve Bilişimin Kesişim Noktası

Bilgisayarlar temelde trilyonlarca küçük elektronik anahtardan (transistör) oluşur. Bu anahtarlar açık (1) veya kapalı (0) konumda bulunabilirler. İşte bu "1 ve 0" mantığı, bir önceki konuda öğrendiğimiz mantıksal doğruluk değerlerinin (Doğru ve Yanlış) ta kendisidir. Bir bilgisayar programı veya algoritma çalışırken sürekli olarak kararlar vermek zorundadır. Bu kararları verirken kullandığı dil, matematiksel mantıktır. "Ve", "Veya", "Değil" gibi bağlaçlar yazılımların temel akışını (kontrol yapılarını) yönetir.

Algoritmalarda Koşullu İfadeler ve Mantık Bağlaçları

Algoritmik problem çözümünde belirli şartlara göre işlemleri yönlendirmek için "EĞER - İSE" (IF-THEN) ve "DEĞİLSE" (ELSE) yapılarını kullanırız. Bu şartlar, basit bir önerme olabileceği gibi birden fazla koşulun bağlaçlarla birleştirildiği bileşik önermeler de olabilir.

Programlama dillerinde mantık bağlaçları şu şekillerde temsil edilir: - Ve (AND / $\land$): Genellikle && veya AND kelimesi ile ifade edilir. - Veya (OR / $\lor$): Genellikle || veya OR kelimesi ile ifade edilir. - Değil (NOT / '): Genellikle ! veya NOT kelimesi ile ifade edilir.

1. "Ve" Bağlacının Algoritmalarda Kullanımı

Bir eylemin gerçekleşmesi için tüm şartların aynı anda sağlanması gerekiyorsa "ve" bağlacı kullanılır. Senaryo: Bir ehliyet kursuna kayıt olmak için kişinin hem "18 yaşından büyük veya eşit" (p) olması VE hem de "Sağlık raporunun olumlu" (q) olması gerekmektedir. Algoritma: EĞER (Yas >= 18) VE (SaglikRaporu == "Olumlu") İSE: YAZ "Kayıt Başarılı" DEĞİLSE: YAZ "Kayıt Başarısız" Burada sadece iki durum da (1 VE 1) doğruysa kayıt gerçekleşir.

2. "Veya" Bağlacının Algoritmalarda Kullanımı

Bir eylemin gerçekleşmesi için şartlardan herhangi birinin sağlanması yeterliyse "veya" bağlacı kullanılır. Senaryo: Bir öğrencinin dersten geçmesi için final sınavından "en az 50 alması" (p) VEYA "Ödev projesinden tam not alması" (q) yeterlidir. Algoritma: EĞER (FinalNotu >= 50) VEYA (Proje == "Tam Not") İSE: YAZ "Dersten Geçtiniz" Burada sadece iki durum da yanlışsa (0 VEYA 0) öğrenci dersten kalır, diğer tüm durumlarda geçer.

Kısa Devre Değerlendirmesi (Short-Circuit Evaluation)

Algoritmaların verimliliğini artırmak için bilgisayarlar "kısa devre" mantığını kullanır. - p VE q koşulunda, bilgisayar önce p'yi kontrol eder. Eğer p yanlış (0) ise, q ne olursa olsun sonucun yanlış (0) çıkacağını bildiği için q'yu kontrol etmeye zaman harcamaz ve hemen atlar. - p VEYA q koşulunda ise, bilgisayar p'yi kontrol eder. Eğer p doğru (1) ise, q'nun değerine bakmaksızın sonuç doğru (1) olacağı için, diğer şartı kontrol etmekten vazgeçer ve doğrudan eylemi gerçekleştirir. Bu özellik, algoritmaların çok daha hızlı ve kaynakları tüketmeden çalışmasını sağlar.

Niceleyicilerin Döngülerdeki İzdüşümü

Niceleyiciler ($ orall$ "Her" ve $\exists$ "En az bir"), algoritmik problemlerde döngü yapılarıyla (loops) ifade edilir. Bilişim dünyasında bu kavramlar, diziler veya listeler üzerindeki arama ve doğrulama algoritmalarında karşımıza çıkar.

Evrensel Niceleyici ($ orall$) Algoritmaları

Bir veri kümesindeki tüm elemanların belirli bir koşulu sağlayıp sağlamadığını kontrol etmek için kullanılır. Örnek Problem: Bir sepetteki (dizideki) elmaların hepsinin kırmızı (koşul: x == Kırmızı) olup olmadığını kontrol etme.

Algoritma Adımları:
1. Başlangıçta sonuc = DOĞRU (1) varsayalım.
2. Sepetteki her bir elma (x) için döngü başlat:
3.    EĞER (x'in rengi EŞİT DEĞİLSE "Kırmızı") İSE:
4.       sonuc = YANLIŞ (0)
5.       Döngüyü kır (Çıkış yap)
6. Döngü Sonu
7. Eğer sonuc == DOĞRU ise "Hepsi kırmızı", değilse "En az biri kırmızı değil".

Dikkat edilirse, evrensel niceleyici ararken, "kırmızı olmayan" bir tane bulduğumuzda ($\exists x, P'(x)$ durumu), tüm önerme çöker ve sonuc yanlış olur. Bu tam da niceleyicilerin değili mantığıdır!

Varlıksal Niceleyici ($\exists$) Algoritmaları

Bir veri kümesinde, koşulu sağlayan en az bir tane elemanın bulunup bulunmadığını tespit etmek için kullanılır. Arama algoritmalarının temelidir. Örnek Problem: Sınıftaki öğrencilerin listesinde adı "Ahmet" olan en az bir öğrenci var mı?

Algoritma Adımları:
1. Başlangıçta sonuc = YANLIŞ (0) varsayalım.
2. Sınıftaki her bir öğrenci (x) için döngü başlat:
3.    EĞER (x'in adı EŞİTTİR "Ahmet") İSE:
4.       sonuc = DOĞRU (1)
5.       Döngüyü kır (Aramaya devam etmeye gerek yok)
6. Döngü Sonu
7. Eğer sonuc == DOĞRU ise "Listede var", değilse "Listede yok".

Burada bir "Ahmet" bulunduğunda (durum 1), VEYA bağlacı ve varlıksal niceleyici kuralları gereği, artık diğer öğrencilere bakmaya gerek kalmadan tüm sonucun 1 olduğu anlaşılır.

Karmaşık Koşullar ve De Morgan Kurallarının Kullanımı

Algoritmada mantığı tersine çevirmemiz gerektiğinde De Morgan kuralları hayati öneme sahiptir. Örneğin bir şifre kuralı düşünün: "Şifre 8 karakterden kısa olmamalı VE boşluk içermemeli." EĞER (Uzunluk < 8) VEYA (BoslukVarMi == 1) İSE: YAZ "Geçersiz Şifre"

Bu kuralın değili (geçerli şifre kuralı) De Morgan ile şu şekle dönüşür: (Uzunluk >= 8) VE (BoslukVarMi == 0) Gördüğünüz gibi VEYA ($\lor$) bağlacı VE ($\land$) bağlacına döndü ve koşulların değilleri alındı. Algoritmaları basitleştirmek ve okunabilirliği artırmak için bu tür mantıksal eşdeğerlikler yazılım mühendisleri tarafından sıkça kullanılır.

Özetle, algoritma geliştirmek sadece kod yazmak değil, matematiksel mantığın prensiplerini adım adım problemlere uyarlamaktır. Doğru mantıksal yapılar kurulamadığında en gelişmiş bilgisayarlar bile doğru sonuca ulaşamaz.

Editoryal bilgi9. Sınıf Matematik Dersi — 2. Kitap · PDF sayfa 135–149
Yayın ilkelerimiz · Hata bildir

ÖĞRENDİKLERİNİ DENE

Bilgini bir adım ileri taşı.

Konuyu tamamladın. Açıklamalı sorularla ne öğrendiğini keşfet.

Konu Testi