İleri Programlama Ara 8. Deneme Sınavı
Toplam 20 Soru1.Soru
Aşağıdakilerden hangisi nesneye yönelik programlama yaklaşımlarının temel ilkelerinden biri değildir?
Sarmalama |
Kalıtım |
Çok biçimlilik |
Yüksek uyum |
Hiçbiri |
Nesneye yönelik programlama yaklaşımının üç temel ilkesi vardır. Bunlar:
- Sarmalama (Encapsulation)
- Kalıtım (Inheritance)
- Çok biçimlilik (Polymorphism).
2.Soru
JRE nedir?
Java Geliştirme Paketi |
Java Sana Makinesi |
Java Applet |
Jav Çalışma Ortamı |
Eclipse |
Java diliyle yazılmış bir programın çalışması için mutlaka Java yorumlayıcısı olması gerekmektedir. Java uygulamasının çalışması için gerekli minimum gereçleri içeren yapıya “Java Çalışma Ortamı (Java Runtime Environment – JRE)” adı verilmektedir.
3.Soru
I. Yapısal programlama
II. Bileşen tabanlı yazılım geliştirme
III. Görünüm yönelimli programlama
IV. Yönelimsel programlama
Geçmişten günümüze programlama yaklaşımları da değişiklikler göstermiştir. Yukarıda sıralananlardan hangisi veya hangileri bu programlama yaklaşımlarındandır?
Yalnız I |
Yalnız III |
II, III |
I, II ve III |
I, II, III ve Iv |
Nesneye yönelik programlama yaklaşımı dışında çeşitli yaklaşımlar da bulunmaktadır. Bunlar arasında Yapısal Programlama (Programming), Bileşen Tabanlı Yazılım Geliştirme (Component Based Software Development), Görünüm Yönelimli Programlama (Aspect Oriented Programming) sıralanabilir. Bunlar kendisinden önceki ve sonraki yaklaşımlara altyapı oluşturmuş ve geniş bir kullanım alanı bulmuşlardır. IV. Sırada verilmiş olan “Yönelimsel programlama” çeldirici olarak verilmiştir.
4.Soru
İç içe sınıflar için aşağıdakilerden hangisi doğrudur?
İç sınıf static olarak tanımlanamaz |
İç sınıf public olarak tanımlanamaz |
İç sınıf private olarak tanımlanamaz |
Dış sınıf public olarak tanımlanamaz |
İç sınıf static olarak tanımlanabilir |
İç sınıf static olarak da tanımlanabilir.
5.Soru
Her dilde olduğu gibi programlama dillerinin de kendi içinde belirli kuralları vardır. Aşağıdaki seçeneklerden hangisi kod yazımında bu kurallara neden ihtiyaç duyulduğuna dair yanlış bir bilgi içermektedir?
Yazılım üretimindeki %80’lik bir zaman dilimi, kod bakımına (maintanence) harcanmaktadır. |
Çoğu yazılım, kullanım zamanı boyunca ilk programcısı tarafından geliştirilmektedir. |
Mühendislerin yeni kodu hızlı ve verimli bir şekilde anlamasının sağlanması önemlidir. |
Kod yazma gelenekleriyle yazılımın okunması ve anlaşılması kolaylaşmaktadır. |
Yazılan kodu piyasaya açmak istendiğinde daha anlaşılır olacağı için daha kolay destek bulunabilmektedir. |
Her dilde olduğu gibi programlama dillerinin de kendi içinde belirli kuralları vardır. Bu kurallara söz
dizim denilmekte ve bunlara uyarak derleyiciye ve yorumlayıcıya kodu doğru bir biçimde ifade etmek
gerekmektedir. Kod yazımında bu kurallara ve neden ihtiyaç duyulduğu şu şekilde sıralamak mümkündür:
- Yazılım üretimindeki %80’lik bir zaman dilimi, kod bakımına (maintanence) harcanmaktadır.
- Çok az yazılım, kullanım zamanı boyunca ilk programcısı tarafından geliştirilmektedir.
- Mühendislerin yeni kodu hızlı ve verimli bir şekilde anlamasının sağlanması önemlidir.
- Kod yazma gelenekleriyle yazılımın okunması ve anlaşılması kolaylaşmaktadır.
- Yazılan kodu piyasaya açmak istendiğinde daha anlaşılır olacağı için daha kolay destek bulunabilmektedir
6.Soru
class IfElseOrnegi{
public static void main (String [] args) {
int testSonucu=82;
char harfNotu;
if (testSonucu >= 95) {
harfNotu=’A’;
}else if (testSonucu >= 85) {
harfNotu =’B’;
}else if (testSonucu >= 75) {
harfNotu =’C’;
}else if (testSonucu >= 50) {
harfNotu =’D’;
} else {
harfNotu =’F’;
}
System.out.println(“Harf Notunuz = “+harfNotu);
}
Yukarıdaki kod bloğunun çıktısı hangi seçenekte doğru verilmiştir?
Harf Notunuz = F |
Harf Notunuz = D |
Harf Notunuz = C |
Harf Notunuz = B |
Harf Notunuz = A |
If-then-else deyimi bir if sınaması yanlış olarak değerlendirildiğinde ikincil bir yürütme yolu sağlar. Soru kökündeki koda göre 82 notu C’ye karşılık gelmektedir.
7.Soru
Bir sınıftan yaratılmış tüm nesneler için ortak olmasını istediğimiz değişken ya da metotları tanımlarken aşağıdaki anahtar sözcüklerden hangisini kullanırız?
New |
Final |
Static |
Void |
Private |
Bir sınıftan yaratılmış tüm nesneler için ortak olmasını istediğimiz değişken ya da metotları tanımlarken static anahtar sözcüğü kullanılır. Böylece bunlar sınıf üyeleri olmuş olur.
8.Soru
Bir metot içindeki veya kaşlı ayraçlar içinde yazılmış kod bloğunun içindeki değişkenlere ne ad verilir?
Parametreler |
Dizi değişkenler |
Metot değişkenler |
Üye değişkenler |
Yerel değişkenler |
Genel olarak değişkenleri üçe ayırabiliriz:
1. Üye değişkenler: Sınıfların içindeki alanlar
2. Yerel değişkenler: Bir metot içindeki veya kaşlı ayraçlar içinde yazılmış kod bloğunun içindeki değişkenler
3. Parametreler: metot tanımlarken kullandığımız metot isminden sonra gelen ayraçlar içinde tanımlanan değişkenler
9.Soru
Aynı sınıfa ait metot isimleri aynı ancak parametre listeleri farklı olan iki metot için aşağıdakilerden hangisi söylenebilir?
Metotların yüklenmesi durumu söz konusudur. |
Aynı sınıfa ait isimleri de aynı birden fazla metot bulunamaz. |
İsmi aynı olan metotların imzaları da aynı olmalıdır. |
Derleyici, imzaları aynı olan iki metodun tanımlanmasına izin verir. |
İmzası farklı olan bu iki metodun isimleri de mutlaka farklı olmalıdır. |
Metot imzası bir metodun ismi ve parametre listesinin birleşimidir. İsmi aynı olan metotlar tanımlanabilir ancak bunların imzası farklı olmalıdır. Derleyici, imzası aynı olan iki metodun aynı anda tanımlanmasına izin vermez. Bu tür aynı isimli metotların kullanılmasına metotların yüklenmesi (overloading methods) adı verilir.
10.Soru
Java’nın temel özellikleri ile ilgili açıklama eşleştirmelerinden hangisi yanlıştır?
Platform bağımsızlığı: Java programının sanal makine üzerinde çalışması |
Sağlamlık: Güçlü hafıza yönetimi sayesinde hataları yakalayabilme |
Otomatik hafıza yönetimi: Yeni nesneler için hafızanın bölüştürülmesi |
Çoklu-iş parçacıklarını destekleme: Programın aynı anda birden fazla işi yerine getirmesi |
Basitlik: Java’nın öğrenilmesinin çok kolay olması |
Java’nın geliştirilmesindeki amaç yazılan kodun bir kere yazılıp sonra birçok işletim sisteminde çalıştırılabilmesidir. Ancak Java’nın basit olma özelliği Java’nın öğrenilmesinin kolaylığı değil; programcı açısından birçok özelliğin basitleştirilmiş olmasıdır. Örneğin bir C++ dilinde bulunan hafızanın direk erişimi, hafızada yer ayırma, çoklu kalıtım gibi zor ve riskli yapılar kaldırılmıştır.
11.Soru
Aşağıdakilerden hangisi sınıfın diğer sınıflar ve paketler tarafından erişilebilir olduğunu ifade eder?
Public |
Private |
Void |
Özel amaçlı sözlük |
Anahtar kelime |
Public erişim belirleyicisi o sınıfın bu sınıf haricinde diğer sınıflar ve paketlerden erişilebilirliğiniyani dışardan erişilebilir olduğunu ifade etmektedir.
12.Soru
Üye metotlar ve yaratıcı metotlar için, şu anki nesneye erişim aşağıdaki anahtar sözcüklerden hangisiyle yapılır?
Object |
This |
New |
Main |
Static |
Üye metotlar ve yaratıcı metotlar için, şu anki nesneye erişim this anahtar sözcüğü ile yapılır. En sık olarak üye değişken isimleri ile yaratıcı metodun parametre listesindeki değişkenleri ayırt etmek için kullanılır.
13.Soru
Aşağıdakilerden hangisi çok biçimlilik özelliklerinden değildir?
Aynı sınıftan üretilen sınıflar standart bir şekilde erişilebilme özelliğine sahip olur. |
Bir nesnenin bir işlemi farklı şekillerde yapabileceğini gösterir. |
Birbirine benzeyen nesneleri ortak özellikleriyle ele alarak aynı işi farklı şekillerde yapabilmesini sağlar. |
Bir sınıf içinde farklı isimlerde fakat aynı içerikte metotlar kullanabilme özelliğidir. |
Nesnelerin içeride farklı çalışmalarına rağmen dışarıdan aynı biçimde görünmelerini ifade eder. |
Çok biçimlilik bir sınıf içinde aynı isimde fakat farklı içerikte metotlar kullanabilme özelliğidir.
14.Soru
Aşağıdakilerden hangisi Java programlama dilinde karakter dizileri olarak kelimeleri gruplamak için kullanılan karakterdir?
{ } – Süslü parantez açma ve kapatma |
( ) – Parantez açma ve kapatma |
/ / – Çift eğik çizgi |
; – Noktalı virgül |
“ ” – Tırnak açma ve kapatma |
{ } – Süslü parantez açma ve kapatma karakteri kod bloklarını ifade etmektedir. ( ) – Parantez açma ve kapatma karakteri metotlar için kullanılır. / / – Çift eğik çizgi karakteri açıklama satırı için kullanılır. ; – Noktalı virgül karakteri kod satırının sonunu işaret etmek için kullanılır. “” – Tırnak açma ve kapatma karakteri karakter dizileri olarak kelimeleri gruplamak için kullanılan karakterdir.
15.Soru
Birden fazla açıklama satırı yazılacaksa satırlar aşağıdaki hangi işleçler arasına yazılmalıdır?
/ / |
\ \ |
*/ */ |
/* /* |
/* */ |
Eğer birden fazla satır açıklama satırı olarak yazılacaksa her satırın başına “//” işleci koyma zorunluluğu yerine aşağıdaki gibi “/*” ile “*/” işleçleri arasına alınan satırlar otomatik olarak açıklama satırı olarak belirtilmektedir.
16.Soru
Java’da Files.readAllLines statik metodunun görevi nedir?
Dosya içindeki bütün satırları yazar. |
Bir dizindeki tüm dosyaları listeler. |
Bir dosyadaki tüm satırların numaralarını okur. |
Tek satırda dosya içindeki bütün satırları okur. |
Verilen dosyalar arasındaki satır farklılıklarını bulur. |
Java’da Files.readAlLines statik metodu Java 8 sürümünde eklenmiş bir özelliktir. Tek satırda dosya içindeki bütün satırları okuyarak dosya işlemlerini oldukça kolaylaştırmıştır.
17.Soru
Gerçek hayattaki problemlerin bilgisayar ortamında çözülebilmesi için öncelikle problemin uygun bir şekilde bilgisayar ortamına aktarılması gerekmektedir. Bu aşama ne olarak isimlendirilir?
Modelleme |
Benzetim |
Programlama |
Simülasyon |
Tasarım |
Gerçek hayattaki problemlerin bilgisayar ortamında çözülebilmesi için öncelikle problemin uygun bir şekilde bilgisayar ortamına aktarılması gerekmektedir. Bu aşama modelleme aşaması olarak adlandırılır. Modellemede aslında, problemin tamamının zihinde canlandırılıp çözmeye çalışılmasından ziyade, oluşturulan model veya modeller üzerinde sistemin görünüşü, davranışı ya da bazı durumlarda verdiği tepkiler gözlemlenmektedir.
18.Soru
Yazılımların karmaşıklığı ve boyutlarının sürekli artması ve belli br nitelik düzeyinin korunması için gerekli bakım, maliyet, zaman gibi unsurların da sürekli artması sonucu hangi programlama yaklaşımı benimsenmiştir?
Yapısal programlama |
Nesneye yönelik programlama |
Görünüm yönelimli programlama |
Bileşen tabanlı yazılım geliştirme |
Yöntemsel programlama |
Nesneye yönelik programlama 1960’lı yolların sonuna doğru ortaya çıkmış bir yaklaşımdır. O dönemin yazılım dünyasında beliren bir bunalımın sonucudur. Yazılımların karmaşıklığı ve boyutlarının sürekli artması ve belli br nitelik düzeyinin korunması için gerekli bakım, maliyet, zaman gibi unsurların da sürekli artması sonucu nesneye yönelik programlama yaklaşımı çözüm olarak geliştirilmiştir.
19.Soru
Java’da karakter dizileri olarak kelimeleri gruplamak için aşağıdakilerden hangisi kullanılır?
; |
" " |
\ \ |
( ) |
' ' |
Java’da karakter dizileri olarak kelimeleri gruplamak için tırnak açma ve kapatma " " kullanılır.
20.Soru
Aşağıdakilerden hangisi private niteleyicisi için doğrudur?
Aynı sınıf içerisinden ulaşılabilir |
Aynı paket içerisinden ulaşılabilir |
Aynı alt sınıf içerisinden ulaşılabilir |
Dış dünya içerisinden ulaşılabilir |
Hepsi |
-
- 1.SORU ÇÖZÜLMEDİ
- 2.SORU ÇÖZÜLMEDİ
- 3.SORU ÇÖZÜLMEDİ
- 4.SORU ÇÖZÜLMEDİ
- 5.SORU ÇÖZÜLMEDİ
- 6.SORU ÇÖZÜLMEDİ
- 7.SORU ÇÖZÜLMEDİ
- 8.SORU ÇÖZÜLMEDİ
- 9.SORU ÇÖZÜLMEDİ
- 10.SORU ÇÖZÜLMEDİ
- 11.SORU ÇÖZÜLMEDİ
- 12.SORU ÇÖZÜLMEDİ
- 13.SORU ÇÖZÜLMEDİ
- 14.SORU ÇÖZÜLMEDİ
- 15.SORU ÇÖZÜLMEDİ
- 16.SORU ÇÖZÜLMEDİ
- 17.SORU ÇÖZÜLMEDİ
- 18.SORU ÇÖZÜLMEDİ
- 19.SORU ÇÖZÜLMEDİ
- 20.SORU ÇÖZÜLMEDİ