Clicky

Mustafa Veysi Soyvural: Kombinezonsal Devre Simülatörü

Tuesday, 8 April 2008

Kombinezonsal Devre Simülatörü

Click here to download...

her türlü sorularınız için: soyvural@gmail.com
ayrıca comment yazarak da anlamadığınız şeyleri sorabilirsiniz böylece diğer arkadaşlar da faydalanmış olur.

NOT: Geliştirme ortamı olarak Eclipse 3.2 veya 3.3 kullanmanız tavsiye edilir. Turkcell Teknoloji'de geliştirme ortamı olarak bu ürünü kullandığımızdan staj döneminde sizin için daha iyi olur.

Kolay gelsin...

GELEN SORULAR ÜZERİNE CEVAPLAR
Q.1.
Input dosyasındaki gate sayısının output dosyasına etkisi nedir?
A.1. Hiç bir etkisi yok aslında, gate sayısı programlama yaparken sizin işinizi kolaylaştırması açısından verilmiştir. Ayrıca size verilen format ulusları standartlık kazanmış bir formattır. Size şöyle bir katkı sağlayacak:

public abstract Gate {
/**
* Methods and data members for Gate class
* ...
*/
}

public And extends Gate {
/**
* Methods and data members for And class
* ...
*/
}

public static void main(String[] args) {
int gateNumbers = 0;
//read gate numbers from input
Gate [] gates = new Gate[gateNumbers];

......
if ( gates[i].hasSpecificInput() ) {
if( gates[i].isOutputReady() ) {
/**
* implement your algorithm
*/
}
}
}

Q.2.) Output dosyasının nasıl hazırlanacağını biraz anlatır mısınız?
A.2.) Öncelikle sizden beklenen dosyadan verileri uygun bir şekilde alıp verilerinizi düzgün bir şekilde yaratmanız( yani Gate objectlerini düzgün biçimde oluşturmanız ), ardından kaç tane input varsa; diyelim 2 input olsun:
0 0
0 1
1 0
1 1
için output değerlerini elde etmeniz.

Ör: 2 input ve 2 output için örnek output dosyası.

Output dosyasında sadece yukarıdaki verilerin olması yeterli.

Q.3.) buf tam olarak anlatılmamış. Lütfen bira açabilir misiniz?
A.3.) Buffer ve from aslında size büyük kolaylık sağlayacak ve de implementasyonu da çok kolay olan kısımlar, "buf ve from" da yapmanız gereken tek şey inputunda ne değer varsa outputunda o değeri göstermeniz.

Q.4.)
.i 11
.o 3
.ilb 1 2 3 4 5 6 7 8 9 10 81
.olb 143 145 147
açıklayabilir misiniz?
A.4.)
.i 11 --> 11 tane input var demek (tüm devrenin 11 girişi var, ara değerler sayılmıyor)
.o 3 --> 3 tane çıkış var, yine tüm devreye ait çıkışlar
.ilb 1 2 3 4 5 6 7 8 9 10 81 -->Devrenin girişleri, 11 tane olarak belirtilen girişler
.olb 143 145 147 -->Devrenin çıkışları, 3 tane olarak belirtilen çıkışlar

Q.5.)
Örnekte verilen input ve output dosyası birbirini tutmuyor.
A.5.) Evet örnekte sadece format olarak örnek koymak istemiştim. Word dosyasındaki output dosyası verilen input'a ait değildir. Sadece format olarak örnek vermek için koydum.

Son olarak şunu önemle vurgulamak istiyorum, kafanıza takılan herhangi bir soruyu çekinmeden sorabilirsiniz. Problem tanımıyla alakalı kafanızda herhangi bir soru işareti kalmasını istemem. Programlama dili olarak Java, C++, C# kullanabilirsiniz bu konuda tamamen serbestsiniz ama benim tavsiyem Java ve Eclipse kullanmanız ve bu şekilde Turkcell Teknolojideki iş sürecine uyumunuzu hızlandırmanız. Programlamada, tasarımda, problemde karşılaştığınız herhangi bir sorunu lütfen SORUN, SORUN, SORUN :)

Değerlendirme aşamasında ise üzerinde duracağım temel şey OOP kriterlerine uygunluğunuz.
Örneğin: Her gate için ayrı sınıf ve metodlar oluşturmak sizce de son derece kötü bir çözüm olmaz mı?

Ayrıca sizin işinizi kolaylaştıracak bazı noktalar da var ben bunlardan birini size ipucu olarak verdim zaten. Problemi iyi anlayıp, OOP bilgilerinizi de güzel bir şekilde kullanırsanız çok kolaylıkla halledeceğinize inanıyorum.

Hepnize Kolay Gelsin

1 comment:

elessar said...

Burda biz bir ağaç mı oluşturacağız (nasıl bir ağaç olabilir ben bulamadım gerçi ama) yoksa satır satır input dosyasını alıp girişlerden çıkışlara mı uzanmaya çalışmalıyız.
Eğer ikinci seçenek ise doğruluk tablosu oluşturmak için aynı işlemleri 2 üzeri n (n=input sayısı) kere yapmamız gerekiyor.