Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü BLGM

advertisement
Doğu Akdeniz Üniversitesi
Bilgisayar Mühendisliği Bölümü
BLGM 318 Ara Sınavı
2012 – 2013 Đlkbahar Dönemi
13 Nisan 2013
Ad, Soyad
: ________________
Öğrenci No.
: ________________
Öğretim Üyesi: Doç. Dr. Zeki BAYRAM
Süre: 100 dakika
Talimatlar:
1. Tüm soruları cevaplayınız
2. Gözetmene soru sormayınız
3. Cep telefonları kapalı ve masadan uzakta olmalıdır
2
KISIM I (20
(20 pUAN
pUAN):
UAN):
Çoktan seçmeli. Her soru 2 puan.
Her yanlış cevap -0.5puan. Boş
cevap: 0 puan.
6. Her Java programında olması şart olan
fonksiyon/metod hangisidir?
a. main() .
b. scanner().
c. printf().
d. block().
1. Scanner sınıfı fonksiyonlarının görevi
nedir?
a. çıktıya veri yollamak
b. kullanıcından veri okumak
c. ağ bağlantısı kurmak
d. hiçbirisi
2.
7. Yapıcılar (constructors) zaman çağrılır?
a. nesne yaratıldığı zaman
b. nesne yok edildiği zaman
c. programcı çağırdığı zaman
d. program çalışmaya başladığı
zaman
.class uzantılı dosyalarda ne bulunur?
a. Java kaynak kodu
b. Intel makıne kodu
c. Java sanal makine kodu
d. hiçbirisi
8. Java dilinde ne yoktur?
a. sınıflar
b. paket sistemi
c. çöp toplama (garbage
collection)
d. programcı tarafından kullanılan
işaretçiler (pointers)
3. Float ve double farkı nadir?
a. double değişkenlerde tam
sayılar, float değişkenlerde
kayan nokta sayılar saklanır.
b. double değişkenlerde float’a
göre daha ufak sayilar saklanır
c. double değişkenlerde float’a
göre daha büyük sayilar
saklanır.
d. Double sayılar genellikle daha
az yer kaplar
4.
9. Yeni bir nesne yaratmak için kullanılan
komut hangisidir?
a. start
b. create
c. new
d. init
Sistem tarafından sağlanan yapıcıda
(constructor) kaç parametre
bulunur?
a. 0.
b. 1.
c. 2.
d. 3
10. Hangi paket otomatik olarak
yüklenir?
a. java.io
b. java.util
c. java.lang
d. hiçbirisi
5. Nesne tipindedeki bir değişkenin içinde
otomatik olarak hangi değer bulunur?
a. nil.
b. default
c. "".
d. null
3
KISIM II (56 puan
puan)
uan): Klasik sorular
1. Aşağıdaki grameri inceleyiniz.
E→E*T| T
T→T+F | F
F →(E)|a|b|c
“(b)” sözcüğünü sağdan türetiniz. (5 puan)
2. Aşağıdaki özellik (attribute) gramerini inceleyiniz.
E→E%T
E→ E#T
E→ T
T→a
T→b
T→c
{E0.v = 1+ E1.v + T.v}
{E0.v = 2*E1.v – T.v}
{E.v = 5 - T.v}
{T.v = 3}
{T.v = 2}
{T.v = 1}
"a % c" için süslenmiş bir ağaç üretiniz (annotated parse tree). (5 puan)
4
3. Aşağıdaki gramerden sol özdevinimi (left recursion) yok ediniz. (5 puan)
T→T a|Tg | d|f
4. Aşağıdaki geliştirilmiş BNF gramerine eşdeğer olan normal bir BNF grameri
bulunuz. (5 puan)
Y → (a | b) (g | c) d
5. Bir tam sayının 4 bayt yer tutuğunu varsayın. Sıraları esas alan (row-major) adres
hesaplaması yapılıyorsa, ‘C’ benzeri bir dilde a[1][4] elemanının adresi ne olur? (a
dizisinin başlangcı 2000 olsun ve a dizisi aşağıdaki gibi tanımlanmış olsun)
int a[100][100];
Cevap: _______________ (5 puan)
5
6. Aşağıdaki gramerin belirsiz olduğunu gösteriniz. ( 5 puan)
S→AB|C
A→0A |0
B→3|2|B1
C→ 0B
7. Görünebilirliğin (scope) statik olduğu bir dilde yazılan fonksiyonlar aşağıdadır.
b(){
e(){
}
a(){
d(){
f(){
}
}
}
}
Aşağıdaki tabloyu doldurunuz. Notlama: Doğru cevap 2 puan, yanlış cevap -1
puan, boş cevap 0 puan. (Evet-Hayır şeklinde cevaplayınız) (Toplam 10 puan)
b()
e()
a()
e() hangi
fonskiyonları
çağırabilir?
6
d()
f()
8. Aşağıdaki grameri inceleyiniz..
A→ dBe|cGh
B→iK
K→a|b|c
G →m|n|p
“d i b e” sözcüğü için yığın (stack) kullanarak yukarıdan aşağı ağaç oluşturma (topdown parsing) işlemi yapıyorsak, işlemin her aşamasındaki yığın içeriğini ve daha
kullanılmamış girdiyi gösteriniz. Başlangıcı sizin için aşağıda yaptık. (16 puan)
A
d i b e
↑
7
Kısım III (24 puan): Doğru/Yanlış
Notlandırma: Doğru cevap 2 puan, yanlış cevap -1 puan, boş cevap 0 puan.
a. Dizi (array) ilkel bir veri tipidir __________________
b. Sistemin otomatik olarak hafizayı temizlemesine “çöp toplama” denir
___________________
c. Tip bağlama dinamik ise, tip controlü statik olur. ______________
d. Đsme göre tip eşdeğerliğinde iki değişkenin tiplerinin eşdeğer sayılması için iç
yapılarının tamamen ayni olaması yeterlidir. ___________________________
e. Sözcük analizcisi (lexical analyzer) gerektikçe ağaç üreticiyi (parser) çağırır.
____________
f. Ağaç üreticinin amacı ona verilen programın ağacını üretmektir.
_____________________ .
g. LISP nisbeten yeni bir dildir. ___________________
h. HASKELL fonsiyonel bir dildir. ____________________
i. Sembol tablosu sadece sözcük analizcisi tarafından kullanılır.
__________________
j. Derlenen programlar genellikle direkt çalıştırılan programlardan daha hızlı koşar.
________________
k. Bir değişkenin ömrü belli bir hafıza hücresine bağlı kaldığı süre kadardır.
__________________
l. FORTRAN daha çok bilimsel hesaplamalar yapmak için kullanılan bir dildir.
___________________
8
Download