Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıkça kullanılan bir örnek olan faktöriyel fonksiyonu yapısı itibari ile özyineli (recursive) bir fonksiyondur. Yani fonksiyonun çözümünde yine kendisi cinsinden yazılma şansı vardır. Faktoriyel fonksiyonunun tanımını şu şekilde yapabiliriz: n! = n (n-1) (n-2) … 1 Yanibasitçe faktöriyel fonksiyonu herhangi bir sayı için 1’den o sayıya kadar olan […]
Category: C/C++
İşlem Yükleme (Operator Overloading)
Yazan : Şadi Evren ŞEKER Programlama dillerinde, özellikle de nesne yönelimli (object oriented) programala dillerinde bir işlemin (operator) farklı amaçlar için ve farklı veri tipleri ile kullanılması mümkündür. Örneğin C++ dilinde aşağıdaki yapı ile bu işlem yapılabilir: operator([parametreler]) { İşlemler } Örneğin bu yapıda yeniden tanımlanmış (üzerine yüklenmiş, overload) aşağıdaki kodu inceleyelim: int operator+(int a, […]
Yahut Şifrelemesi (XOR Encryption)
Yazan : Şadi Evren ŞEKER Veri güvenliğinde kullanılan en basit şifreleme algoritmalarından birisidir. Şifreleme ailesi olarak blok şifreleme (Block Cipher) ailesinden simetrik şifreleme olarak kabul edilebilecek olan bu şifreleme algoritmasında mesaj önce verilen blok boyutunda parçalara bölünür. Ardından her parça anahtar ile Yahut (XOR) işlemine tabi tutulur. Çıkan sonuçlar birleştirilerek şifreli mesaj elde edilir. Alıcı […]
Birlik (Union, İttihad)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde hafızanın verimli kullanılması ve aynı amaca hizmet eden bilgilerin birlikte tutulması amacıyla geliştirilen bu yapılarda tanımlanan alt verilerin tamamı hafızada (RAM) bir arada tutulur ve bir seferde hepsine erişilebilir. Aslında kullanım ve mantık olarak yapılara (Structs) oldukça çok benzeyen birliklerin (unions) tek farkı veriyi hafızada aynı yerde tutmasıdır. […]
Şablonlar (Templates)
Yazan : Şadi Evren ŞEKER Bilgisayar mühendisliğinin pek çok alanında kullanılan şablonlar, programlama dillerinde bir fonksiyon (function) veya programın bir parçasının farklı değişken tipleri için kulllanılmasını sağlarlar. Örneğin JAVA ve C++ dillerinde kullanılan bu özelliği bu yazı kapsamında açıklamaya çalışacağız. Örneğin aşağıdaki kod parçasını ele alalım: template<typename T> template<class T> Yukarıdaki ilk satırda bir tip […]
fstream (File Stream, Dosya Akışı)
Yazan : Şadi Evren ŞEKER Özellikle C++ dilinde dosyalara erişmek ve dosyalar üzerinde işlem yapmak için çeşitli fonksiyonlardan oluşan bir kütüphanenin ismidir. Aslında bilgisayarlardaki giriş çıkış işlemlerini ( I/O input/output) dört ana başlıkta toplamak mümkündür. Standart giriş çıkış işlemleri (klavye ve ekran) (Standard input output) Dosya giriş çıkış işlemleri (İşletim sisteminin dosya yapısındaki bir dosyadan […]
Sayma (Enumeration, Tâdâd)
Yazan: Şadi Evren ŞEKER Bilgisayar bilimlerinde alınabilecek alternatiflerin sayılması ve bu sayılan ihtimaller dışındaki ihtimallerin kabul edilmemesi durumudur ( ihtimallerin tâdât edilmesi) Örneğin programlama dillerinde bir değişkenin alabileceği değerleri tanımlayarak bu değişkene sadece bu değerlerden birisinin konulması sağlanabilir. Örneğin C dilinde yazılmış aşağıdaki kodu ele alalım: enum gunler{ pts,sal,car,per,cum,cts,paz }gun; main(){ gun=sal; printf(“n%d”,gun); //2. gün […]
Aks-i Müfret (Palindrome)
Yazan : Şadi Evren ŞEKER Edebiyatta bir sanat olan aksi müfret, bir kelimenin ya da bir cümlenin baştan ve sondan okunuşunun aynı olması durumudur. Bazı kaynaklarda bedii sanatı olarak da zikredilmektedir. Örneğin Yasin sûresi 40. ayette (Küllün fi felek) “Aya erişmek güneşe düşmez. Gece de gündüzü geçemez. Her biri bir yörüngede yüzerler.” (Yasin: 40) Âyetteki […]
Filitreleme Tipi Fonksiyonlar (Filter Type Functions)
Yazan : Şadi Evren ŞEKER Bir veri yapısı üzerinde çalışan ve veri yapısında bulunan verileri, verilen bir fonksiyonu kullanarak eleyen (filitreleyen) fonksiyon tipidir. Bu durum aşağıdaki bağlı liste (linked list) örneğinden anlaşılabilir: Örneğin yukarıdaki bağlı liste üzerinden tek sayıları eleyen bir fonksiyon yazmak istersek yapmamız gereken, tek sayıları veren aşağıdaki fonksiyonu bu bağlı liste üzerine […]
Biriktirme Tipi Fonksiyonlar ( Accumulator Type Functions)
Yazan : Şadi Evren ŞEKER Bir veri yapısı üzerinde çalışan ve veri yapısında bulunan verileri, verilen bir fonksiyonu kullanarak bir değişkende biriktiren fonksiyon tipidir. Bu durum aşağıdaki bağlı liste (linked list) örneğinden anlaşılabilir: Örneğin yukarıdaki listede toplama fonksiyonu olarak aşağıdaki fonksiyonu uygulayacak olursak: int topla(int a, int b){ return a + b; } sırasıyla yapılması […]