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