BLOG

  • Çin Kalan Teoremi

    Çin Kalan Teoremi

    There are certain things whose number is unknown. If we count them by threes, we have two left over; by fives, we have three left over; and by sevens, two are left over. How many things are there? Sunzi Suanjing

  • Kriptoloji Ders 3

    Kriptoloji Ders 3

    1) UYARI: 2 ile 6 aralarında asal olmadığı için yukarıdaki sadeleştirmeyi gerçekleştirme mümkün değildir. 2) 3)

  • Olasılık Teorisi ve İstatistik Ders 1

    Olasılık Teorisi ve İstatistik Ders 1

    Kitaplar A.H. Kayran ve M.N. Yücel “Olasılık Teorisi ve Stokastik Süreçler”Papatya YayıneviSheldon M. Ross “… Olasılık ve İstatistiğe Giriş”Nobel Yayınevi Örnek Uzayları, Olaylar ve Rastgele Deney Rastgele Deney Bir deney aynı şekilde tekrar edildiği halde farklı sonuçlar verebilyiorsa bu deneye “rastgele deney” denir. Kolaylık açısından bu derste “rastgele” kelimesini devamlı kullanamayacağız. Örnek Uzayı Bir deneyde…

  • Derleyici Tasarımı Ders 1

    Derleyici Tasarımı Ders 1

    Ders içeriği kapsamında işlenecek konular Derleyicinin Yapısı (Compiler) nedir?Sözdizimi Analizi (Lexical Analysis)Kurallı İfadeler (Regular Expression)Sonlu Otomat (Finite Automata-FA)Sentaks Analizi (Syntax Analysis)Belirsizlik (Ambiguity)Ayrıştırma (Parsing)Tip KontrolüAra kod üretimi (Intermediate Code)İyileştirme (Optimizations)Hedef Dil Kaynaklar Dick Grune, Keesvan Reeuwijk, Henri E. Bal, Ceriel J.H. Jacobs, and Koen G. Langendoen (2012). Modern Compiler Design -Second EditionAlfred V. Aho, Monica S.…

  • Kriptoloji Ders 2

    Kriptoloji Ders 2

    Sayılar Teorisi Bölme Teoremler 1) 2) 3) Bölme İşlemi Modül Aritmetiği Modül İşlemi Modül Denkliği Asal Sayı OBEB (GCD) a ile b aralarında asal demektir. OKEK (LCM) Öklid Algoritmasıyla GCD Hesabı Yardımcı Teorem: Euclidean algorithm Örnek örnek Cebirin Temel Teoremi Örnek Extended Euclid Örnek Örnek Ödev extended euclid algoritmasını implemente ediniz

  • CPP Pointerlar
  • CPP Struct Giriş

    CPP Struct Giriş

    3 boyutlu uzayda noktalar oluşturmak isteyelim. Bunun için 3 tane int türünden değişken kullanabiliriz (ya da float). 10 tane nokta tutmak istiyorsak 30 tane integer değişkeni oluşturmamız gerekir. Array üzerinde tutmak istersek 3 tane farklı array oluşturmamız lazım. Bir array her noktanın x koordinatını öteki iki array ise y ve z koordinatlarını tutacak. Bunun da…

  • CPP Multi Dimensional Array

    CPP Multi Dimensional Array

    Şuana kadar kullandığımız arrayler tek boyutluydu. Yani indekslerini temsil ederken tek bir sayı kullanıyoruz. 5. elaman 10. eleman 1. eleman gibi. Lakin farklı zamanlarda bu bizim için yeterli olmamaktadır. Örneğin bir resim için 3 boyuta ihtiyacımız var. İlk iki boyut satır ve sütun için gerekliyken 3. boyut r,g,b için gereklidir. Yukarıda 2 boyutlu bir array…

  • Kriptoloji Ders 1

    Kriptoloji Ders 1

    Sınav Derse sınav yaparak başladık. Sınav soruları: Sınav Soruları CIA nedir? Cryptolocker nedir? Açıklayınız.SHA-256’dan geçirilmiş bir veriyi nasıl geri döndürürüz?WPA-2 ‘de kullanılan şifreleme algoritması nedir?Shift Cipher nedir?Kırılamayan bir şifreleme algoritması var mıdır? Açıklayınız. Sınav Cevapları 1-) CIA Confidentiality -> gizlilik (şifreleme algoritmaları)Integrity -> bütünlükAvailability -> erişilebilirlik (dos/ddos) Güvenlik denilince genelde akla sadece ilk unsur(gizlilik) gelir. Lakin…

  • CPP Range-based for loop

    CPP Range-based for loop

    for döngüsüne benzer bir yapı. Daha pratik bir kullanıma sahip. Sıralı bir container üzerinde baştan sona tek tek elemanları getirir. Genel yapısı şu şekildedir burada vec içindeki değerler baştan sona tek tek kopyası oluşturulup i ye atanıyor kopyasını oluşturmak istemiyorsak & kullanmamız lazım Örnek:

  • CPP Vector

    CPP Vector

    Standart kütüphanenin içinde olan array işlevi gören çok işlevli bir yapıdır. Bu yapının boyutu değişkendir. Büyüyüp küçülebilir. Bellekte ardışık bir şekilde tutulabilir. Boyutunu size() fonksiyonuyla öğrenebiliriz. Bu yapıyı kullanmak için öncelikle include etmemiz lazım: Bu yapıyı farklı veri türleriyle kullanabiliriz. Kullanmak istediğimiz veri türünü <> arasına yazıyoruz: Fonksiyonlarına bakalım. Örnek 1: Örnek 2:

  • CPP Array Giriş

    CPP Array Giriş

    Şuana kadar oluşturduğumuz değişkenlerimizi hep 1 değer tutuyordu. Örneğin int i = 5; dediğimizde i değişkeni sadece 1 tane sayı değerini tutabiliyor. Kod yazarken genelde tek bir değerle değil bir değerler dizisine ihtiyacımız olur. Bu tip durumlarda array kullanıyoruz. Array bellekte sıralı bir şekilde tutulur. İndeksi (yani sıra numarası) 0 dan başlar. Örnek: array’in ismi…

  • CPP Fonksiyonlara Giriş

    CPP Fonksiyonlara Giriş

    Çok kullanışlı bir yapı olan fonksiyonlara kısa bir giriş yapacağız. Fonksiyonlarımız, tekrar tekrar kullanabileceğimiz kod bloklarıdır. Bir kodu tekrar tekrar yazmak yerine bir fonksiyon yazıp her seferinde o fonksiyonu çağırıyoruz. Bu fonksiyonun ilk kullanım sebebidir. İkinci sebebi ise kodu anlamlı parçalara bölmektir. Şuana kadar 50-100 satırdan fazla kod yazmadık bu sebepten dolayı hepsini main fonksiyonuna…

  • CPP Do-While

    CPP Do-While

    While döngüsü gibi tek farkla. do while bloğu içinde yazılı olan şeyler ne olursa olsun 1 kere çalışır. Aşağıdaki while döngüsü çalışmayacaktır. Sonuç olarak ekrana hiçbir çıktı alamayacağız. Do while da ise bir kere ekrana çıktı verip döngüden çıkacaktır. do-while döngüsünün eş değeri şu ifadedir farkettiyseniz aynı kod satırını iki kere yazdık. Bu da istenmeyen…

  • CPP Break&Continue

    CPP Break&Continue

    Döngülerde çok işimize yarayacak iki ifade. Bu ifadeler döngünün akışını kontrol etmemize yarayacak. Yaptıkları iş çok basit Break ifadesi döngüden çıkar. Yani break ifadesi çalıştığında o döngü bir daha çalışmayacaktır. Break kelime anlamı olarak “kırmak” anlamına geliyor. Yani döngüyü kırıp çıkıyorsunuz. Continue ifadesi bir sonraki iterasyondan devam eder. Yani continue ifadesi çalıştığında döngünün devamındaki ifadeleri…

  • CPP For

    CPP For

    While döngüsü gibi ama daha pratik. Bir şeyi N kadar tekrar etmek istiyorsak bu döngüyü kullanırız. Aynı işlemi while döngüsüyle de yapabiliriz lakin daha fazla uğraşmak gerekir. [0,10) aralığındaki sayıları yazdırmak isteyelim: for kelimesinden sonra 3 tane yazabileceğimiz alan var alan1′ e genelde int i = 0; gibi değişken tanımlamalarımızı yapıyoruz. Bu tanımlamalar sadece for…