LOGIC Gates ve Yazılımda Mantık
Gelin, kodlama dünyasının gizli kahramanlarına, dijital dünyanın DNA’sına daldığımız bir yolculuğa daha çıkalım: Logic Gates – Mantık Kapıları! Evet, adını duyduğunuzda sanki uzak bir galaksinin sırrına erişiyormuşsunuz gibi hissettiren bu kapılar, sadece kodlama evreninin değil içerisinde elektrik olan her alanın temel taşlarıdır. Hayatınız boyunca bilgisayarlarımızın nasıl düşündüğünü nasıl karar verdiklerini merak ettiniz mi? İşte bu yazı, merak ettiğiniz tüm sırlarını açığa çıkaracak. Temel mantık işlemlerinden başlayarak ileri seviye oyunlara ve uygulamalara kadar uzanan, mantık kapılarının büyülü dünyasına hoş geldiniz!
Temel Mantık Kapıları (Logic Gates) Kavramları ve Kodlamaları
Tanım olarak mantık; bilgisayarlar, elektronik cihazlar ve otomasyon sistemleri gibi pek çok alanın temelini oluşturur ve bu sistemlerin doğru çalışmasını sağlar. Fakat atladığımız bir nokta şu ki mantık, sadece elektronik cihazlar ve bilgisayarlarda değil insan olarak bizim de karar verme süreçlerimizde ve veri analizinde hayati bir rol oynar. Bilimsel araştırmalardan endüstriyel otomasyona kadar geniş bir yelpazede kullanılır. Bu sayede daha verimli, güvenilir ve karmaşık işlemleri daha kolay yönetmemiz konusunda avantaj sağlar. İleride insanlar ile bilgisayarların aslında çok da farklı olmadığını konu alan bir yazı da ele almayı düşünüyorum. O yüzden takipte kalın 🙂 Bugün konumuz genel anlamda mantık!
Hepimizin lise matematiğinden bildiği mantık aslında nedir? Mantık, bilginin yapısını inceleyen, doğru ile yanlış arasında akıl yürütmenin ayrımını yapan disiplindir. Yani bir nevi doğru düşüncenin aletidir. (En azından Google’a göre böyleymiş.) Halen tartışmalı da olsa önceleri felsefe alanı ile anılsa da sonraları matematik ve bilgisayar bilimiyle daha çok anılır hale geldi. Hani hep derler ya “Oğlum yazılımcı olacaksan matematik şarttt!” işte bahsedilen matematik ile tanıştırayım sizi: MANTIK 🙂
Mantığın olduğu yerde temel olarak akış şu şekilde yürür: Seçenekleri belirlemek, olasılıkları değerlendirme, karşılaştırma yapmak, ve en nihayetinde karar verme ile akış tamamlanır. Mantık kapıları ya da daha yaygın bilinen ismiyle Logic Gates ise karar mekanizması görevi üstlenerek kapının özelliğine uygun mantıksal sonuçlar üretir.
Peki Nedir Bu Mantık Kapıları (Logic Gates)?
Gate’leri açıklamadan önce biraz analoji yaparak anlatımı keyiflendirerek daha akılda kalıcı olmasını istiyorum. Bu yüzden şöyle bir senaryo hayal edelim: Bir gece kulübümüz var ve müşteri konusunda da seçiciyiz 🙂 Kapıda ki korumalar da bizim Logic Gates’imiz oluyor bu durumda. Ve kapıdaki kuyruktaki müşterileri o an ki Gate’imizin kriterlerine göre içeri alacağız ya da almayacağız. Anladıysak tamam devam edelim. 🙂 Gece Kulübü Bodyguard Mantığı 101, hadi dalalım.
- NOT Gate
NOT Gate, bu abimiz biraz aksi biri ve diyelim ki saçı olan müşterileri sevmiyor. Tek kriteri gelen müşterinin saçı olmaması. Yani, giriş True (doğru) ise (bu durumda müşterinin saçı var ise) çıkış False (yanlış) olur yani içeri almaz.
- AND Gate
AND Gate ise biraz daha fazla kriteri olan takıntılı bir abi, iki ve ya daha fazla giriş kriteri olmalı. Mesela bu abi de saçı olan ve kolunda saati olan müşterileri alıyor diyelim. Bu durumda hem saçı olan hem de saati olan müşteri geldiğinde yani iki şart da sağlandığında çıkış değeri True yapar. Aksi halde değerlerin en az birinin False olması yani sadece saçı olması ya da saati olması halinde müşteriyi içeri almaz sonuç her zaman False dönecektir.
- OR Gate
OR Gate ise daha rahat iyimser bir abi, iki giriş değerinin en az birinin True olduğu durumlarda çıkışı True yapar. Aynı örnekten gidecek olursak AND abinin aksine bu abi için sadece saati olan müşteriyi de sadece saçı olan müşteriyi de içeri alır. Ama hem saçsız, hem de saati yoksa bu abinin şalterleri atabilir. Yani bu gate’in çıkış değerinin False değeri çıkabilmesinin tek yolu gelen iki değerin de False olmasıdır.
Sanırım yazılımcılık yapanların biraz daha aşina olduğunu söyleyebiliriz 🙂 “E bunlar her gün yazdığımız if blokları?” diyorsanız: Evet! Bildiniz. Programlamanın ilk günlerinde öğrendiğiniz if (eğer) statement konusu temelde bilgisayar mühendislerinin üniversiteden hatırladıkları Logic Design’a dayanır. Bu konuya değinmeden önce göstermem gereken ileri seviye gate’ler var birde.
- XOR Gate (eXclusive OR)
XOR (eXclusive OR) Gate dediğimiz mantık kapısı aslında has be has lüks mekan bodyguard’ıdır. İki giriş değeri arasında bir fark olduğunda çıkışı True yapar. Aksi halde dönüş her zaman False olacaktır. Yani bir başka değişle; XOR Gate mantığına sahip bir bodygourd için mekana damsız girilmez arkadaşlar 🙂 Bu abi iki erkeği içeri almaz, bir erkek bir kadın olursa alır. Yani iki değer de True ise ya da False ise sonuç False çıkar. Ancak bir True bir False değer olursa sonuç True çıkar. Gerçi bu konumda iki kadını da almaması lazım içeri ama işte gerçek hayat acımasız ve konumuz bu değil 🙂
Bu arada kısa bir pro tip, kodlama sever yazılımcı dostlarıma;
if blokları yazarken condition’larda kullandığımız “==”, “!=”, “&&”, “||” gibi operatörlere ek olarak “^” operatörü buradaki XOR operasyonunu yönetir. Daha açıklayıcı bir dille anlatmak gerekirse; “^” (cadet) operatörü sadece değerlerin uyuşmadığı case’de true değerini veriyor.
- NAND Gate
NAND Gate mantığına sahip koruma abi, AND Gate’e sahip abiyi pek sevmez bu yüzden de onun içeri aldıklarını asla almaz onun içeri almadıklarını da inadını alır 🙂 Yani, iki giriş değeri True olduğunda çıkışı False yapar. Basit anlamda anlaşılacağı gibi AND’in kriteri her neyse tam tersi durumda True değeri döner.
- NOR Gate
NOR Gate olan abi de aynı şekilde OR’u sevmez, OR gate’in tersini alır. Yani, iki giriş değeri de False olduğunda çıkışı True yapar.
- XNOR Gate (eXclusive NOR)
XNOR abi ise XOR Gate örneğindeki abiye biraz inat yapmış. Tabiri caizse mekana inadına çiftleri almayan bodyguard’dır. Farklı tercihler bir şey diyemeyiz 🙂 İki giriş değeri arasındaki eşitliği kontrol eder. Yani, iki giriş aynı değerdeyse çıkış True olur, aksi halde çıkış False (yanlış) olur. XNOR kapısı, genellikle “eşit mi?” sorusunun yanıtını temsil eder.
Özet olarak, logic gates’i mekanınıza koruma yaparsanız batarsınız arkadaşlar 🙂 Şakası bir yana mantık kapıları (logic gates) bilgisayar biliminden günlük yaşamımıza kadar pek çok alanda temel bir rol oynamaktadır. Bu kapılar, koşulları ve mantıksal operasyonları temsil ederek bilgisayar programlamasında ve elektronik devrelerin tasarımında vazgeçilmezdir. Temel mantık kapıları (logic gates) olan NOT, AND ve OR kapıları, karmaşık işlemlerin temelini oluştururken, XOR, NAND, NOR ve XNOR kapıları daha ileri düzeydeki mantık işlemleri için kullanıldığını artık biliyoruz.
Bu yazı, bizi mantık kapılarının (logic gates)’in temel kavramlarından başlayarak ileri seviyedeki mantık kapılarına kadar bir yolculuğa çıkardı. Mantık kapılarının günlük yaşamımızın her alanında karşımıza çıktığını görmek, bilgisayar biliminin, bilgisayar ve elektronik mühendisliğinin ne kadar önemli olduğunu anlamamıza yardımcı olur desek yalan olmaz. Logic gates, bilgisayarlarımızın düşünme şeklini temsil ederken, yazılım geliştirme ve elektronik tasarım alanlarında da büyük öneme sahip olmakta. Unutmamak gerekir ki, logic gates ve yazılım, modern teknolojinin temel taşlarıdır ve bu alandaki ilerlemeler, gelecekteki inovasyonları şekillendireceği konusu su götürmez bir gerçektir.
Yeni kodlar, yeni başarılar. Yolunuz açık olsun!
Takipte kalın!