Paralel Diziler (Parallel Arrays)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kullanılan bir veri yapısı (data structure) tipidir. Kayıtları (records) bir dizi halinde tutmak için kullanılır. Kabaca aynı sayıda elemanı olan birden fazla dizinin (array) aynı indisinde duran elemanları aynıysa bu kayıtların farklı bilgilerini tutmaya yarar. Veri üzerinde bir oluşum (composition) tanımlanmadığı ilkel programlama dillerinde veya hız gerektiren durumlarda […]

Devam

Dizgi Karşılaştırma (String Comparison)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde metin ve yazı gibi bilgileri tutmak için kullanılan dizgileri (Strings) tutan değişkenler karşılaştırılırken eşitlik kontrolü yapılması mümkün değildir. Bunun yerine dizginin tamamının eşit olup olmadığını kontrol etmek ve ancak bütün elemanları aynıysa eşit oldukları hükmüne varmak gerekir. Bu durum aşağıdaki şekilde açıkça görülmektedir: Yukarıdaki şekilde hafızada durmakta olan […]

Devam

En kötü durum analizi (Worst Case Analysis)

En kötü durum analizi (Worst Case Analysis) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir algoritmanın incelenmesi sırasında sıkça kullanılan bu terim çalışmakta olan algoritmanın en kötü ihtimalle ne kadar başarılı olacağını incelemeye yarar. Bilindiği üzere bilgisayar bilimlerinde yargılamalar kesin ve net olmak zorundadır. Tahmini ve belirsiz karar verilmesi istenmeyen bir durumdur. Bir algoritmanın ne […]

Devam

Sezgisel Algoritmalar (Buluşsal Algoritmalar, Heuristic Algorithms)

Sezgisel Algoritmalar (Buluşsal Algoritmalar, Heuristic Algorithms) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sezgisel (heuristics) bir yaklaşımın problem çözümüne uygulandığı algoritmalardır. Uygulanan yöntemin doğruluğunun ispat edilmesi gerekmez, tek istenen karmaşık bir problemi daha basit hale getirmesi veya algoritamanın tatmin edici bir sonuç bulabilmesidir. Genel olarak bir problemin çözümü sırasında bilgisayar bilimlerinde iki amaçtan birisi güdülür. […]

Devam

Void (boş tip)

Yazan : Şadi Evren ŞEKER Bu yazı C dilinde bir tip olarak void tipini açıklamayı amaçlamaktadır. void anlam olarak boş demektir. Daha genel anlamda tipsiz demektir. Yani C dilinde int, char, float gibi tiplerimiz var. Şayet bir değişkenin tipi yoksa (veya belli değilse) o zaman void olur. Örneğin aşağıdaki f fonksiyonu toplamı döndürür: int f(int […]

Devam

YACC

Yazan : Şadi Evren ŞEKER YACC, bilgisayara bilimlerinin önemli dallarından birisi olan dil tasarımı ve dil geliştirilmesi sırasında (compiler teory) sıkça kullanılan bir kod üretici programdır. YACC basitçe dildeki sözdizim (syntax) tasarımı için kullanılır ve tasarladığımız dildeki kelimelerin sıralamasının istediğimiz şekilde girilip girilmediğini kontrol eder. Aynı zamanda sıralamadaki her kelimenin anlamını da yacc marifetiyle belirleyebiliriz. […]

Devam

LEX

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde programlama dillerinin tasarımı ve geliştirilmesi sırasında kullanılan ve dildeki kelimelerin analizine (lexical analysis) yarayan kod üretme programıdır. Yani lex için hazırlanmış bir dosyayı lex programından geçirdikten sonra size C dilinde bir kod çıkar. Bu kodu C dilinde derledikten (compile) sonra çalışan bir programınız olur. Veya tercihen bu çıktıyı […]

Devam

HTML (Hyper Text Markup Language)

HTML (Hyper Text Markup Language) Yazan : Şadi Evren ŞEKER HTML, hipermetin işaretleme dili. Kısaca İnternet sayfalarının kodlanması için kullanılan dildir. Temel olarak bütün internet tarayıcılarının desteklediği dildir. Teknoloji basitçe şu şekilde çalışır: HTML dilinde hazırlanmış bir dosya sunucuda bulunmaktadır İnternette gezen birisi bu dosyayı talep eder Dosya isteyen kişiye yollanır Dosyayı indiren kişi internet […]

Devam

Parçalama Ağacı (Parse Tree)

Yazan : Şadi Evren ŞEKER Parçalam işlemi  (parsing) bilgisayar bilimlerinde çeşitli amaçlar için kullanılmaktadır. Özellikle de dil ile ilgili işlemlerin hemen hepsinde ihtiyaç duyulan bir işlemdir. Örneğin bir programlama dilinde yazılan komutların algılanması için öncelikle kelimeleirn parçalanması (parse) gerekir. Benzer şekilde dopal dil işleme (natural language processing) işlemlerinde de doğal dilde bulunan kelimelerin algılanması bir […]

Devam

Backus Normal Form (BNF)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerilnde genellikle bir dil tanımlamada ve bu dilin gramerini (Dil bilgisini) belirlemekte kullanılan gösterim biçimidir. Basitçe dil bir dil tanımında başlayarak Terminal (sonuncu) ve Non-Terminal (Devamlı) terimler kullanarak tanılmanmaktadır. Örneğin aşağıda basit bir örneği verilmiştir: <dil> ::= <harf>|<imla> <harf> ::= a|b|…|z <imla> ::= .| |,|? Yukarıda bir dil tanımı […]

Devam