AÖF Soru Bankası
BİL106U

İleri Programlama I

2021–2022 Final (Dönem Sonu) Çıkmış Soruları

  • 20 soru
  • Soru metinleri açık; şıklar ve cevap anahtarı uygulamada
  1. 1
    Aşağıdakilerden hangisinde C# kodunun çalışma sırası doğru bir şekilde verilmiştir?
    • AMakine Kodu -> C# Kodu →> C# Derleyici →> IL Kod -> .Net Framework
    • BC# Kodu →> IL Kod -> C# Derleyici →> .Net Framework →> Makine Kodu
    • CC# Kodu -> Makine Kodu -> C# Derleyici →> IL Kod -> .Net Framework
    • DC# Kodu -> . Net Framework -> C# Derleyici →> IL Kod -Makine Kodu
    • EC# Kodu -> C# Derleyici →> IL Kod -> .Net Framework -> Makine Kodu
  2. 2
    Yazılım geliştirme süreci aşamalarının doğru siralaması aşağıdakilerden hangisinde verilmiştir?
    • APlanlama ve Analiz - Tasarım - Kodlama Test ve Entegrasyon - Bakım Degerlendirme
    • BPlanlama ve Analiz - Tasarım - Kodlama Test ve Entegrasyon - Bakım
    • CTaleplerin Belirlenmesi - Planlama ve Analiz Tasarım - Test ve Entegrasyon - Kodlama Bakım
    • DTaleplerin Belirlenmesi - Planlama ve Analiz Tasarım - Kodlama - Test ve Entegrasyon Bakım
    • EPlanlama ve Analiz - Tasarım - Kodlama - Bakım Test ve Entegrasyon Degerlendirme
  3. 3
    Array ve ArrayList sınıflarından tanımlanmış dizi elemanlarına bir indeks numarası ile erişilebilinir. Ancak kod yazımında bu her zaman en verimli yöntem olmayabilir. Çünkü hangi nesnenin hangi sırada listeye eklendiğinin bilinmesi gerekir. -- sınıfı da tam bu eksikliği gidermek üzere tasarlanmıştır. Bu koleksiyon türünde, listeye eklenecek her bir eleman için indeks kullanmak yerine, bir anahtar ve buna karşılık değer ataması yapılmaktadır. Yukarıda boş bırakılan yeri aşağıdakilerden hangisi dogru şekilde tamamlar?
    • AHashtable
    • BQueue
    • CStack
    • DDictionary
    • EFormat
  4. 5
    int sayi= 56; string metin = "C #"; Console.Write ('sayı = {0, 8:F2 }", sayi ); Console. Write ("sayı = {0, -8:F0 }", sayi ); Console. Write ("metin= {0, 10 }", metin ); Yukarıdaki kod blogu ile ilgili aşağıdakilerden hangisi söylenemez?
    • A{0, 8:F2} biçiminde 0, parametre sırasını gösteren; karşılığı int turünde tanımlanmış "sayi" değişkenidir.
    • B8 rakamı hizalamak ıçın kullanılacak basamak sayısını göstermektedir.
    • C8 rakamı ekrana basılacak ifadenin uzunluğunun 8 karakter olacağını gostermektedir.
    • DPozitif değerler için rakamlar saga yaslı olacak ve basamak sayısını tamamlamak için eksik kalan yerlere boşluk bırakılacaktır.
    • E":FO" ise noktalı bir gösterim yapılacağı ve rakamların sağa yaslı olacağını göstermektedir.
  5. 6
    Konsol üzerindeki imlecin konumunu verilen x ve y koordinatlarına tek seferde getirmek için kullanılan metot aşağıdakilerden hangisidir?
    • AConsole. CursorTop
    • BConsole.SetCursorPosition(x, у)
    • CConsole. CursorRight
    • DConsole.CursorLeft
    • EConsole.ClearPosition(x, у)
  6. 7
    Aşağıdakilerden hangisi Directory ve File sınıfları arasındaki farklardan biridir?
    • AFile. Delete ve Directory. Delete parametre olarak verilen dosyayı siler.
    • BDirectory sınıfı klasörler üzerinde işlem yaparken File sınıfı da dosya işlemleri yapmaktadır.
    • CSadece Directory. CreateDirectory parametre olarak verilen dosyayı oluşturur. e
    • DDirectory sınıfı System.IO altında File sınıfı ise .NET altında bulunur.
    • EDirectory sınıfinda statik metotlar; File sınıfında ise dinamik metotlar mevcuttur.
  7. 8
    Grafik arayüzü bulunmayan, girdi ve çıktıların siyah bir ekranda işlendiği kullanıcı arayüzüdür. Hazır bileşenler belirtilen yapı içinde bulunmamaktadır. Yukarıda ifade edilen yapı aşağıdakilerden hangisidir?
    • ADirectorylnfo Sınıfı
    • BWindows Forms Application |
    • CFileinto Sinifi
    • DConsole Application
    • EInput Stream
  8. 9
    Nesne Başlatıcıları ile ilgili aşağıdaki ifadelerden hangisi doğrudur?
    • ASınıflara tanımlı değişkenlere veri atanması ve veriyi okuma sırasındaki işi yapacak bir metottur.
    • BSinıflara tanımlı degişkenlere veri atanması ve veriyi okuma sırasındaki işi yapacak set/setter (deger atayan) ve get/getter (değer okuyan) metotlarıdır.
    • CSınıflarda tanımı yapılmış degışkenlere anlamlı bir şekilde değer atanabildigi ve sınıfın sahip oldugu metotları kullanabilen bır yapıdır.
    • DNesne Başlatıcıları (Object Initializers) soyut kavramlardır fakat somut olan nesnelerin oluşturulması için kullanılır.
    • EProgramlamayı kolaylaştırmak için oluşturulan bu kavram, aynı amaca hizmet eden veya belirli başlıklar altında toplanabilen kodların gruplanmasını sağlar.
  9. 10
    --- degiştiricisi, aynı sınıftaki veya o sınıftan türetilen bir sınıftaki kodların metoda veya üyelerine erişmesine izin verir. Yukarıda kullanımı verilen erişim denetleyicisi aşağıdakilerden hangisidir?
    • Apublic
    • Bprivate
    • Cinternal
    • Dprotected internal
    • Eprotected
  10. 11
    Aşağıdakilerden hangisi struct (yapı) ve sınıf (class) arasındaki farklardan biridir?
    • AStruct yapıları da degişken içeremez iken; sınıf yapıları değişken içerebilir.
    • BSınıf tipinde oluşturulan bir nesne boş olamaz fakat struct tipinde oluşturulan nesne boş olabilir.
    • CStruct elemanlarının default değerleri private tanımlı iken; sınıf elemanlarının default değerleri ise public tanımlıdır.
    • DStruct yapıları değer (value) tipinde, sınıf yapıları ise referans (reference) tipindedir.
    • EStruct yapıları metot içerebilir; ancak sınıf yapıları metot içeremez.
  11. 12
    class Personel private string kimlikNumarasi= "12345678900"; static void Main(string [ ] args ) Personel myObj = new Personel (); Console. WriteLine(myOb j.kimlikNumarasi ); Yukarıdaki kod bloğu ile ilgili aşağıdakilerden hangisi doğrudur?
    • AkimlikNumarası alanı Personel sınıfından bağımsız ve korumalıdır.
    • BIlgili kod bloğu aşağıdaki şekilde bir hata mesaji üretir. 'Personel.kimlikNumarasi' alanı hiçbir zaman kullanılmaz Personel.kimlikNumarasi' öğesine koruma düzeyi nedeniyle erişilemiyor.
    • CkimlikNumarası alanı public olarak tanımlanmıştır.
    • DPersonel sinıfi Private olarak tanımlanmıştır.
    • EkimlikNumarası alanına sadece Personel sınıfından erişime izin vardır.
  12. 13
    Kapsülleme (encapsulation) ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
    • ABir sınıfın üyelerinden, sınıf dışında görevi olmayan, sadece sınıf içi işlemlerde kullanılacak olanlar private bolume yerleştirilir.
    • BKapsülleme, dış dünyaya sadece public arayüzü ile tanımlı olan üyelerin servis edilmesi şeklinde tanımlanabilir.
    • CBilgisayar ekranının, klavyesinin public tanımlı olarak dış dünyaya açılması ile harddisk, ram, işlemci ve anakart gibi bileşenlerının private tanimlı olup kullanıcılardan saklanması bir kapsul örneği olarak verilebilir.
    • DPublic tanımlı üyeler içinde private tanımlı üyeler ile ilgili işlemler yapılamaz.
    • EKapsülleme işlevi güzel gerçekleştirilmiş bir sınıf, kullananlarda kafa karışıklığına neden olmaz.
  13. 14
    TürAdı class GenelMetot {public T Data { get; set; } Yukarıda "generics" kullanım şablonunda yer alan ifadeler ile ilgili aşağıdakilerden hangisi söylenemez?
    • AT için tanımlanan bir veri türü yerine başka tür bir verinin konulması çalışma zamanı hatası (runtime error) oluşturur.
    • BT, GenelMetot sinıfındaki alanlar, özellikler, metot parametreleri ve dönüş türleri olarak kullanılabilen tür parametresi olarak adlandırılır.
    • CVeri turü belirli bir tür belirtilmeyip genel bir tür olan "T" verildiği için, Data değişkeni genel ozelliklidir.
    • DT ile ifade edilen tur parametresidir.
    • ET için tanımlanan bir veri türü yerine başka tur bir veri konulamaz.
  14. 15
    Bir sistem, belli bir nesne olmadan çalışamıyorsa, ona mutlaka ihtiyaç duyuyorsa, o nesnenin ------ oldugu soylenebilir. Yukarıdaki cümlede boş bırakılan yeri aşağıdakilerden hangisi doğru şekilde tamamlar?
    • Agevşek bağlı (loosely copled)
    • Bsıkı bağlı (tightly coupled)
    • Ckompozisyon (composition)
    • Dof. D) birleştirme (aggregation)
    • Ekapsülleme (encapsulation)
  15. 16
    class TemelSinif class TuretilmişSinif : TemelSinif class YeniSinif : TuretilmişSinif Yukarıda verilen kod bloğu ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
    • ATüretilmiş sınıftan başka bir sınıf daha türetilemez.
    • BTuretilmisSinif, TemelSinif'tan kalıtım yöntemi kullanılarak türetilmiştir.
    • CYeni türetilen sınıf temel sınıfın özellik ve metotlarını, erişim belirleyicileri çerçevesinde kullanabilir.
    • DTüretilen sınıftan sonra iki nokta üst üste ":" işareti ile türetileceği sınıf adı yazılarak yeni bir sınıf türetmiş olunur.
    • EYeni türetilen sınıf türetildiği sınıfın ozellik ve metotlarını, erişim belirleyicileri çerçevesinde kullanabilir.
  16. 17
    Türetilen sınıftan gelen bazı özelliklerin değiştirilebilmesine ve nesne üzerinden çağrılabilmesine ne ad verilir?
    • AÇok biçimlilik
    • BPublic metot
    • CSoyut sınıf
    • DArayüz
    • EMühürlü sınıf
  17. 18
    Mühürlü sınıf (sealed class) ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
    • A"sealed" olarak tanımlanan bir sınıf, alt sınıflara kalıtım veremez, yani başka bir sınıfın temel "base" sınıfı olamaz.
    • B"sealed" olarak tanımlanan metotlar ve türetilen sınıflar "override" üzerine yazılamaz.
    • CSoyut "abstract" sınıflar "sealed" olarak tanımlanabilir.
    • DNesne yönelimli programlamanın kalıtım özelliğini engellemek istediğimiz durumlarda kullanılır.
    • ESınıflar gibi metotlar da "sealed" anahtar kelimesi ile tanımlanabilir.
  18. 19
    C# programlama dilinde kodlama sirasında yapılan hatalar ile ilgili aşağıdaki ifadelerden hangisi yanlıştır?
    • ADerleme zamanı hataları, program yazarken yanlış sözdizimi, hatalı metot ve parametre kullanımı, erişim belirleyicilerin doğru kullanılmaması gibi "syntax" yazım hatalarından kaynaklanır.
    • BÇalışma zamanı hataları ve derleme zamanı hataları C# programlama dilinde kodlama sırasında yapılan hatalardır.
    • CDerleme zaman hatalarını tespit etmek; çalışma zamanı hatalarını tespit etmekten daha zordur.
    • Dİstisnai durum yakalama mekanizması ile derleme ve çalışma zamanı hataları kontrol altına alınır.
    • EÇalışma zamanı hataları genelde mantıksal hatalardan kaynaklanır.
  19. 20
    I. Arayüzde tanımlı elemanların erışım belirleyicileri ön tanımlı olarak "public" tanımlıdır, başka bir erişim belirleyici kullanılamaz. Il. Arayuz elemanlarında abstract, virtual gibi kalıtım yapılabileceğine dair belirteçler kullanılmaz. Ill. Arayüz turünden referans tanımı yapılabilir fakat "new" operatörü ile yeni nesne oluşturulamaz. IV. Arayüzler diğer arayüzlerden türetilemezler. Arayüz (interface) ile ilgili yukarıdaki ifadelerden hangileri doğrudur?
    • AI ve IV
    • BI| ve II|
    • CI,I ve I!!
    • D1, IlI ve IV
    • EI, II, IlI ve IV
Şıkları ve doğru cevapları görİleri Programlama I dersinin tüm sınavları, cevap anahtarları, süreli mod ve yanlış analizi uygulamada.Uygulamada aç