fonksiyonel programlama (functional programming)

yazan : Şadi Evren ŞEKER Programlama yaklaşımlarından birisi olan fonksiyonel programlama günümüz dillerinin neredeyse tamamında kullanılmaktadır. Bu yaklaşımda matematik fonksiyonlarında olduğuna benzer bir şekilde alt programlar tanımlanmakta ve bu alt programların değişik argümanlar ile çalışması sağlanmaktadır. Bu yaklaşım basitçe: Kod tekrarını engellemekte ve aynı kodun farklı şartlar için tekrar tekrar çalışmasını sağlamaktadır Kodun okunaibilirliğini arttırmakta […]

Devam

yapısal programlama (structured programming)

yazan: Şadi Evren ŞEKER yapısal programlama 1900lü yılların ortalarında programlama taleplerinin artması ile gelişen bir programlama felsefesidir. Buna göre programların analizi, tasarımları, kodlaması ve testleri arasındaki mantık uyumunu sağlamak amacıyla bir standarda gidilmiş ve aşağıdaki yapı çıkmıştır. Yapısal programlama amaç problemi alt parçalara bölerek bu parçaların çözümlerinin birleştirilmesidir. Bu yönüyle parçala fethet (Divide and conquere) […]

Devam

En uzun Ortak Küme (longest common subsequence, Lcs)

yazan : Şadi Evren ŞEKER İki küme arasındaki ortak elamanların (sıralı olmak şartıyla) en uzun ortaklığını arar. Örnek: A-> {X,M,J,Y,A,U} B-> {M,Z,J,A,W,X,U} olarak verilmiş olsun. Bu iki kümenin, sırası bozulmadan ortak olan en uzun alt kümesi: LCS -> {M,J,A,U} olarak bulunur. Bu problem karmaşıklık açısından NP-hard problemlere bir örnektir. Aynı zamanda çözüm için önerilen yöntemler […]

Devam

Dinamik Programlama (Dynamic programming)

Yazan: Şadi Evren ŞEKER Bir problem tahlil ve çözüm yöntemi olan dinamik programlama yapı olarak parçala fethet yöntemine benzer. Tek farkı problemi parçalara böldükten sonra aynı problemin tekrarı olan parçaları bir kerede çözüp her tekrar için ayrı bir çözüm yapmamasıdır. Örneğin fibonacci serilerini ele alalım, Bu seriyi üreten örnek kod aşağıda verilmiştir: int fibonacci(int n) […]

Devam

parçala fethet yöntemi (divide and conquer)

yazan: Şadi Evren ŞEKER Bu yöntem algoritma analizinde çok kullanılan, bir algoritmayı tahlil etmek veya yeni bir algoritma oluşturmak için kullanılan yaklaşımlardan birisidir. Bu yaklaşıma göre problem ufak ve çözülmesi nispeten daha kolay olan parçalara bölünür. Her parça ayrı ayrı çözüldükten sonra sonuçlar birleştirilerek genel problemin çözümü elde edilir.

Devam

varlık bilim (ontoloji (ontology))

yazan: Şadi Evren ŞEKER ontoloji (varlıkbilim) terim olarak olmak ya da olmamak kavramı üzerinde durur. Yani birşeyin var olup olmamasından, nasıl olduğuna kadar uzanan süreç ontolojidir. Bu anlamda, birşeyin var olup olmaması ile ilgilenen epistomolojinin üzerine, varlıkları gruplayan ve bu gruplar arası ilişkileri belirleyen bir katman olarak düşünülebilir. Ontolojinin kökleri felsefenin bir alt konusu olan […]

Devam

Ve kapısı (and gate)

yazan : Şadi Evren ŞEKER 2 farklı önermenin aynı anda gerçekleşmesi durumunu inceleyen kapıdır. Mantıkta buluna ve bağlacı şeklinde çalışır. Bu durumu aşağıdaki örnek üzerinde inceleyelim. Aşağıda iki farklı önerme verilmiştir: 1. üniversitede öğrenci olmak 2. devre analizi yapabilmek bu durum aşağıdaki tabloda ve bağlacı ile ifade edilmiştir: üöo day VE (And) 0 0 0 […]

Devam

Önermeler (kaziye) Mantığı (Propositional Logic)

yazan: Şadi Evren ŞEKER önerme mantık bilimi açısında anlam taşıyan en ufak olgudur. Örneğin: “insanın iki gözü vardır” bir önermedir. Bu önermelerin gerçek hayattan alınması zorunlu değildir. Örnemenin sonucu, önerildiği gibi gerçekleşirse bu durumda önermenin sonucu olumludur. Aksi durumda, yani önerildiği gibi bir sonuçla bitmezse bu durumda önermenin sonucu olumsuzdur. Önermenin sonucu: Doğru anlamlı ise […]

Devam

Alt küme toplamı problemi (subset sum problem)

yazan: Şadi Evren ŞEKER Algoritma teorisinde meşhur problemlerden birisidir. NP-Complete problemlere iyi bir örnektir. Problemin tanımı aşağıdaki şekildedir: verilen eksi ve artı tam sayılar kümesinin herhangi bir alt kümesinin toplamının 0 olduğunu bulmak. Bu problemin kontrol edilmesi oldukça basittir ancak verilen sayı kümesinden yukarıdaki tanımı sağlayan bir alt küme bulmak kolay değildir. Problemin örnek çözümü: […]

Devam

İki tümleyeni

Yazan : Şadi Evren ŞEKER Konunun diğer başlıkları: 2 tümleyeni, two’s complement Bilgisayar bilimlerinde, sayılar genelde ikilik tabanda tutulmaktadır. Değerleri ikilik tabanda göstermenin bir devamı olarak eksi sayı ve artı sayıları da ayırmak gerekmektedir. bir tümleyeni gibi iki tümleyeni de eksi sayıları göstrem biçimlerinden birisidir. iki tümleyenini almak için önce bir tümleyeni alınır ardında sayıya […]

Devam