Programlama Dilleri

Etiket ve gitme komuları (Label and GOTO)

Yazan : Şadi Evren ŞEKER Programlama dillerinde kullanılan ve dilin içerisindeki akışın bir başka noktaya yönlendirilmesini sağlayan komutlardır. Yapısal programlama dillerinde (Structured programming languages) bu tip atlama komutlarının kullanılması yasaktır. Ancak programlama dilleri, programcıya tanıdıkları esneklikten dolayı gitme komutlarını desteklerler. Basit bir etiket ve gitme komutu kullanılmış kod aşağıdaki şekilde yazılabilir: Yukarıdaki kodda, 6. Satıra [...]

Şadi Evren ŞEKER tarafından, 26/12/2009 tarihinde yazıldı. | C/C++, Programlama Dilleri | A yorum var

Tam sayı veri tipi (Integer variable type)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde hemen hemen bütün programlama dillerinde bulunan en basit veri tipidir. Programlama sırasında tutulan basit tam sayıları işlemek için kullanılır. Normal bir tam sayı değişkeni 16 bitliktir (ikil) ve 16 ikil ile (bit) tutulabilecek olan-32767 ile +32767 sayıları arasında tanımlı olan değerleri tutabilir. 32 bitlik işletim sistemleri ve derleyicilerin [...]

Şadi Evren ŞEKER tarafından, 08/12/2009 tarihinde yazıldı. | C/C++, Programlama Dilleri | A yorum var

Tek atama dili (single assignment language)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan bir programlama dili tipidir. Bu dilde herhangi bir değişkene yalnızca bir kere atama yapılabilir. Literatürde sasl (single assignment language, tek atamalı diller) olarak geçen dil bu tipe bir örnektir. Ayrıca C dilinden esinlenerek hazırlanmış ve C yazım kuralları ile uyumlu sacl (single assignment C language) dili de [...]

Şadi Evren ŞEKER tarafından, 03/12/2009 tarihinde yazıldı. | Derleyiciler, Programlama Dilleri | A yorum var

DFA Metin Arama Algoritması (DFA Text Search)

Yazan : Şadi Evren ŞEKER 1. Otomatın İnşası 2. Algoritmanın arama aşaması 3. Algoritmanın çalışması 4. Algoritmanın kodlanması Bilgisayar bilimlerinde, bir metnin içerisinde farklı bir metnin veya bir kelimenin aranması sırasında kullanılan algoritmalardan birisidir. Algoritma, aranan kelime için bir otomat (automaton) oluşturur ve hedef metin içerisinde bu otomata göre arama işlemi yapar. Oluşturulana otomatın DFA [...]

Arama Algoritmaları (Search Algorithms)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, çeşitli veri yapılarının (data structures) üzerinde bir bilginin aranması sırasına kullanılan algoritmaların genel ismidir. Örneğin bir dosyada bir kelimenin aranması, bir ağaç yapısında (tree) bir düğümün (node) aranması veya bir dizi (array) üzerinde bir verinin aranması gibi durumlar bu algoritmaların çalışma alanlarına girer. Yapısal olarak arama algoritmalarını iki [...]

C dilinde döngü örnekleri

Yazan : Şadi Evren ŞEKER Bu yazıyı dersimi alan C ile programlamaya giriş öğrencileri için yayınlıyorum. Yazıyı okuyabilmek için sitemdeki C giriş dersinin sayfasında bulunan şifreyi giriniz. 510 views

Şadi Evren ŞEKER tarafından, 11/11/2009 tarihinde yazıldı. | C/C++, Programlama Dilleri | 3 yorum var

Bogo Sıralama (Bogosort)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle eğitim amacıyla kullanılan bir sıralama algoritmasıdır. Algoritmanın çalışması oldukça basittir, bogosort, verilen bir diziyi sıralamak için rast gele bir dizilim üretir ve sıralı olup olmadığına bakar, şayet sıralıysa algoritma sona erer, şayet sıralı değilse rastgele olarak yeni bir dizilim elde eder, ta ki sayılar sıralanana kadar sayıları [...]

DOM (DNM)

Yazan : Şadi Evren ŞEKER DOM yani İngilizcedeki Document Object Modelling veya Türkçe karşılığı ile Doküman Nesne Modellemesi basitçe bir işaretleme dili (genellikle HTML veya XML gibi bir dil) için etiketlere (tags) erişmeyi sağlayan bir erişim yöntemidir. Günümüzde SAX ve DOM en yaygın olarak kullanılan erişim yöntemledir. SAX daha çok tek seferde işlenen ve ardışık [...]

Python ile Programlama

Yazan : Şadi Evren ŞEKER Aslında bir betik dili (scripting language) olan ve bu yüzden bir yorumlayıcısı (interpreter) bulunan python, özellikle dilbilim ve veri güvenliği alanlarında yoğun olarak kullanılmaktadır. Özellikle Linux ve Unix varyantı işletim sistemlerinde sistem yöneticileri (administrator) tarafından baz işleri hızlandırmak amacıyla Perl, Php veya bash gibi betik dilleri (scripting languages) yoğun olarak [...]

Şadi Evren ŞEKER tarafından, 18/10/2009 tarihinde yazıldı. | Programlama Dilleri | 1 yorum var

Pardus üzerinde Dev-CPP

Yazan  : Şadi Evren ŞEKER Pardus kullanan ve bilgisayarına bloodshed.net sitesinden dev-cpp’nin linux versiyonunu indirerek kurmaya çalışan herkes gibi ben de libqt.so.2 veya libqtintf.so dosyası ile ilgili paylaşım (share) veya bulunamama hatası aldıktan sonra problemimi wine ile çözdüm ve bu yazının benzer durumdaki kişilere faydalı olacağını düşünüyorum. Ne yazık ki linux sürümünü çalıştıramadım ve çalışacağını [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, Programlama Dilleri | A yorum var

Eşlemeli Metotlar (Synchronized Methods)

Yazan : Şadi Evren ŞEKER JAVA, C++ veya C# gibi nesne yönelimli programlama dillerinde kullanılan bir terimdir. Basitçe, aynı anda çalışan birden fazla lifin (thread) veya işlemin (process) sıralı olmasını ve birbiri ile iletişim halinde çalışmasını sağlar. Nesne yönelimli programlama ortamında iki farklı kavram birbirine sıkça karışmaktadır. Aslında anlam olarak birbirine yakın olan synchronized methods [...]

Şadi Evren ŞEKER tarafından, 09/10/2009 tarihinde yazıldı. | C/C++, işletim sistemleri, JAVA, Programlama Dilleri | 1 yorum var

Dilin Derecesi (Rate of Language)

Yazan  : Şadi Evren ŞEKER Veri işilemede (veri güvenliği veya veri tabanı gibi teorilerde) bir verinin içinde bulunduğu dilin (language) derecesinden bahsedilebilir. Burada derece (rate) ile kastedilen verinin değişim oranınını bulmaktır. Basitçe verinin entropisinin (dağınımının, entropy) verinin uzunluğuna bölümü ile elde edilir r = H(M) / N Yukarıdaki formülde r, dilin derecesini, H(M) derecesini sorguladığımız [...]

Şadi Evren ŞEKER tarafından, 04/10/2009 tarihinde yazıldı. | Doğal Dil İşleme (NLP), Programlama Dilleri | A yorum var

JML ( Java Modelleme Dili)

Yazan  : Şadi Evren ŞEKER JML ingilizce Java modelling language kelimelerinin baş harflerinden oluşan bir kısaltmadır. Basitçe bir java kaynak koduna eklenen ilave satırlar ile progam doğruluğunu (program correctness) sağlamayı amaçlar (program verification). İlave olarak eklenecek satırlar java kodunun içerisine yorum satırı gibi ilave edilir. Normal java yorum satırlarından tek farkı ilave olarak konulan @ [...]

Hoare Mantığı ( Hoare Logic )

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, program doğrulama ( program corectness) için kullanılan mantığın ismidir. Basitçe bir dizi matematik kuralları ile bir programı modellemeye ve programın doğruluğunu ispatlamaya (veya yanlışlığını göstermeye) yarayan mantıktır. Bu mantığın bilgisayar dünyasında bir dil olarak modellenmesi sonucunda yine bir muntazamn dil (formal language) ortaya çıkar. Yani aslında bir programın [...]

Şadi Evren ŞEKER tarafından, 10/09/2009 tarihinde yazıldı. | Derleyiciler, Programlama Dilleri | 1 yorum var

Program doğruluğu ( Program correctness)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir programın istenen özellikleri yerine getirip getirememesine verilen isimdir. Buna göre şayet bir program, beklenen özellikleri tam ve eksiksiz yerine getiriyor, istenmeyen sonuçlar ortaya çıkmıyor ve program başladıktan sonra her durumda başarılı bir şekilde bitiyorsa bu programa tam doğru ( total correctness) ismi verilir. Durma probeleminden (halting problem) [...]

Cluster Computing (Bilgisayar Kümeleri)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, daha fazla işlem gücü elde etmek amacıyla birden fazla bilgisayarın tek bir bilgisayar gibi çalışmasına verilen isimdir. Genelde birden fazla bilgisayar birbirine oldukça hızlı bir ağ bağlantısı ile bağlanır ve bilgisayarların üzerinde çalıştırılan özel yazılımlar ile istenen işin paylaştırılması hedeflenir. Literatürde kümeleme veya ingilizce olarak clustering terimleri de [...]

OLEDB

Yazan : Şadi Evren ŞEKER İngilizce olarak object linking and embedding database kelimelerinin baş harflerinden oluşan bir veritabanı terimidir. Aslında OLE terimi (object linking and embedding) Microsoft firması tarafından kazandırılan ve uygulama geliştirme sırasında bir varlığı programa bağlamaya yarayan mantıktır. Örneğin bir prograda bulunan bir resim, programın içerisine dahil edilip çalıştırılabilir kodun (executable code) bir [...]

Şadi Evren ŞEKER tarafından, 07/09/2009 tarihinde yazıldı. | C/C++, Programlama Dilleri, Veri Tabanı (Database) | A yorum var

Fabrika Metotları (Factory Methods)

Yazan : Şadi Evren ŞEKER Fabrika metotları tanım itibariyle sabit metotlardır (static methods). Yani bir fabrika metodu (factory method) çağrılmak için bir nesneye ihtiyaç duymaz, doğrudan sınıfa (Class) erişilerek çağrılabilir. Fabrika metotları bunun yanında değer olarak bir nesne döndüren metotlardır. Yani bir fabrika metodu çağrıldığında dönüş değeri olarak bir sınıftan türetilmiş bir nesne beklenir. Bu [...]

Şadi Evren ŞEKER tarafından, 16/08/2009 tarihinde yazıldı. | Nesne Yönelimli Programlama, Programlama Dilleri | A yorum var

Sabit Metotlar (Static Methods)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlamada kullanılan bir terimdir. Basitçe bir nesnenin (object) çalışabilmesi , yaşayabilmesi için bu nesnenin tanımlı olduğu bir sınıfa (class) ihtiyaç vardır. Ayrıca bu sınıftan (class) tanımlanan nesnenin programlama dili ve işletim sistemi marifetiyle hafızada bir alana ihtiyacı vardır. Bilindiği üzere nesnelerin tanımlı oldukları sınıflar (class) içerisinde özellikleri (properties) [...]

Csharp ile Resim İşleme

Yazan : Şadi Evren ŞEKER Temel olarak bir programlama dilinde resim işleme işlemleri için iki fonksiyon gerekir. Birinci resmi oluşturan imgecik (pixel) değerlerini okuyabilmek İkincisi ise resmin imgecik (pixel) değerlerini değiştirebilmek Yani aslında resim üzerinde yapılan herşey, resmi oluşturan imgecikler üzerinde yapılmaktadır. Bu yazıda CSharp programlama dili kullanılarak basit bir histogram çıkarma ve resme gama [...]

Özyineli Diller (Recursive Languages)

Yazan : Şadi Evren ŞEKER Özyineli diller matematik, mantık veya bilgisayar bilimlerinde geçen muntazam dillerden (formal language) birisidir. Genellikle kararverilebilir yani Turing makinesi (Turing machine) tarafından işlenebilir diller olarak kabul edilirler. Özyineli diller Chomsky hiyerarşisinde yer almamaktadır. Bir özyineli dili tanımlamak için iki önemli tanım yapılır. Birincisi dilin içerdiği alfabeden üretilebilen güç kümesinin (power set) [...]

Özyineli Geçiş Ağları (Reursive Transition Networks)

Yazan : Şadi Evren ŞEKER Veri modellemede kullanılan bir ağ şeklidir. Esas itibariyle içerikten bağımsız dillerin (context free grammers) görsel gösterimi için kullanılabilirler. Ağların yapısı uzatılmış geçiş ağlarına (augmented transition network) benzemekle birlikte en büyük farkı ve isminin özyineli olmasının da sebebi ağın kendini tekrarlama özelliğidir. Daha basitçe bir içerikten bağımsız dil (CFG) S devamlısı [...]

Turing Makinesi (Turing Machine)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli bir kısmını oluşturan otomatlar (Automata) ve Algoritma Analizi (Algorithm analysis) çalıştırmalarının altındaki dil bilimin en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar. Turing Makinesinin Tanımı Basitçe bir kafadan (head) ve bir de teyp bandından [...]

Özyineli Sayılabilir Diller (Recursively Enumerable Languages)

Yazan : Şadi Evren ŞEKER Muntazam dillerden (formal languages) birisi olan ve bu özelliği ile Mantık, Matematik ve Bilgisayar bilimlerinin çalışma alanına giren bir dil çeşididir. Sınıflandırma olarak Chomsky Hiyerarşisinde (Chomsky Hierarchy) 0. seviye olan (Type 0) bu dile uygun bütün diller birer düzenli ifade (regular expression) ile gösterilebilir. Muntazam dil (formal language) olması dolayısıyla [...]

Chomsky Hiyerarşisi ( Chomsky Hierarchy )

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin özellikle dil alanında yapılan çalışmalarında muntazam dilleri (formal languages) tasnif etmek için kullanılan bir yapıdır. Literatürde Chomsky–Schützenberger hiyerarşisi olarak da geçmektedir. Bilindiği üzere ( muntazam diller (formal langauges) veya CFG yazısından da okunabileceği üzere) muntazam dillerin dört özelliği bulunur. Bunlar özellikle içerikten bağımsız dillerin (context free languages) da [...]