İstanbul Ünv. Nesne Yönelik Programlama Vize Çözümleri

Yrd. Doç. Dr. Şadi Evren ŞEKER Bir masa lambasının 4 farklı durumu bulunabilmektedir. Kapalı, az ışık, orta ışık ve çok ışık seviyelerinde yanabilen bu lambayı nesne yönelimli olarak programlayınız. Herhangi bir insanın bu lambanın durumunu değiştirebilmesi ve lambanın mevcut durumunu görebilmesini sağlayınız. (JAVA dilinde sadece gerekli sınıfları yazınız) (10 puan) Masa lambasında durumu tutan bir […]

Devam

n-gram

Yazan: Şadi Evren ŞEKER Verilen bir dizilimdeki (sequence) tekrar oranını bulmaya yarayan yöntemdir. İsmi n ve gram kelimelerinin birleşiminden oluşmaktadır. Buradaki n, tekrarın kontrol edildiği değerdir. Gram ise bu tekrarın dizilim içerisindeki ağrılığını ifade etmek için kullanılmıştır. Örneğin bir dizgi (string) içerisindeki n-gram değerini bulmak isteyelim ve buradaki n değeri 2 olsun (n = 2) […]

Devam

Java dilinde vektörler

Yazan : Şadi Evren ŞEKER Bu yazının amacı, Java dilindeki vektör sınıfının kullanılmasını ve yapısını anlatmaktır. Java dilindeki vektörlerin yapısından bahsederek başlayalım. Klasik veri yapısı olarak dizilerin (array) ve bağlı listelerin (linked list) özelliklerini birleştirmiştir. Bir vektör boyutu belli olmadan tanımlanıp içerisine veri konuldukça hafızada kapladığı yeri arttırmaktadır. Bu anlamda bağlı listelere benzer özellik göstermektedir. […]

Devam

JAVA da nihai uygulması (Final)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, java dilinde bulunan final kelimesini açıklamaktır. Temel olarak final kelimesi, java dilinde 3 farklı yerde bulunabilir: Sınıf tanımında Metot (fonksiyon) tanımında Değişken tanımında Sırasıyla bu durumları uygulamalar üzerinden görelim. public final class sonsınıf{ } yukarıdaki tanımın yapılması halinde, sınıf (class) nihai bir sınıf olur (final class) ve […]

Devam

JAVA dilinde çoklu kalıtım (miras)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, JAVA programlama dilinde bir sınıfın, birden fazla sınıftan nasıl miras aldığını anlatmaktır. Temel olarak JAVA dilinde doğrudan çoklu kalıtım (multiple inheritance) bulunmaz. Yani aşağıdaki gibi bir kod hatalıdır: public class bilgisayar_mühendisliğ_öğrencisi extends sayısal_öğrenci, üniversite_öğrencisi{ } Yukarıdaki tanıma göre bir bilgisayar mühendisliği öğrencisi hem üniversite öğrencisidir hem de […]

Devam

Nesne Akışı (Casting)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde, sınıflar (class) arasında miras ilişkisi bulunması halinde (inheritance), bu sınıflardan türetilen nesnelerin birbirine akıtılması durumudur. Bu durumu aşağıdaki örnekler üzerinden anlamaya çalışalım: public class insan{ int boy; int kilo; } public class öğrenci extends insan{ int sınıf; String bölüm; } Örnek olarak verilen yukarıdaki iki sınıf […]

Devam

Nesne Kopyalama

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama ortamlarında (object oriented programming) kullanılan iki temel kopyalama işlemini anlatmaktır. Literatürde bir nesnenin kopyalanması için geçen iki terim bulunur: Sığ kopyalama (shallow copying) Derin kopyalama (deep copying) Sığ kopyalama basitçe bir nesnenin referansını gösteren nesne atfının, farklı bir nesne atfına atanmasıdır. Örneğin aşağıdaki kodu […]

Devam

Volatile Tip Tanımlayıcısı

Yazan : Şadi Evren ŞEKER Kelime anlamı olarak bir değişkenin geçici, uçucu değere sahip olmasını ifade eder. Volatile tip tanımlayıcısı (Volatile Type Quantifier) basitçe bir değişken tanımının başında bulunup, bu değişkenin, program dışında bir etki altında bulunabileceğini ifade eder. Örneğin geliştirdiğimiz bir programda, farklı işlem (process) veya donanımsal etkiler sonucunda değeri değişen bir değişken (variable) […]

Devam

Thread (iplik, lif, iz)

Thread (iplik, lif, iz) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle işletim sistemi (operating systems) konusunda kullanılan önemli terimlerden birisidir. Bir işletim sisteminde ya da yazılan bir programda birden fazla işin aynı anda yapılması için kullanılırlar. Bilindiği üzere işlemci (CPU) anlık olarak tek iş çalıştırabilir, ancak işletim sistemi tasarımında kullanılan bazı yöntemlerle birden fazla […]

Devam

JAVA ile Zar uygulaması

Yazan : Şadi Evren ŞEKER Gelen bir soru üzerine aşağıdaki yazıyı yazıyorum. Soru şu şekilde: “Konsol programında rastgele zar atan ve çıkan zarı ekrana bastıran kodu yazınız. “ Konsol ekranında zar çizdirmek için öncelikle bir tasarım yapmamız gerekiyor. Konsol ekranında sadece ascii karakterlerini basabileceğimizi düşünürsek, zarları aşağıdaki şekilde ascii ekranda göstermemiz mümkün olabilir. Yukarıdaki her […]

Devam