“ve”, “veya”,
“ya da”, “ise”
— dördü de karar verir.
Mantık bağlaçları ve niceleyiciler, matematiksel önermelerin yapı taşlarıdır. Bu araçlar, önermeleri birleştirerek ve niceliklerini belirleyerek matematiksel ispat ve algoritmaları şekillendirir. Bu ünitede aynı dört bağlacı iki ayrı yerde göreceksin: akış şemasının karar baklavasında ve bir cebirsel ispatın adımları arasında. İkisinin de yaptığı iş aynı: koşullardan sonuç üretmek.
Kontrol Noktası’nda dört bağlacın işlevi tek tek yazılıdır. Aşağıda bu dört tanımı ve hemen ardından doğruluk çizelgesini bulacaksın: iki koşulun dört olası durumu için her bağlacın ne dediğini gösteren tablo.
· Ve bağlacı: İki veya daha fazla önermenin
hepsinin doğru olup olmadığını kontrol eder.
· Veya bağlacı: İki veya daha fazla önermeden
en az birinin doğru olup olmadığını kontrol eder.
· Ya da bağlacı: İki önermeden
yalnızca birinin doğru olup olmadığını kontrol eder.
· İse bağlacı: Bir koşulun sağlanması durumunda
belirli bir komutun yerine getirilmesini sağlar.
Günlük konuşmada ikisini karıştırırız, matematikte
tek bir satırda ayrılırlar: ikisi de doğru olduğunda.
· veya → “en az biri” ⇒ ikisi birden doğruysa sonuç yine
doğrudur.
· ya da → “yalnızca biri” ⇒ ikisi birden doğruysa sonuç
yanlıştır.
“Ya da” için matematikte kullanılan ad dışlayan (kapsamayan)
veyadır. Günlük hayattaki karşılığı da tam olarak budur:
“Yanında çorba veya salata gelir” → ikisini de isteyebilirsin.
“Menüde çorba ya da salata seçeceksin” → sadece birini.
4. Sıra Sizde’sindeki vavien devre, “ya da”
bağlacının elektrikle yapılmış hâlidir; birazdan onu da çalıştıracaksın.
Kontrol Noktası’ndan: Her niceleyicisi, bir önermenin herhangi bir öge için doğru olduğunu ifade eder. Bazı niceleyicisi, bir önermenin en az bir öge için doğru olduğunu ifade eder. Şu uyarı da önemli: algoritmaların işleyişinde niceleyiciler genellikle doğrudan gözlemlenmez ancak algoritmanın doğru ve verimli çalışmasını sağlamak için arka planda etkin bir şekilde işler. Bu yapılar, belirli koşulları sağlayan veri ögelerini belirleme ve işlemede önemlidir.
Bir listeyi baştan sona gezen bir döngü, hangi soruyu sorduğuna göre bir niceleyici
çalıştırır:
· “Her öğrencinin notu 50’den büyük mü?” (her) → döngü,
ilk karşı örneği bulduğu anda durup “hayır” diyebilir. 20 kişilik
listede ikinci kişi 40 aldıysa geri kalan 18 kişiye bakmaya gerek
yoktur.
· “Notu 50’den büyük öğrenci var mı?” (bazı) → döngü,
ilk uygun ögeyi bulduğu anda durup “evet” diyebilir.
“Niceleyiciler algoritmanın verimli çalışmasını sağlar”
cümlesi tam olarak bunu anlatır. İki niceleyicinin bu davranışları
birbirinin aynadaki görüntüsüdür: biri karşı örnek arar, öteki
örnek arar.
Bir de şu bağlantı: “hepsi doğru mu?” sorusu, bütün ögeleri “ve”
bağlacıyla birleştirmektir; “en az biri doğru mu?” sorusu ise “veya” ile birleştirmektir.
Niceleyiciler, bağlaçların çok sayıda önermeye uygulanmış hâlidir.
Bir lise, akademik ve sosyal faaliyetlerde üstün başarı göstermiş öğrencilere burs vermek için özel bir program başlatmıştır. Program; öğrencilerin not ortalamalarını, etkinliklere ve bilimsel projelere katılımlarını dikkate alarak burs alacak öğrencileri belirlemektedir. Aşağıdaki düğmelerden bir koşul seç: sayfa, Tablo 1’deki yirmi öğrenciyi o koşula göre süzsün.
3. soru, öğrencilerin bilgilerini alan burs komitesinin her başvuru için
değerlendirdiği ölçütleri sayıyor:
· Not ortalaması 85’ten büyük olmalıdır.
· En az 2 yıl gönüllü etkinliklere katılım olmalıdır.
· Bilimsel projede yer almış olmalıdır.
Üçü de sağlanmalı ⇒ üç önerme “ve” ile bağlanır:
(not > 85) ve (süre ≥ 2) ve (proje = Evet)
Akış şemasında bu, art arda dizilmiş üç karar baklavasıdır:
herhangi birinden “Hayır” çıkarsa öğrenci hemen elenir, kalan koşullara bakılmaz. Bir
algoritmanın “ve” bağlacını böyle uygulaması verimlilik
kazandırır.
Yukarıdaki düğmelerden “Burs komitesinin üç ölçütü”nü seçersen
hak kazanan öğrencileri görürsün.
Tablo 3’te iki koşul yan yana duruyor ve aralarındaki ilişki tesadüf değil:
· A: Not ortalaması 83’ten az olanlar
veya bilimsel projede yer almayanlar
· B: Not ortalaması en az 83 olanlar
ve bilimsel projede yer alanlar
B, A’nın tam tersidir. Dikkat et: koşulları tersine çevirirken
“veya” da “ve”ye dönüştü. Bu, 6. sorunun cevabıdır:
iki koşulu da sağlayan öğrenci yoktur ve bu, algoritmayı
kurarken avantajdır — bir öğrenci A’yı sağlıyorsa B’ye
hiç bakmaya gerek yoktur.
Sınav tuzağı şurada: “(p ve q) değildir” demek
“p değil ve q değil” demek değildir;
“p değil veya q değil” demektir. Yukarıdaki iki koşulu
düğmelerle seçip listelerin hiç kesişmediğini kendin doğrula.
7. örnek: bir müzik aletleri üreticisi, metal çubukları kullanarak üçgen şeklinde çalgılar üretmektedir. Hangi çubukların birleştirilebileceğini ve birleştirildiğinde hangi tür üçgen çalgının oluşacağını belirlemek için üretim sürecinde bir algoritma kullanılmaktadır. Aşağıdaki kaydıraklarla üç çubuğun uzunluğunu değiştir; şema hangi kolu izliyor, bak.
“Ve” bağlacı iki önermenin aynı anda karşılanmasını gerektirir.
Örneğin bir metal parçanın uzunluğu, diğer iki metal parçanın uzunlukları toplamından
küçük ve farkının mutlak değerinden
büyük olmalıdır.
“Veya” bağlacı, üçgenin çeşidini belirleme sürecinde
kullanılır. Örneğin üçgenin ikizkenar olup olmadığının belirlenmesi için
“a = b veya b = c veya a = c” şeklindeki önermenin sonucuna
göre karar verilir. Verilen eşitliklerden herhangi birinin
sağlanması, üçgenin ikizkenar olduğunu doğrular.
“İse” bağlacı, algoritmada koşulların birbirine bağlı olduğu
durumlar için kullanılır. “Bir metal parçanın uzunluğu, diğer iki metal parçanın
uzunlukları toplamından büyük ise çalgı üretilemez.”
şeklindeki karar süreçlerinde işler.
Şemadaki ilk karar baklavası
|b − c| < a < b + c koşulunu taşır. Bu tek satır aslında
“ve” ile bağlanmış iki önermedir:
(a < b + c) ve (a > |b − c|)
Bu, önceki ünitelerde gördüğün üçgen eşitsizliğidir: bir
üçgenin bir kenarı, diğer iki kenarın toplamından küçük ve farkının mutlak değerinden büyük
olmalıdır. İkisi birden sağlanmazsa çubuklar bir üçgen oluşturmaz — çalgı üretilemez.
Ardından gelen karar baklavaları çeşidi belirler ve
sıraları önemlidir: önce
a = b ve b = c sorulur (eşkenar), sonra ikizkenar sorulur.
Sıra ters olsaydı eşkenar üçgen “ikizkenar” koluna düşer ve
eşkenar kutusuna hiç ulaşılamazdı.
Not: matematikte her eşkenar üçgen aynı zamanda ikizkenardır;
şema onları ayrı raporlamak istediği için sırayı böyle kurmuştur.
Ü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. Fil saati, Mardin’in Artuklu
ilçesindeki Kasımiye Medresesi’nde sergilenmektedir ve
30 dakikada bir sesli uyarı veren otomatik bir sistemdir.
altı adım, bir algoritmanın döngü yapısının ta
kendisidir:
1. Fil figürünün dâhilî haznesi suyla doldurulur; içine gözenek
genişliği ayarlanmış, yüzer bir kap yerleştirilir. Bu kap, tam olarak
30 dakika boyunca yüzeyde kalmak üzere dengelenmiştir.
2. Kabın altındaki gözenek suyun yavaşça içeri girmesine izin
verir; kap kademeli olarak ağırlaşır ve alçalır.
Kabın batma süreci, zamanlama mekanizmasının temelini
oluşturur.
3. Kap 30 dakika sonunda tamamen batar.
Bu koşul sağlandığında fil figürünün başındaki mekanik
tetikleyici harekete geçer.
4. Tetikleyici bir çekiç mekanizmasını aktive eder; çekiç metal
bir çana vurur.
5. Darbe belirgin bir ses üretir ve bu ses yarım saatlik
periyodun tamamlandığını gösterir.
6. Sesli uyarıdan sonra sistem yenilenir: kap su yüzeyine
yeniden yerleştirilir ve 30 dakikalık yeni bir süreç başlar.
6. adım, akış şemasındaki geriye dönen oktur. 3. adımdaki “kap
tamamen battı mı?” sorusu ise karar baklavasıdır. Not:
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.
5.3 bölümünün ana fikri şu: bir önermenin cebirsel ispatı ile o önermeyi test eden algoritma aynı adımları taşır. İspat “her x için” der ve bir kez ispatlar; algoritma tek tek denerse hiçbir zaman bitiremez. İspatın gücü tam olarak buradan gelir.
Önerme: “Her tek tam sayının karesi de tek sayıdır.”
1. adım (başlangıç):
n bir tam sayı olmak üzere x = 2n + 1 olsun. Her tek tam sayı
bu biçimde yazılabilir.
2. adım: x² = (2n + 1)² =
4n² + 4n + 1
3. adım: 4n² + 4n + 1 =
2·(2n² + 2n) + 1
4. adım: n bir tam sayı olduğundan
2n² + 2n de bir tam sayıdır. Ona m diyelim:
x² = 2m + 1, yani x² tektir. Böylece önerme ispatlanmıştır.
Kritik nokta 4. adımdır: “2n² + 2n bir tam sayıdır” demek,
ifadenin 2m + 1 kalıbına oturduğunu göstermek demektir. Bu
adım atlanırsa ispat tamamlanmamış olur.
4. soru ikisi arasındaki benzerlik ve farkları soruyor:
Benzerlikleri: ikisi de sıralı adımlardan oluşur; ikisi de
önce girdiyi tanımlar (x = 2n + 1 / kullanıcıdan bir tek sayı al); ikisinde de
bağlaçlar adımları birbirine bağlar.
Farkları:
· Algoritma tek bir x için çalışır; ispat
bütün x’ler için geçerlidir.
· Algoritmayı −10 ile 10 arasındaki tek sayılar için çalıştırıp on doğru sonuç almak
önermeyi ispatlamaz, yalnızca
destekler.
· Ama tersi geçerlidir: tek bir yanlış sonuç bulmak, önermeyi
çürütmeye yeter.
Bu asimetrinin adı niceleyicilerde saklıdır:
“her” önermesini çürütmek için bir karşı örnek yeter, ispatlamak
için tümünü kapsayan bir muhakeme gerekir.
Önerme: abc üç basamaklı bir doğal sayı; k, m ve n pozitif tam
sayılar olmak üzere
(a + b + c = 3m ve c = 2k) ⇒ abc = 6n
İspat. Üç basamaklı sayının açılımı
abc = 100a + 10b + c’dir. İzlenen yol, rakamlar toplamına
3’ün katı olan bir ifade eklemektir:
a + b + c = 3m eşitliğinin iki tarafına
99a + 9b (3’ün katı) eklenir:
100a + 10b + c = 3m + 99a + 9b
abc = 3m + 3(33a + 3b) = 3·(m + 33a + 3b) = 3p
Yani abc, 3’e tam bölünür. Ayrıca
c = 2k ise abc, 2’ye tam bölünür (birler basamağı çift).
abc hem 2’ye hem de 3’e tam bölündüğünden abc = 6n
bulunur.
Bu adım kolay göründüğü için hızlı geçilir ama
her sayı çifti için doğru değildir.
Bir sayı hem 2’ye hem 3’e bölünüyorsa 6’ya bölünür — çünkü
2 ile 3 aralarında asaldır (1 dışında ortak böleni yoktur).
Aynı şeyi 2 ve 4 ile deneyelim: 4 sayısı hem 2’ye hem 4’e
bölünür ama 8’e bölünmez. Sebep, 2 ile 4’ün aralarında asal
olmamasıdır.
Doğru kullanım örnekleri: 2 ve 3 ⇒ 6,
3 ve 4 ⇒ 12, 4 ve 9 ⇒ 36.
Yanlış kullanım: 4 ve 6’ya bölünen bir sayı 24’e bölünmek zorunda değildir (12 sayısı böyledir).
Girdi: abc doğal sayısı
Çıktı: abc’nin 6’ya tam bölünüp bölünmediğine dair bir çıktı
Başla
a ← abc / 100 (bölümün tam kısmı)
b ← (abc / 10) % 10
c ← abc % 10
(a + b + c) % 3 = 0 ve c % 2 = 0
ise yazdır “abc, 6’ya tam bölünür.”
Değilse yazdır “abc, 6’ya tam bölünmez.”
Bitir
Açıklama: “ve” bağlacı, her iki eşitliğin sağlanması durumunda sayının 6’ya tam bölünebileceğini gösterir. “İse” bağlacı yardımıyla abc sayısının 6’ya tam bölünme durumu kontrol edilir. Bu yapı, algoritmanın girdiye göre dinamik çıktılar üretmesini sağlar.
Üç basamaklı bir doğal sayının 8’e tam bölünüp bölünmediğini gösteren bir önerme yazılıp
ispatlamayı istiyor. Doğru önerme şudur:
abc üç basamaklı bir doğal sayı olmak üzere, abc sayısı 8’e tam
bölünür ⇔ 100a + 10b + c ifadesi 8’e tam bölünür.
Kısaltmanın yolu şu gözlemdir: 1000 sayısı 8’e tam bölünür
(1000 = 8 · 125), ama üç basamaklı sayıda binler basamağı yoktur; bu yüzden
üç basamaklı bir sayı için kestirme kural yoktur, sayının
kendisine bakılır.
Buna karşılık dört ve daha çok basamaklı sayılarda kural işe yarar:
bir sayının 8’e bölünüp bölünmediği, yalnızca son üç
basamağına bakılarak anlaşılır — çünkü binler ve üstü, 1000’in katı olduğu için zaten 8’e
bölünür. Örnek: 47 216 sayısında 216 = 8 · 27 olduğundan sayı
8’e tam bölünür.
Bu, 8. örnekteki muhakemenin aynısıdır: sayıyı, bölünebilirliği
kesin olan bir parça ile geri kalanına ayır, sonra yalnız geri kalana bak.
Önerme: “a > 0 için f(x) = ax + b şeklinde tanımlı doğrusal
fonksiyon artandır.”
Artanlığın tanımı: x₁ < x₂ olduğunda f(x₁) < f(x₂)
oluyorsa fonksiyon artandır.
İspat. x₁ < x₂ olsun. O hâlde
x₂ − x₁ > 0’dır.
f(x₂) − f(x₁) = (ax₂ + b) − (ax₁ + b) =
a·(x₂ − x₁)
a > 0 ve x₂ − x₁ > 0 olduğundan çarpımları pozitiftir:
f(x₂) − f(x₁) > 0, yani f(x₁) < f(x₂). Tanım gereği f
artandır.
İspatın çekirdeğinde bir “ve” var: iki pozitif çarpanın çarpımı
pozitiftir. 4. sorunun cevabı da budur —
bağlaçlar, ispatın adımlarını birbirine bağlamak ve sonuçların
doğruluğunu sağlamak için kullanılır.
· Sembolik ifadelerin anlaşılması: Niceleyiciler ve mantık
bağlaçları, sembolik ifadelerin doğru yorumlanmasını sağlayarak matematiksel dilin
anlaşılırlığını ve netliğini artırır.
· Genelleme ve özelleştirme: Niceleyiciler, matematiksel
ifadelerde genelleme veya özelleştirme yapmak için kullanılır.
· Adımları birleştirme: Mantık bağlaçları, bir ispatın
adımlarını birbirine bağlamak ve sonuçların doğruluğunu sağlamak için kullanılır.
· Koşullara göre karar verme: Mantık bağlaçları, ispat
süreçlerinde karar noktalarını belirlemek ve farklı durumlar arasında geçişi kontrol etmek için
kullanılır.
Alıştırmadaki önerme bu maddelerin hepsini kullanır:
“Çarpımı sıfır olan iki gerçek sayıdan en az biri sıfırdır.”
Buradaki “en az biri” bir
bazı niceleyicisidir ve önerme aslında
x · y = 0 ise (x = 0 veya y = 0) demektir — bir “ise” ve bir
“veya” aynı cümlede.
9. Uygulama, A = {5, −3, 2, 7, −4, 1} kümesinde birbiri ardına gelen elemanların toplamlarından en büyüğünü iki farklı yolla arıyor. İkisi de doğru cevabı bulur; aralarındaki fark kaç işlem yaptıklarıdır.
Tüketme yaklaşımı, elde edilen toplamlardan en büyüğünü bulmak
için bir döngü kullanır. Bu döngü, kümenin her elemanını birer birer ele alarak toplamları
hesaplar ve karşılaştırır.
Tablo 1 tam olarak bunu yapar: 5’ten başlayan bütün toplamlar, −3’ten başlayan
bütün toplamlar, 2’den başlayan bütün toplamlar…
6 elemanlı kümede bu, 6 · 7 / 2 = 21 ayrı toplam demektir
(tokalaşma formülünün akrabası). Küme n elemanlı olsaydı
n(n + 1)/2 toplam hesaplanırdı: 100 eleman için
5050, 1000 eleman için
500 500.
3. soru (“eleman sayısının artmasını hesaplama zamanı açısından değerlendiriniz”)
bu büyümeyi fark ettirmek içindir.
Tablo 2 ilk dört adımda şu değerleri veriyor:
5 · 2 · 4 · 11. Bunlar, “o elemanda
biten en büyük toplam”lardır.
6. soru algoritmanın kuralını buldurur:
hangi koşullarda yeni bir toplama işlemi başlatılır ve neden bazı
negatif toplamlar dikkate alınmaz?
Cevap tek satırdır: önceki toplam negatifse onu taşımanın anlamı
yoktur; yeni elemanla sıfırdan başlanır. Negatif bir başlangıç, ekleneceği her toplamı
küçültür.
Adım adım: 5 → 5 · (−3) → max(−3, 5−3) = 2 · 2 → max(2, 2+2) = 4 · 7 → max(7, 4+7) =
11 · (−4) → max(−4, 11−4) = 7 · 1 → max(1, 7+1) = 8.
En büyüğü 11, yani {5, −3, 2, 7}
dizisi.
Kadane, listeyi bir kez gezer: 6 eleman için 6 adım, 1000
eleman için 1000 adım. Tüketme yaklaşımının 500 500 adımı ile karşılaştır.
Sorular karışık sırayla geliyor. Bağlacı seç, doğruluk değerini bul, ispatın adımını tamamla.
Bir koşulun “ve” mi “veya” mı olduğunu yanlış anlamak, günlük hayatta da sınavda da aynı sonucu verir: yanlış cevap. Aşağıdaki dokuz sahne bunun için.
Alışveriş uygulamasında “beyaz” ve “46 numara” filtrelerini birlikte işaretlediğinde
“ve” çalışır: ikisini de sağlayan ürünler gelir, liste
kısalır.
Aynı filtrenin içinde “beyaz” ve “siyah” renklerini birlikte işaretlediğinde ise
“veya” çalışır: ikisinden biri olan her ürün gelir, liste
uzar.
Kural şu: “ve” daraltır, “veya” genişletir. Bunu bir kez
fark edersen sınavdaki küme sorularında da işine yarar — kesişim küçük, birleşim büyüktür.
Vavien devre, bir aydınlatma sistemini iki
farklı yerden kontrol etmeye yarayan bir elektrik devresidir. Bir katın başında ve sonunda
bulunan iki farklı anahtarla ışık açılıp kapatılabilir.
Üst kata çıkan kişi A anahtarını kullanarak lambayı açar; üst
kata vardığında B anahtarı ile kapatır. Yani lamba,
anahtarların durumları farklı olduğunda yanar.
Bu, tam olarak “ya da” bağlacıdır: yalnızca biri açıksa yanar,
ikisi de açıksa sönüktür. “Veya” olsaydı, ikisi de açıkken
lamba yanmaya devam ederdi ve üst kattaki anahtar ışığı söndüremezdi.
Okul voleybol takımı ilanında “boyu 1,70’ten uzun ve haftada en
az iki antrenmana gelebilen” yazıyorsa, bir şartı sağlaman
yetmez.
Burs algoritmasıyla aynı yapı: üç ölçütün üçü de
sağlanacak. Ali, Jale, Kerem ve Seda burs alırken
Pelin alamıyor — not ve süre şartını geçiyor ama bilimsel
projede yer almamış.
Bir eleme sürecinde “ve” ile bağlı ölçütlerden en zoru önce
sorulursa liste hemen kısalır; algoritmanın verimliliği artar.
Arkadaşın “bizim sınıftaki herkes matematikten 70’in üstünde
aldı” diyor. Bunu çürütmek için 30 kişinin notuna bakmana gerek yok:
65 alan bir kişiyi göstermen yeter.
Ama “herkes 70’in üstünde aldı” demeyi ispatlamak için
otuzuna da bakman gerekir.
Bu asimetri, “her” niceleyicisinin doğasıdır ve matematikte
karşı örnek denen şeyin gücünü açıklar. “Bazı” niceleyicisinde
durum tam tersidir: ispatlamak için bir örnek yeter,
çürütmek için hepsine bakmak gerekir.
Bir oyunda “5. seviyeye ulaş ve 3 arkadaş davet et” görevi
ile “5. seviyeye ulaş veya 3 arkadaş davet et” görevi arasındaki
fark, ödülü ne kadar çabuk alacağını belirler.
Oyun tasarımcıları bunu bilerek seçer: “ve” görevi zorlaştırır,
“veya” kolaylaştırır.
Bir de üçüncü tip vardır: “şu üç ödülden birini seç” —
bu “ya da”dır, ikisini birden alamazsın. Menülerdeki
“yanında patates ya da salata” cümlesiyle aynı yapı.
“1 ve 2. sorulardan birini cevaplayınız” ile
“1 ve 2. soruları cevaplayınız” arasındaki fark, puanını
değiştirir.
Yönergedeki bağlacı yanlış okumak, matematik hatası değil
mantık hatasıdır — ve daha pahalıya patlar.
Kontrol Noktası’ndaki tanımları yönergeye uygularsan hiç karışmaz:
“hepsi” mi, “en az biri” mi, “yalnızca biri” mi? Üç ayrı
sorunun üç ayrı cevabı var.
Kuponun arkasında “200 TL üzeri alışverişlerde geçerlidir, diğer
kampanyalarla birleştirilemez” yazıyorsa bu iki koşul
“ve” ile bağlıdır ve ikincisi bir
“değil” içerir.
Kuponu kullanmak için: (tutar > 200) ve (başka kampanya
yok).
Kuponun geçersiz olduğu durum ise bu koşulun değilidir:
(tutar ≤ 200) veya (başka kampanya var). Değil alınca “ve”nin
“veya”ya döndüğüne yine dikkat et — bu ünitenin en sık sınav çıkan tuzağı.
“Pil %20’nin altına düşerse güç tasarrufunu aç” bir “ise”
bağlacıdır. “Sadece ev kablosuz ağına bağlıysa ve saat
02.00’den sonraysa yedekleme yap” iki koşullu bir “ise”dir.
Bu kuralların hepsi, yukarıda anlatılan
karar baklavasıdır ve telefonun içindeki algoritma her
birkaç dakikada bir bunları kontrol eder.
Cezeri’nin fil saatiyle arasında yedi yüz yıl var ama yapı aynı:
koşul sağlandığında bir eylemi tetikle, sonra döngüye dön.
Mesajlaşma uygulamasında sohbetin başında görünen “mesajlar uçtan
uca şifrelenmiştir” yazısı, anlatılan
Diffie-Hellman anahtar değiş tokuşuna benzer bir yöntemin
çalıştığını söyler.
İki telefon, gizli anahtarlarını birbirine hiç göndermeden
ortak bir anahtar üretir. Kontrol adımı bir “ise”dir:
u = e ise güvenli iletişim kurulur, değilse kurulmaz.
Kullanılan matematik bu ünitenin ve bir öncekinin konusu:
asal sayılar, üslü gösterimler ve kalan bulma. Sınıfta
öğrendiğin “%” operatörü, cebindeki telefonun güvenliğini kuran şey.
48 soruluk test · dört mantık bağlacının işlevleri ve doğruluk değerleri, her ve bazı niceleyicileri, koşullarla süzme, üçgen çalgı akış şeması, vavien devre, tek sayının karesi ve 6’ya bölünme ispatları, Diffie-Hellman ve Kadane algoritması
ve → hepsi doğru mu?
veya → en az biri doğru mu?
ya da → yalnızca biri doğru mu?
ise → koşul sağlanınca komutu yerine getir.
Her: önerme herhangi bir öge için doğrudur.
Bazı: önerme en az bir öge için doğrudur.
Algoritmada arka planda işler.
İkisi de doğruyken:
veya → doğru
ya da → yanlış
Vavien devre “ya da” bağlacıdır.
(p ve q) değil ⇒ p değil veya q değil
(p veya q) değil ⇒ p değil ve q değil
Bağlaç yer değiştirir.
(not > 85) ve (süre ≥ 2) →
Ali, Jale, Kerem, Pelin, Seda
Üç ölçütün üçü birden → Ali, Jale, Kerem, Seda
(Pelin projede yer almamış).
|b − c| < a < b + c → üretilebilir (“ve”)
a = b veya b = c veya a = c →
ikizkenar
Toplamdan büyük ise → üretilemez.
x = 2n + 1 ⇒ x² = 4n² + 4n + 1 =
2(2n² + 2n) + 1
2n² + 2n bir tam sayı ⇒ x² tektir.
(a + b + c = 3m) ve (c = 2k) ⇒ abc = 6n
Sebep: 2 ile 3 aralarında asaldır.
4 ve 6’ya bölünen bir sayı 24’e bölünmek zorunda değildir.
A = {5, −3, 2, 7, −4, 1} için en büyük ardışık toplam
11 ({5, −3, 2, 7}).
Tüketme: n(n+1)/2 toplam ·
Kadane: n adım.