İleri Programlama I - Tüm Sorular
Ünite 1
Soru 1
Belirli bir problemi çözmek ya da bir hedefe ulaşmak amacıyla izlenmesi gereken yola ne ad verilir?
Seçenekler
A
Algoritma
B
Yöntem
C
Yazılım
D
Formül
E
Denklem
Açıklama:
Algoritma tanımı
Algoritma dediğimiz kavram, belirli bir problemi çözmek ya da bir hedefe ulaşmak amacıyla izlenmesi gereken yola verilen isimdir. Bu yolda belirlenen adımlar da mantıksal olarak birbirini takip
etmeli, hepsi açık, düzenli ve sıralı bir şekilde ifade
edilmelidir.
Algoritma dediğimiz kavram, belirli bir problemi çözmek ya da bir hedefe ulaşmak amacıyla izlenmesi gereken yola verilen isimdir. Bu yolda belirlenen adımlar da mantıksal olarak birbirini takip
etmeli, hepsi açık, düzenli ve sıralı bir şekilde ifade
edilmelidir.
Soru 2
Aşağıda Algoritma ile ilgili verilenlerden hangisi yanlıştır?
Seçenekler
A
Algoritmada herbir adım herkesin anlayabileceği gibi net bir şekilde ifade edilmelidir
B
Probleme uygun olarak algoritma adımları arasındaki işlem sırasına dikkat edilmelidir
C
Belirli bir sürede bitmesine gerek yoktur
D
Sonlu sayıda işlem adımına sahip olmalıdır
E
Başlangıç - bitiş adımlarını içermelidir
Açıklama:
Algoritmanın adımları ve genel özellikleri
Algoritmalarda dikkat edilmesi gereken hususları ise şu şekilde ifade edebiliriz:
• İlgili adım, herkesin anlayabileceği gibi net
bir şekilde ifade edilmelidir.
• Probleme uygun olarak algoritma adımları
arasındaki işlem sırasına dikkat edilmelidir.
• Tüm olası durumları içerecek kadar genel
olmalıdır.
• Başlangıç - bitiş adımlarını içermeli, sonlu
sayıda işlem adımına sahip olmalı ve belirli
bir sürede bitmelidir.
Algoritmalarda dikkat edilmesi gereken hususları ise şu şekilde ifade edebiliriz:
• İlgili adım, herkesin anlayabileceği gibi net
bir şekilde ifade edilmelidir.
• Probleme uygun olarak algoritma adımları
arasındaki işlem sırasına dikkat edilmelidir.
• Tüm olası durumları içerecek kadar genel
olmalıdır.
• Başlangıç - bitiş adımlarını içermeli, sonlu
sayıda işlem adımına sahip olmalı ve belirli
bir sürede bitmelidir.
Soru 3
Belirlenen problemin bilgisayar ortamında çözümünde Algoritma kodlandıktan sonraki aşama aşağıdakilerden hangisidir?
Seçenekler
A
Problemin tanımlanması
B
Girdi ve çıktıların belirlenmesi
C
Alternatif çözüm yollarının belirlenmesi
D
Kodun sınanması ve iyileştirilmesi
E
Çözümün sınanması ve iyileştirilmesi
Açıklama:
Belirlenen problemin aşamalarının kavranması
Belirlenen problemin bilgisayar ortamında çözüm aşamaları ise şu şekilde sıralanabilir:
1. Problemi Tanımlama (İnceleme, Analiz):
Algoritmanın amacı problemi çözmektir.
Çözülecek problem ne kadar iyi anlaşılır ise
algoritmayı geliştirmek o kadar kolay olacaktır.
2. Girdi ve Çıktıların Belirlenmesi: Problemi iyi tanımlayabilmek için başlangıç ve
bitiş noktaları belirlenmiş, sistemin girdi ve
çıktı parametrelerinin ortaya konulmuş olması beklenmektedir.
3. Alternatif Çözüm Yolları: Bir problemin
birden fazla çözüm yolu olduğu unutulmamalıdır. Zamana ve insan kaynağına göre
en uygun çözüm yolu belirlenmelidir. Algoritma, seçilen çözümü adımlara ayrıştırıp
birbirleri ile ilişkilerinin düzgün biçimde
kurulmasını sağlayacak şekilde dizayn edilmelidir.
4. Çözümün Sınanması ve İyileştirilmesi:
Hazırlanan algoritmanın kodlamadan önce
nasıl çalışacağının adım adım incelenmesi,
varsa eksik ve hataların giderilmesi ve gerekli görülen değişikliklerin yapılması gerekmektedir. Bu işlemler sırasında işlemci
ve bellek kullanımı konusunda görülen iyileştirme imkânları da mutlaka göz önünde
bulundurulmalıdır.
5. Algoritmanın Kodlanması: Problemin çözümü için geliştirilen algoritma, bilgisayar üzerinde çalışabilmesi için ihtiyaca uygun olarak
belirlenen bir programlama dili ile kodlanır.
6. Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi
sınanmalıdır. Bu seferki sınama, belirlenen
girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve
olası hataların düzeltilmesi beklenmektedir.
Belirlenen problemin bilgisayar ortamında çözüm aşamaları ise şu şekilde sıralanabilir:
1. Problemi Tanımlama (İnceleme, Analiz):
Algoritmanın amacı problemi çözmektir.
Çözülecek problem ne kadar iyi anlaşılır ise
algoritmayı geliştirmek o kadar kolay olacaktır.
2. Girdi ve Çıktıların Belirlenmesi: Problemi iyi tanımlayabilmek için başlangıç ve
bitiş noktaları belirlenmiş, sistemin girdi ve
çıktı parametrelerinin ortaya konulmuş olması beklenmektedir.
3. Alternatif Çözüm Yolları: Bir problemin
birden fazla çözüm yolu olduğu unutulmamalıdır. Zamana ve insan kaynağına göre
en uygun çözüm yolu belirlenmelidir. Algoritma, seçilen çözümü adımlara ayrıştırıp
birbirleri ile ilişkilerinin düzgün biçimde
kurulmasını sağlayacak şekilde dizayn edilmelidir.
4. Çözümün Sınanması ve İyileştirilmesi:
Hazırlanan algoritmanın kodlamadan önce
nasıl çalışacağının adım adım incelenmesi,
varsa eksik ve hataların giderilmesi ve gerekli görülen değişikliklerin yapılması gerekmektedir. Bu işlemler sırasında işlemci
ve bellek kullanımı konusunda görülen iyileştirme imkânları da mutlaka göz önünde
bulundurulmalıdır.
5. Algoritmanın Kodlanması: Problemin çözümü için geliştirilen algoritma, bilgisayar üzerinde çalışabilmesi için ihtiyaca uygun olarak
belirlenen bir programlama dili ile kodlanır.
6. Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi
sınanmalıdır. Bu seferki sınama, belirlenen
girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve
olası hataların düzeltilmesi beklenmektedir.
Soru 4
Algoritma tasarlama sürecinde doğruluk kanıtlandıktan sonraki aşama aşağıdakilerden hangisidir?
Seçenekler
A
Algoritmanın kodunu yazma
B
Problemi anlama
C
Tasarım tekniğine karar verme
D
Algoritmayı tasarlama
E
Algoritmayı analiz etme
Açıklama:
Problem çözme aşamalarının belirlenmesi
- Problemi Tanımlama (İnceleme, Analiz): Algoritmanın amacı problemi çözmektir. Çözülecek problem ne kadar iyi anlaşılır ise algoritmayı geliştirmek o kadar kolay olacaktır.
- Girdi ve Çıktıların Belirlenmesi: Problemi iyi tanımlayabilmek için başlangıç ve bitiş noktaları belirlenmiş, sistemin girdi ve çıktı parametrelerinin ortaya konulmuş olması beklenmektedir.
- Alternatif Çözüm Yolları: Bir problemin birden fazla çözüm yolu olduğu unutulmamalıdır. Zamana ve insan kaynağına göre en uygun çözüm yolu belirlenmelidir. Algoritma, seçilen çözümü adımlara ayrıştırıp
birbirleri ile ilişkilerinin düzgün biçimde kurulmasını sağlayacak şekilde dizayn edilmelidir. - Çözümün Sınanması ve İyileştirilmesi: Hazırlanan algoritmanın kodlamadan önce nasıl çalışacağının adım adım incelenmesi, varsa eksik ve hataların giderilmesi ve gerekli görülen değişikliklerin yapılması gerekmektedir. Bu işlemler sırasında işlemci ve bellek kullanımı konusunda görülen iyileştirme imkânları da mutlaka göz önünde bulundurulmalıdır.
- Algoritmanın Kodlanması: Problemin çözümü için geliştirilen algoritma, bilgisayar üzerinde çalışabilmesi için ihtiyaca uygun olarak belirlenen bir programlama dili ile kodlanır.
- Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi sınanmalıdır. Bu seferki sınama, belirlenen girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve olası hataların düzeltilmesi beklenmektedir.
Soru 5
Algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılan ve her bir geometrik şekil ve simgenin, bir iş veya komuta karşılık geldiği diyagramlara ne ad verilir?
Seçenekler
A
Veri diyagramları
B
Şematik gösterim
C
Akış diyagramları
D
Çözüm diyagramları
E
Süreç diyagramları
Açıklama:
Akış diyagramlarının kavranması
Akış diyagramları algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır. Algoritmadan
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmektedir
Akış diyagramları algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır. Algoritmadan
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmektedir
Soru 6
Programın asıl dokümanları arasında yer alan, sorunun daha kolay çözülebilmesi ve iş akışının kontrol edilerek programın daha rahat kodlanmasının sağlanması amacıyla kullanılan diyagramlara ne ad verilir?
Seçenekler
A
Akış diyagramları
B
Veri diyagramları
C
Süreç diyagramları
D
Problem diyagramları
E
Algoritma diyagramları
Açıklama:
Akış diyagramlarının özelliklerinin kavranması
Akış diyagramları algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır. Algoritmadan farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmektedir. Her bir geometrik şekil ve simge, bir iş veya komuta karşılık gelmektedir. Bu yüzden algoritmadaki gibi
her adım için açıklama yapma zorunluluğu yoktur. Algoritmadaki adımlar arası geçişler, akış diyagramında oklar ile temsil edilmektedir. Akış diyagramında kullanılan şekillerin uluslararası geçerliliği olduğundan,herkes tarafından rahatça anlaşılabilir.
Programın asıl dokümanları arasında yer alan akış şemaları, sorunun daha kolay çözülebilmesi, iş akışının kontrol edilerek programın daha rahat kodlanmasının sağlanması amacıyla kullanılır.
Akış diyagramları algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır. Algoritmadan farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmektedir. Her bir geometrik şekil ve simge, bir iş veya komuta karşılık gelmektedir. Bu yüzden algoritmadaki gibi
her adım için açıklama yapma zorunluluğu yoktur. Algoritmadaki adımlar arası geçişler, akış diyagramında oklar ile temsil edilmektedir. Akış diyagramında kullanılan şekillerin uluslararası geçerliliği olduğundan,herkes tarafından rahatça anlaşılabilir.
Programın asıl dokümanları arasında yer alan akış şemaları, sorunun daha kolay çözülebilmesi, iş akışının kontrol edilerek programın daha rahat kodlanmasının sağlanması amacıyla kullanılır.
Soru 7
Akış diyagramlarında matematiksel işlemler ve değişkenlere değer atamaları
gibi aşamaların kısa ifadeler ile içerisine yazıldığı şekil aşağıdakilerden hangisidir?
gibi aşamaların kısa ifadeler ile içerisine yazıldığı şekil aşağıdakilerden hangisidir?
Seçenekler
A

B

C

D

E

Açıklama:
Akış diyagramı şekilllerinin kavranması
İşlem / Atama
Matematiksel işlemler, değişkenlere değer atamaları
gibi aşamalar kısa ifadeler ile bu şekil içerisine yazılır.

İşlem / Atama
Matematiksel işlemler, değişkenlere değer atamaları
gibi aşamalar kısa ifadeler ile bu şekil içerisine yazılır.

Soru 8
Akış şemasında birden fazla yapılacak işlemlerde kullanılan ve bir kolunun döngüsel işlemlere, diğer kolunun döngü sonlanınca sıradaki akışa bağlandığı şekil aşağıdakilerden hangisidir?
Seçenekler
A

B

C

D

E

Açıklama:
Akış diyagramlarında kullanılan şekillerin kavranması
Döngü
Birden fazla yapılacak işlemlerde kullanılır.
Kutucuğun bir kolu döngüsel işlemlere, diğer kolu
da döngü sonlanınca sıradaki akışa bağlanır.

Döngü
Birden fazla yapılacak işlemlerde kullanılır.
Kutucuğun bir kolu döngüsel işlemlere, diğer kolu
da döngü sonlanınca sıradaki akışa bağlanır.

Soru 9
Her işlemin bir diğerini takip ettiği ve işlemler içinde koşul veya döngünün gerçekleşmediği giriş, hesaplama ve çıkış biçiminde kurgulanan Akış Diyagramı aşağıdakilerden hangisidir?
Seçenekler
A
Doğrusal
B
Mantıksal
C
Döngüsel
D
Sırasız
E
Nötr
Açıklama:
Akış diyagramı türlerinin kavranması
Akış diyagramları, kullanılan algoritmaların içerik ve biçimine göre genel olarak üç grupta sınıflandırılabilir.
Doğrusal (Sıralı): Akış içerisinde giriş, hesaplama ve çıkış biçiminde sıralı bir olay kurgusu vardır. Her
işlem bir diğerini takip ederken işlemler içinde koşul veya döngü gerçekleşmez.
Akış diyagramları, kullanılan algoritmaların içerik ve biçimine göre genel olarak üç grupta sınıflandırılabilir.
Doğrusal (Sıralı): Akış içerisinde giriş, hesaplama ve çıkış biçiminde sıralı bir olay kurgusu vardır. Her
işlem bir diğerini takip ederken işlemler içinde koşul veya döngü gerçekleşmez.
Soru 10
Aşağıdakilerden hangisi/hangileri Sıralı (Doğrusal) Akış Diyagramına örnek olarak verilebilir?
I. Girilen iki sayının çarpımını bulma
II. Çemberin çevre ve alanını bulma
III. Notları girilen öğrencilerin sınıf ortalamasını bulma
I. Girilen iki sayının çarpımını bulma
II. Çemberin çevre ve alanını bulma
III. Notları girilen öğrencilerin sınıf ortalamasını bulma
Seçenekler
A
Yalnız I
B
I ve II
C
Yalnız II
D
Yalnız III
E
I, II ve III
Açıklama:
Akış diyagramı türlerinin örneklendirilmesi
Doğrusal (Sıralı): Akış içerisinde giriş, hesaplama ve çıkış biçiminde sıralı bir olay kurgusu vardır. Her
işlem bir diğerini takip ederken işlemler içinde koşul veya döngü gerçekleşmez.
Örnek olarak:
• Girilen iki sayının çarpımını bulma,
• Çemberin çevre ve alanını bulma,
• Notları girilen öğrencilerin sınıf ortalamasını bulma
verilebilir.
Doğrusal (Sıralı): Akış içerisinde giriş, hesaplama ve çıkış biçiminde sıralı bir olay kurgusu vardır. Her
işlem bir diğerini takip ederken işlemler içinde koşul veya döngü gerçekleşmez.
Örnek olarak:
• Girilen iki sayının çarpımını bulma,
• Çemberin çevre ve alanını bulma,
• Notları girilen öğrencilerin sınıf ortalamasını bulma
verilebilir.
Soru 11
Yapılacak işlemlerin bilgisayarların anladığı dile çevrilebilmesi için ilk önce herkesin anlayabileceği bir yapıya çevrilmesi gerekir. Bu yapıya ne ad verilir?
Seçenekler
A
Algoritma
B
Kod
C
Program
D
İşlem
E
Problem
Açıklama:
Yapılacak işlemleri bilgisayarın anladığı dile çevirebilmek için ilk önce herkesin anlayabileceği bir yapıya yani algoritmaya çevirmeliyiz. Doğru cevap A’dır.
Soru 12
Sade Türk kahvesi yapmak isteyen bir kişi cezve, bir fincan, bir fincan su, bir tatlı kaşığı Türk kahvesi ve bir ocak ayarlamıştır. Bu kişi tüm malzemeleri cezveye koymuş, karıştırmış, cezveyi ocağın üstüne koyarak malzemeleri köpürene kadar pişirmiş ve ocağı kapatmıştır Sonrasında ise sade Türk kahvesini fincana koyarak servis etmiştir. Aşağıdakilerden hangisi bu algoritmanın girdilerinden biri değildir?
Seçenekler
A
Cezve
B
Ocak
C
Bir fincan su
D
Bir tatlı kaşığı Türk kahvesi
E
Bir fincan sade Türk kahvesi
Açıklama:
Bu algoritmada cezve, bir fincan, bir fincan su, bir tatlı kaşığı Türk kahvesi ve ocak girdi, elde edilen bir fincan Türk kahvesi ise çıktıdır. Doğru cevap E’dir.
Soru 13
- Başla.
- Kullanıcıdan 1. ve 2. sayıyı girmesini iste.
- Fark = 1. sayı - 2. sayı
- Bölüm = 1. sayı / 2. sayı
- Toplam = 1. sayı + 2. sayı
- Fark, bölüm ve toplamı ekrana yazdır.
- Bitir.
Seçenekler
A
1. sayı
B
1. sayı ve 2. sayı
C
Fark
D
Bölüm ve toplam
E
Fark, bölüm ve toplam
Açıklama:
Verilen algoritmada fark, bölüm ve toplam çıktılardır. Doğru cevap E’dir.
Soru 14
Bir problemin bilgisayar ortamında çözümünün ilk aşaması aşağıdakilerden hangisidir?
Seçenekler
A
Problemi tanımlama (inceleme, analiz)
B
Girdi ve çıktıların belirlenmesi
C
Alternatif çözüm yolları
D
Çözümün sınanması ve iyileştirilmesi
E
Algoritmanın kodlanması
Açıklama:
Bir problemin bilgisayar ortamında çözümünün ilk aşaması problemi tanımlama (inceleme, analiz) aşamasıdır. Algoritmanın amacı problemi çözmektir. Çözülecek problem ne kadar iyi anlaşılır ise algoritmayı geliştirmek o kadar kolay olacaktır.
Soru 15
Yukarıda verilen akış diyagramı şeklinin adı nedir?Seçenekler
A
Başla / Bitir
B
İşlem /Atama
C
Girdi / Çıktı
D
Karşılaştırma ve Karar
E
Akış Yönü
Açıklama:
Verilen akış diyagramı şeklinin adı Karşılaştırma ve Karar’dır. Karşılaştırma işlemlerinin sonuçlarına göre akış yönü belirlenen durumlarda kullanılır. Yapılacak karşılaştırma kutucuk içerisine kısaca yazılır. E (Evet), H (Hayır) ile belirlenen çıktılar, başka bir akış elemanına bağlanır. Doğru cevap D’dir.
Soru 16
Aşağıdakilerden hangisi mantıksal (koşullu) akış diyagramı örneğidir?
Seçenekler
A
Girilen üç sayının ortalamasını bulma
B
Dairenin alanını bulma
C
1’den n’e kadar olan sayıların toplamını bulma
D
Girilen bir sayının faktöriyelini hesaplama
E
Girilen üç sayıdan en büyük olanı bulma
Açıklama:
Girilen üç sayının ortalamasını bulma ve dairenin alanını bulma doğrusal (sıralı) akış diyagramı örneğiyken 1’den n’e kadar olan sayıların toplamını bulma ve girilen bir sayının faktöriyelini hesaplama ise döngüsel (tekrarlı) akış diyagramı örneğidir. Doğru cevap E’dir.
Soru 17
I. sayı1 ve sayı2 iste
II. Bitir
III. Ekrana yaz: Çarpım
IV. Çarpım = sayı1 x sayı2
V. Başla
Verilen akış diyagramı adımlarının doğru sıralaması sağıdakilerden hangisidir?
II. Bitir
III. Ekrana yaz: Çarpım
IV. Çarpım = sayı1 x sayı2
V. Başla
Verilen akış diyagramı adımlarının doğru sıralaması sağıdakilerden hangisidir?
Seçenekler
A
I-V-IV-II-III
B
I-V-III-IV-II
C
V-I-III-IV-II
D
V-I-IV-III-II
E
I-V-IV-II-III
Açıklama:
Verilen akış diyagramının adımları:
V. Başla
I. sayı1 ve sayı2 iste
IV. Çarpım = sayı1 x sayı2
III. Çarpım
II. Bitir
biçiminde sıralanır. Doğru cevap D’dir.
V. Başla
I. sayı1 ve sayı2 iste
IV. Çarpım = sayı1 x sayı2
III. Çarpım
II. Bitir
biçiminde sıralanır. Doğru cevap D’dir.
Soru 18
BAŞLA
SAYI sayi1, sayi2
OKU sayi1
OKU sayi2
EĞER sayi1 > sayi2 İSE YAZ sayi1
DEĞİLSE EĞER sayi2 > sayi1 İSE YAZ sayi2
BİTİR
Yukarıda sözde (pseudo) kod ile yapılan işlem nedir?
SAYI sayi1, sayi2
OKU sayi1
OKU sayi2
EĞER sayi1 > sayi2 İSE YAZ sayi1
DEĞİLSE EĞER sayi2 > sayi1 İSE YAZ sayi2
BİTİR
Yukarıda sözde (pseudo) kod ile yapılan işlem nedir?
Seçenekler
A
Girilen iki sayının küçüğünü bulmak
B
Girilen iki sayının büyüğünü bulmak
C
Girilen iki sayıyı toplamak
D
Girilen iki sayının farkını almak
E
Girilen iki sayının ortalamasını bulmak
Açıklama:
Verilen sözde (pseudo) kod ile yapılan işlem girilen iki sayıdan büyüğünü bulmaktır. Doğru cevap B’dir.
Soru 19
Tasarım aşamasında oluşturulan tüm doküman ve isteklerin yazılım geliştirme ekibine iletildiği yazılım geliştirme aşaması aşağıdakilerden hangisidir?
Seçenekler
A
Bakım
B
Test ve entegrasyon
C
Kodlama
D
Planlama ve analiz
E
Taleplerin belirlenmesi
Açıklama:
Kodlama aşamasında, tasarım aşamasında oluşturulan tüm dokümanlar ve istekler yazılım geliştirme ekibine iletilmektedir. Doğru cevap C’dir.
Soru 20
Aşağıdakilerden hangisi günlük hayattan bir algoritma örneği değildir?
Seçenekler
A
Çamaşır yıkama
B
Çay demleme
C
Yoğurt mayalama
D
İşe gitmek için yapılan hazırlıklar
E
Kitap kelimesini ekrana 5 defa yazdırma
Açıklama:
Çamaşır yıkama, çay demleme, yoğurt mayalama ve işe gitmek için yapılan hazırlıklar günlük hayattan algoritma örnekleridir. Doğru cevap E’dir.
Soru 21
Belirlenen problemin bilgisayar ortamında çözüm aşamalarını sıraladığımızda son adım aşağıdakilerden hangisi olur?
Seçenekler
A
Girdi ve Çıktıların Belirlenmesi
B
Problemi Tanımlama
C
Algoritmanın Kodlanması
D
Kodun Sınanması ve İyileştirilmesi
E
Alternatif Çözüm Yollarının Bulunması
Açıklama:
Problem Çözme
Bir problemin bilgisayar ortamında çözümlenmesinin son adımı:
Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi
sınanmalıdır. Bu seferki sınama, belirlenen
girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve
olası hataların düzeltilmesi beklenmektedir.
Bir problemin bilgisayar ortamında çözümlenmesinin son adımı:
Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi
sınanmalıdır. Bu seferki sınama, belirlenen
girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve
olası hataların düzeltilmesi beklenmektedir.
Soru 22
Aşağıdakilerden hangisi Algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır?
Seçenekler
A
Akış diyagramları
B
Sözde Kod
C
Tablo
D
Şema
E
Taslak
Açıklama:
Akış diyagramları algoritmanın, görsel ve şekilsel olarak ifade edilmesi için kullanılır. Algoritmadan
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmektedir
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar, geometrik şekillerle gösterilmektedir
Soru 23
Aşağıda verilenlerden hangisi veya hangileri Akış Diyagramı türlerinden birisidir?
I. Doğrusal (Sıralı)
II. Mantıksal (Koşullu)
III. Döngüsel (Tekrarlı)
I. Doğrusal (Sıralı)
II. Mantıksal (Koşullu)
III. Döngüsel (Tekrarlı)
Seçenekler
A
Yalnız I
B
I ve II
C
I, II ve III
D
Yalnız III
E
I ve III
Açıklama:
Akış diyagramları türleri
Akış diyagramları, kullanılan algoritmaların içerik ve biçimine göre genel olarak üç grupta sınıflandırılabilir.
I. Doğrusal (Sıralı)
II. Mantıksal (Koşullu)
III. Döngüsel (Tekrarlı)
Akış diyagramları, kullanılan algoritmaların içerik ve biçimine göre genel olarak üç grupta sınıflandırılabilir.
I. Doğrusal (Sıralı)
II. Mantıksal (Koşullu)
III. Döngüsel (Tekrarlı)
Soru 24
Algoritma ilk olarak hangi kitapta sunulmuştur?
Seçenekler
A
Yapay Ağlar
B
SQL Server
C
Hisab el-cebir ve el-mukabala
D
Riyazetül Müteallimin
E
El İşarat ve't Tenbihat
Açıklama:
Algoritmanın tarihçesinin kavranması
Algoritma, ilk olarak “Hisab
el-cebir ve el-mukabala” kitabında sunulmuştur.
Algoritma, ilk olarak “Hisab
el-cebir ve el-mukabala” kitabında sunulmuştur.
Soru 25
Aşağıdaki seçeneklerden hangisi "Algoritma neden önemlidir" sorusuna yanıt vermektedir?
Seçenekler
A
Problem çözümü ile birlikte makine performansını artırır.
B
Projeyi tasarlayan haricinde bir başka kişi tarafından da kodu yazılabilir.
C
Kodlama yapıldıktan sonra testlerin akışını belirler.
D
Kullanıcıların kodlama kabiliyetini geliştirir.
E
Sistem yanlış girdi kontrollerini önler.
Açıklama:
Algoritmanın öneminin farkına varılması
Projeyi tasarlayan haricinde bir başka kişi
tarafından da kodu yazılabilir.
Projeyi tasarlayan haricinde bir başka kişi
tarafından da kodu yazılabilir.
Soru 26
Kod içerisinde, sayısı belli olan tekrarlı blokların oluşturulmasında aşağıdakilerden hangisi kullanılır?
Seçenekler
A
Değilse Eğer
B
Döngü
C
Başla (begin)
D
Oku (input, read, get, accept)
E
Yaz (print, display, write)
Açıklama:
Sözde Kod (PseudoCode) öğrenilmesi ve anlaşılması
Döngü (sayaç= [Başlangıç değeri] TO
[Hedef sayı değeri] STEP [Artış/azalım miktarı]) … Döngü sonu (for …
endfor): Kod içerisinde, sayısı belli olan
tekrarlı blokların oluşturulmasında kullanılır
Döngü (sayaç= [Başlangıç değeri] TO
[Hedef sayı değeri] STEP [Artış/azalım miktarı]) … Döngü sonu (for …
endfor): Kod içerisinde, sayısı belli olan
tekrarlı blokların oluşturulmasında kullanılır
Soru 27
Akış diyagramının algoritmadan farkı aşağıdakilerden hangisidir?
Seçenekler
A
Akış diyagramında programın başlangıcından bitişine kadar olan tüm adımlar geometrik şekillerle gösterilmektedir.
B
Akış diyagramında başlangıç yoktur.
C
Akış diyagramında girdi kontrolü vardır, algoritmada yoktur.
D
Algoritma akış diyagramına göre sadece geometrik şekillerden oluşur.
E
Diyagramda kod sınanması yapılır. Algoritmada yapılmaz.
Açıklama:
Algoritma ile akış diyagramının farkına varılması.
Algoritmadan
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar geometrik şekillerle gösterilmektedir
Algoritmadan
farklı olarak programın başlangıcından bitişine kadar olan tüm adımlar geometrik şekillerle gösterilmektedir
Soru 28
Akış diyagramında kullanılan geometrik şekillerden dikdörtgen ne amaçla kullanılır?
Seçenekler
A
Algoritmadaki başlangıç ve bitiş konumlarını gösterir.
B
Matematiksel işlemler, değişkenlere değer atamaları gibi aşamalar kısa ifadeler ile bu şekil içerisine yazılır.
C
Ekrana istenilen metni yazdırmak için kullanılır.
D
Şemada kullanılan şekillerin arasındaki bağlantıları belirtir.
E
Birden fazla yapılacak işlemlerde kullanılır.
Açıklama:
Akış Diyagramında Kullanılan Şekillerin öğrenilmesi
Matematiksel işlemler, değişkenlere değer atamaları
gibi aşamalar kısa ifadeler ile bu şekil içerisine yazılır.
Matematiksel işlemler, değişkenlere değer atamaları
gibi aşamalar kısa ifadeler ile bu şekil içerisine yazılır.
Soru 29
Akış diyagramında bir sayfaya sığmayan akışlarda ya da fonksiyonların başlangıç / bitiş noktalarının belirlenmesi için kullanılan geometrik şekil aşağıdakilerden hangisidir?
Seçenekler
A
Ok işareti
B
Dikdörtgen
C
Daire
D
Paralel kenar
E
Altıgen
Açıklama:
Uzun akış diyagramlarının kavratılması
Bir sayfaya sığmayan akışlarda ya da fonksiyonların
başlangıç / bitiş noktalarının belirlenmesi için "bağlantı" anlamına gelen Daire işareti kullanılır.
Bir sayfaya sığmayan akışlarda ya da fonksiyonların
başlangıç / bitiş noktalarının belirlenmesi için "bağlantı" anlamına gelen Daire işareti kullanılır.
Soru 30
UML (Unified ModellingLanguage - Birleşik Modelleme Dili) diyagramları yazılım geliştirme sürecinin hangi aşamasında hazırlanır?
Seçenekler
A
Planlama ve Analiz
B
Kodlama
C
Test ve Entegrasyon
D
Tasarım
E
Bakım
Açıklama:
UML (Unified ModellingLanguage - Birleşik Modelleme Dili) diyagramları yazılım süreçlerinde öneminin hatırlatılması
Tasarım: Bu aşamada ise hazırlanan projenin
teknik kısımları ele alınmaktadır. Kullanıcı arayüzleri, veri tabanı şemaları, UML (Unified Modelling
Language - Birleşik Modelleme Dili) diyagramları
hazırlanır.
Tasarım: Bu aşamada ise hazırlanan projenin
teknik kısımları ele alınmaktadır. Kullanıcı arayüzleri, veri tabanı şemaları, UML (Unified Modelling
Language - Birleşik Modelleme Dili) diyagramları
hazırlanır.
Soru 31
- Süre kısıtlaması olmamalıdır.
- Sonsuz sayıda işlem adımına sahip olmalıdır.
- Tüm olası durumları içerecek kadar genel olmalıdır.
- Başlangıç - bitiş adımlarını içermelidir.
Seçenekler
A
Yalnız II
B
I-II
C
III-IV
D
I-II-III
E
II-III-IV
Açıklama:
Algoritmalarda dikkat edilmesi gereken hususları ise şu şekilde ifade edebiliriz:
• İlgili adım, herkesin anlayabileceği gibi net
bir şekilde ifade edilmelidir.
• Probleme uygun olarak algoritma adımları
arasındaki işlem sırasına dikkat edilmelidir.
• Tüm olası durumları içerecek kadar genel
olmalıdır.
• Başlangıç - bitiş adımlarını içermeli, sonlu
sayıda işlem adımına sahip olmalı ve belirli
bir sürede bitmelidir.
• İlgili adım, herkesin anlayabileceği gibi net
bir şekilde ifade edilmelidir.
• Probleme uygun olarak algoritma adımları
arasındaki işlem sırasına dikkat edilmelidir.
• Tüm olası durumları içerecek kadar genel
olmalıdır.
• Başlangıç - bitiş adımlarını içermeli, sonlu
sayıda işlem adımına sahip olmalı ve belirli
bir sürede bitmelidir.
Soru 32
- Kodun Sınanması ve İyileştirilmesi
- Alternatif Çözüm Yolları
- Problemi Tanımlama
- Girdi ve Çıktıların Belirlenmesi
- Çözümün Sınanması ve İyileştirilmesi
- Algoritmanın Kodlanması
Seçenekler
A
I-II-III-IV-V-VI
B
I-II-IV-V-VI-III
C
V-VI-II-III-I-IV
D
III-IV-II-V-VI-I
E
III-V-II-IV-VI-I
Açıklama:
Belirlenen problemin bilgisayar ortamında çözüm aşamaları ise şu şekilde sıralanabilir:
1. Problemi Tanımlama (İnceleme, Analiz):
Algoritmanın amacı problemi çözmektir.
Çözülecek problem ne kadar iyi anlaşılır ise
algoritmayı geliştirmek o kadar kolay olacaktır.
2. Girdi ve Çıktıların Belirlenmesi: Problemi iyi tanımlayabilmek için başlangıç ve
bitiş noktaları belirlenmiş, sistemin girdi ve
çıktı parametrelerinin ortaya konulmuş olması beklenmektedir.
3. Alternatif Çözüm Yolları: Bir problemin
birden fazla çözüm yolu olduğu unutulmamalıdır. Zamana ve insan kaynağına göre en uygun çözüm yolu belirlenmelidir. Algoritma, seçilen çözümü adımlara ayrıştırıp birbirleri ile ilişkilerinin düzgün biçimde
kurulmasını sağlayacak şekilde dizayn edilmelidir.
4. Çözümün Sınanması ve İyileştirilmesi:
Hazırlanan algoritmanın kodlamadan önce
nasıl çalışacağının adım adım incelenmesi,
varsa eksik ve hataların giderilmesi ve gerekli görülen değişikliklerin yapılması gerekmektedir. Bu işlemler sırasında işlemci
ve bellek kullanımı konusunda görülen iyileştirme imkânları da mutlaka göz önünde bulundurulmalıdır.
5. Algoritmanın Kodlanması: Problemin çözümü için geliştirilen algoritma, bilgisayar üzerinde çalışabilmesi için ihtiyaca uygun olarak
belirlenen bir programlama dili ile kodlanır.
6. Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi sınanmalıdır. Bu seferki sınama, belirlenen
girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve
olası hataların düzeltilmesi beklenmektedir.
1. Problemi Tanımlama (İnceleme, Analiz):
Algoritmanın amacı problemi çözmektir.
Çözülecek problem ne kadar iyi anlaşılır ise
algoritmayı geliştirmek o kadar kolay olacaktır.
2. Girdi ve Çıktıların Belirlenmesi: Problemi iyi tanımlayabilmek için başlangıç ve
bitiş noktaları belirlenmiş, sistemin girdi ve
çıktı parametrelerinin ortaya konulmuş olması beklenmektedir.
3. Alternatif Çözüm Yolları: Bir problemin
birden fazla çözüm yolu olduğu unutulmamalıdır. Zamana ve insan kaynağına göre en uygun çözüm yolu belirlenmelidir. Algoritma, seçilen çözümü adımlara ayrıştırıp birbirleri ile ilişkilerinin düzgün biçimde
kurulmasını sağlayacak şekilde dizayn edilmelidir.
4. Çözümün Sınanması ve İyileştirilmesi:
Hazırlanan algoritmanın kodlamadan önce
nasıl çalışacağının adım adım incelenmesi,
varsa eksik ve hataların giderilmesi ve gerekli görülen değişikliklerin yapılması gerekmektedir. Bu işlemler sırasında işlemci
ve bellek kullanımı konusunda görülen iyileştirme imkânları da mutlaka göz önünde bulundurulmalıdır.
5. Algoritmanın Kodlanması: Problemin çözümü için geliştirilen algoritma, bilgisayar üzerinde çalışabilmesi için ihtiyaca uygun olarak
belirlenen bir programlama dili ile kodlanır.
6. Kodun Sınanması ve İyileştirilmesi: Yazılan kod da tıpkı algoritmada olduğu gibi sınanmalıdır. Bu seferki sınama, belirlenen
girdiler için belirlenen çıktıların alınmasının kontrol edilmesi amacıyla kodun çalıştırılmasıdır. Bu aşamada da performans ve
olası hataların düzeltilmesi beklenmektedir.
Soru 33
1. Başla
2. Kullanıcıdan 1. ve 2. sayıyı girmesini iste.
3. Bölme=1. sayı/2. sayı
4. Bölmeyi ekrana yazdır.
5. Bitir
Yukarıdaki akışı 1'den 5'e kadar sırasıyla takip ettiğimizde yazılan algoritmanın biçimini ve içeriğini dikkate alırsak aşağıdaki akış diyagramı türlerinden hangisinin kullanıldığını söyleyebiliriz?
2. Kullanıcıdan 1. ve 2. sayıyı girmesini iste.
3. Bölme=1. sayı/2. sayı
4. Bölmeyi ekrana yazdır.
5. Bitir
Yukarıdaki akışı 1'den 5'e kadar sırasıyla takip ettiğimizde yazılan algoritmanın biçimini ve içeriğini dikkate alırsak aşağıdaki akış diyagramı türlerinden hangisinin kullanıldığını söyleyebiliriz?
Seçenekler
A
Doğrusal
B
Mantıksal
C
Koşullu
D
Döngüsel
E
Tekrarlı
Açıklama:
Doğrusal (Sıralı): Akış içerisinde giriş, hesaplama ve çıkış biçiminde sıralı bir olay kurgusu vardır. Her
işlem bir diğerini takip ederken işlemler içinde koşul veya döngü gerçekleşmez.
Örnek olarak:
• Girilen iki sayının çarpımını bulma,
• Çemberin çevre ve alanını bulma,
• Notları girilen öğrencilerin sınıf ortalamasını bulma
verilebilir.
işlem bir diğerini takip ederken işlemler içinde koşul veya döngü gerçekleşmez.
Örnek olarak:
• Girilen iki sayının çarpımını bulma,
• Çemberin çevre ve alanını bulma,
• Notları girilen öğrencilerin sınıf ortalamasını bulma
verilebilir.
Soru 34
"Kullanıcıdan veri alır." şeklinde açıklanan sözde kod (pseudo code) komutu aşağıdakilerden hangisidir?
Seçenekler
A
Başla
B
Bitir
C
Oku
D
Yaz
E
Eğer....İse....
Açıklama:
Oku ((input, read, get, accept) sözde kod komutu kullanıcıdan veri alma anlamına gelmektedir.
Soru 35
- sayı1 <-INPUT
- sayı2<-INPUT
- toplama<- sayı1+sayı2
- ortalama
- PRINT ortalama
Yukarıda yer alan sözde kod komutlarında değişkenlere değerlerin atandığı komutlar hangi basamaklarda yer almaktadır?
Seçenekler
A
I-II-III
B
III-IV
C
I-II-V
D
III-IV-V
E
I-II-IV
Açıklama:
Sözde kodlarda değişkenlere değer atamalarında <- (ok) işareti ile,
kullanıcıdan istenen bilgi girişleri INPUT komutu
ile, ekrana bastırılacak veriler de PRINT komutu
ile gösterilmektedir.
kullanıcıdan istenen bilgi girişleri INPUT komutu
ile, ekrana bastırılacak veriler de PRINT komutu
ile gösterilmektedir.
Soru 36
Aşağıda yer alan yazılım geliştirme süreci aşamaları hangi seçenekte doğru şekilde sıralanmıştır?
Seçenekler
A
Taleplerin belirlenmesi-Planlama ve analiz-Kodlama-Tasarım-Test ve entegrasyon-Bakım
B
Taleplerin belirlenmesi-Planlama ve analiz-Tasarım-Kodlama-Test ve entegrasyon-Bakım
C
Planlama ve analiz-Taleplerin belirlenmesi-Tasarım-Kodlama-Test ve entegrasyon-Bakım
D
Planlama ve analiz-Taleplerin belirlenmesi-Kodlama-Tasarım-Test ve entegrasyon-Bakım
E
Tasarım-Kodlama-Planlama ve analiz-Taleplerin belirlenmesi-Bakım-Test ve entegrasyon
Açıklama:
Yazılım geliştirme sürecinin aşamaları şu şekildedir:
Taleplerin belirlenmesi-Planlama ve analiz-Tasarım-Kodlama-Test ve entegrasyon-Bakım
Taleplerin belirlenmesi-Planlama ve analiz-Tasarım-Kodlama-Test ve entegrasyon-Bakım
Soru 37
Yazılım geliştirme sürecinde hazırlanan projenin kullanıcı arayüzlerinin, veri tabanı şemalarının, UML (Unified Modelling Language - Birleşik Modelleme Dili) diyagramlarının hazırlandığı aşama aşağıdakilerden hangisidir?
Seçenekler
A
Taleplerin belirlenmesi
B
Planlama ve analiz
C
Kodlama
D
Tasarım
E
Test ve entegreasyon
Açıklama:
Tasarım: Bu aşamada hazırlanan projenin
teknik kısımları ele alınmaktadır. Kullanıcı arayüzleri, veri tabanı şemaları, UML (Unified Modelling Language - Birleşik Modelleme Dili) diyagramları
hazırlanır. Tasarımlar yapılırken yazılım standartlarına uygun şekilde dizayn edilmesi gerekmektedir.
teknik kısımları ele alınmaktadır. Kullanıcı arayüzleri, veri tabanı şemaları, UML (Unified Modelling Language - Birleşik Modelleme Dili) diyagramları
hazırlanır. Tasarımlar yapılırken yazılım standartlarına uygun şekilde dizayn edilmesi gerekmektedir.
Soru 38
1. Başla
2. Otobüsteki kişileri say.
3. Sayılan kişi sayısı 30'dan büyük mü?
4. Evet ise 6. adıma git.
5. Hayır ise 8. adıma git.
6. Kapasite aşımı uyarısı ver.
7. 2. adıma git.
8. Bitir.
Maximum 30 kişi kapasiteli bir yolcu otobüsünün hareket etmesi için 30 kişiyi aşmaması gerektiğini anlatan algoritmada otobüsün hareket etmesini sağlayan "Bitir" adımından önceki adım aşağıdakilerden hangisidir?
2. Otobüsteki kişileri say.
3. Sayılan kişi sayısı 30'dan büyük mü?
4. Evet ise 6. adıma git.
5. Hayır ise 8. adıma git.
6. Kapasite aşımı uyarısı ver.
7. 2. adıma git.
8. Bitir.
Maximum 30 kişi kapasiteli bir yolcu otobüsünün hareket etmesi için 30 kişiyi aşmaması gerektiğini anlatan algoritmada otobüsün hareket etmesini sağlayan "Bitir" adımından önceki adım aşağıdakilerden hangisidir?
Seçenekler
A
3
B
4
C
5
D
6
E
7
Açıklama:
Bu akışta otobüsün hareket etmesi için max. 30 kişiye ihtiyaç vardır. 5. adımda kapasite 30 un üzerinde olmadığında 8. adıma ulaşıyoruz. Dolayısıyla doğru cevap C şıkkıdır.
Soru 39
o
Yukarıda yer alan akış diyagramı şekli hangi anlama gelmektedir?
Yukarıda yer alan akış diyagramı şekli hangi anlama gelmektedir?
Seçenekler
A
Ekrana istenilen metni yazdırmak için kullanılır.
B
Karşılaştırma işlemlerinin sonuçlarına göre akış yönü belirlenen durumlarda kullanılır.
C
Birden fazla yapılacak işlemlerde kullanılır.
D
Döngü gibi alt süreçler içeren durumlarda kullanılır.
E
Bir sayfaya sığmayan akışlarda ya da fonksiyonların başlangıç / bitiş noktalarının belirlenmesi için kullanılır.
Açıklama:
Doğru cevap E şıkkında yer almaktadır.
Ünite 2
Soru 1
"BİOS, işletim sistemi, ofis uygulamaları gibi bilgisayarda kullanılan tüm yardımcı etkenlere ............ adı verilir."
Yukarıdaki açıklamada boşluğu doldurunuz.
Yukarıdaki açıklamada boşluğu doldurunuz.
Seçenekler
A
Bilgisayar Programı
B
Virüs
C
Antivirüs
D
Kodlama
E
Web
Açıklama:
BİOS, işletim sistemi, ofis uygulamaları gibi bilgisayarda kullanılan tüm yardımcı etkenlere bilgisayar programı adı verilir.
Soru 2
Aşağıdaki terimler neye örnek olarak verilebilir?
- Linux
- Mac-Os
- Windows 10, 8, 7…
- Android (Mobil)
- IOS (Mobil)
- Linux
- Mac-Os
- Windows 10, 8, 7…
- Android (Mobil)
- IOS (Mobil)
Seçenekler
A
Yazılım
B
Program Dili
C
İşletim sistemi
D
Uygulama Yazılımları
E
Anti Virüs Yazılımları
Açıklama:
İşletim sistemi yazılımlarına örnek verecek olursak;
- Linux
- Mac-Os
- Windows 10, 8, 7…
- Android (Mobil)
- IOS (Mobil)
- Linux
- Mac-Os
- Windows 10, 8, 7…
- Android (Mobil)
- IOS (Mobil)
Soru 3
"Bir ücret karşılığı kullanım hakları alınan yazılımlara........ denmektedir." Açıklamasındaki boşluğu doldurunuz.
Seçenekler
A
Ticari Yazılımlar
B
Eğlence Yazılımları
C
Genel Amaçlı Yazılımlar
D
Lisanslı Yazılımlar
E
Beta Yazılımlar
Açıklama:
Bir ücret karşılığı kullanım hakları alınan yazılımlara Lisanslı Yazılımlar denmektedir.
Soru 4
"Prolog, LISP, Python" hangi programlama türüne örnek olarak verilir?
Seçenekler
A
Masaüstü Programlama
B
Sistem Programlama
C
Yapay Zeka Programlama
D
Web Programlama
E
Veritabanı Programlama
Açıklama:
Yapay Zeka Programlama (Prolog, LISP, Python)
Soru 5
COBOL dili ne tür uygulamalar için tercih edilir?
Seçenekler
A
Mühendislikte
B
Ftp
C
Mobil
D
Masaüstü
E
Ticari
Açıklama:
COBOL dili, ticari uygulamalar için geliştirilmiştir.
Soru 6
Yapısal programlamanın ortaya çıkmasındaki temel sebeplerden biri olan "istenilen satıra yönlendirme komutu" hangi ifade ile tanımlanır?
Seçenekler
A
GOTO
B
C++
C
C
D
C#
E
JAVA
Açıklama:
Yapısal programlamanın ortaya çıkmasında temelde iki sebep olduğu söylenebilir. Bunlardan ilki,
GOTO (istenilen satıra yönlendirme) komutunun karmaşıklığıdır.
GOTO (istenilen satıra yönlendirme) komutunun karmaşıklığıdır.
Soru 7
Aşağıdakilerden hangisi veya hangileri nesne yönelimli programlama dillerinde beklenen temel özelliklere örnek olarak verilebilir?
I. Kapsülleme (Encapsulation)
II. Miras Alma (Inheritance)
III. Çok Biçimlilik (Polymorphism)
IV. Soyutlama (Abstraction)
I. Kapsülleme (Encapsulation)
II. Miras Alma (Inheritance)
III. Çok Biçimlilik (Polymorphism)
IV. Soyutlama (Abstraction)
Seçenekler
A
Yalnız I
B
Yalnız II
C
II ve III
D
I ve IV
E
I, II, III ve IV
Açıklama:
Bunlardan herhangi biri bile eksik olacak olursa bu dil nesne yönelimli olarak görülmemektedir.
I. Kapsülleme (Encapsulation)
II. Miras Alma (Inheritance)
III. Çok Biçimlilik (Polymorphism)
IV. Soyutlama (Abstraction)
Cevap: I, II, III ve IV
I. Kapsülleme (Encapsulation)
II. Miras Alma (Inheritance)
III. Çok Biçimlilik (Polymorphism)
IV. Soyutlama (Abstraction)
Cevap: I, II, III ve IV
Soru 8
Aşağıdakilerden hangisi C# dilinin kullanım alanlarından biri değildir?
Seçenekler
A
Windows uygulamalarının geliştirilebilmesi
B
Web servis desteği
C
DLL hazırlama
D
Soyutlama
E
Linux ve MacOs için uygulama geliştirilebilmesi
Açıklama:
C# dilinin çeşitli kullanım alanları mevcuttur. Bunların bir kısmını şu şekilde sıralayabiliriz:
- Konsol uygulamalarının geliştirilebilmesi
- Windows uygulamalarının geliştirilebilmesi
- Linux ve MacOs için uygulama geliştirilebilmesi
- Web servis desteği
- PDA, android, ios gibi mobil cihazlara uygun uygulama geliştirilebilmesi
- Veri analizleri
- ASP.Net web uygulamaları
- DLL hazırlama
- Konsol uygulamalarının geliştirilebilmesi
- Windows uygulamalarının geliştirilebilmesi
- Linux ve MacOs için uygulama geliştirilebilmesi
- Web servis desteği
- PDA, android, ios gibi mobil cihazlara uygun uygulama geliştirilebilmesi
- Veri analizleri
- ASP.Net web uygulamaları
- DLL hazırlama
Soru 9
Aşağıdakilerden hangisi kullanım haklarına göre sınıflandırlmış yazılımlardan biri değildir?
Seçenekler
A
Lisanslı yazılımlar
B
Açık kaynak kodlu yazılımlar
C
Kapalı kaynak kodlu yazılımlar
D
Mac-Os
E
Beta yazılımlar
Açıklama:
Programları ayrıca kullanım haklarına göre de sınıflandırabiliriz:
Lisanslı yazılımlar, ücretsiz yazılımlar, sınırlı/geçici kullanım yazılımlar, beta yazılımlar, açık kaynak kodlu yazılımlar ve kapalı kaynak kodlu yazılımlar, şeklinde.
Lisanslı yazılımlar, ücretsiz yazılımlar, sınırlı/geçici kullanım yazılımlar, beta yazılımlar, açık kaynak kodlu yazılımlar ve kapalı kaynak kodlu yazılımlar, şeklinde.
Soru 10
Windows 10, MS Office, Photoshop, Apple OS X gibi yazılımlar hangi başlık altında bulunur?
Seçenekler
A
Kapalı Kaynak Kodlu Yazılımlar
B
Açık Kaynak Kodlu Yazılımlar
C
Beta Yazılımlar
D
Ücretsiz Yazılımlar
E
Sınırlı/Geçici Kullanım Yazılımlar
Açıklama:
Kapalı Kaynak Kodlu Yazılımlardır. Genelde bir firma tarafından hazırlanan ve lisanslı, ücretli olarak piyasaya sürülen yazılımlardır. Windows 10, MS Office, Photoshop, Apple OS X örnek olarak gösterilebilir.
Soru 11
Aşağıdakilerden hangisi Bilgisayarlarda çalışan bir program değildir?
Seçenekler
A
BİOS
B
İşletim Sistemi
C
Ofis Uygulamaları
D
Hard Disk
E
Oyunlar
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Bilgisayarı çalıştırmak için tuşa bastığımızda, arka planda çalışan tüm unsurlar program olarak kabul edilir. BİOS, işletim sistemi, ofis uygulamaları gibi bilgisayarda kullanılan tüm yardımcı etkenlere bilgisayar programı adı verilir.
Önceleri büyük firmalar tarafından kullanılan programlar, bilgisayarların son kullanıcılara ulaşmasıyla birlikte artık daha geniş kitlelere hitap etmeye başlamıştır. Bunların içine özellikle gençlere hitap eden oyunlar, video ve resim düzenleme programları, virüsler, antivirüsler gibi gündelik hayatta bilgisayar kullanırken karşılaştığımız çoğu uygulamayı dahil edebiliriz.
Program, genel itibarıyla donanım bileşenlerinin, kullanıcıdan alınan talimatlara uygun şekilde çalışmasını sağlayan ve bilgisayara ne yapması gerektiğini bildiren, programlama dili ile hazırlanmış komutlar bütününe verilen addır.
Biraz daha geniş bir tanımla, çeşitli görevler için tasarlanmış elektronik aygıtlara ne yapması gerektiğini belirten, birbirleri ile aralarındaki iletişimi sağlayan, var olan bir problemi çözmek amacıyla hazırlanmış anlamlı kod bütününe de program diyebiliriz.
Programlar; klavye, fare gibi girdilerden gelen verileri ve komutları işleyerek, elde edilen sonuçları ilgili donanım birimlerine aktararak çıktıları elde ederler.
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Bilgisayarı çalıştırmak için tuşa bastığımızda, arka planda çalışan tüm unsurlar program olarak kabul edilir. BİOS, işletim sistemi, ofis uygulamaları gibi bilgisayarda kullanılan tüm yardımcı etkenlere bilgisayar programı adı verilir.
Önceleri büyük firmalar tarafından kullanılan programlar, bilgisayarların son kullanıcılara ulaşmasıyla birlikte artık daha geniş kitlelere hitap etmeye başlamıştır. Bunların içine özellikle gençlere hitap eden oyunlar, video ve resim düzenleme programları, virüsler, antivirüsler gibi gündelik hayatta bilgisayar kullanırken karşılaştığımız çoğu uygulamayı dahil edebiliriz.
Program, genel itibarıyla donanım bileşenlerinin, kullanıcıdan alınan talimatlara uygun şekilde çalışmasını sağlayan ve bilgisayara ne yapması gerektiğini bildiren, programlama dili ile hazırlanmış komutlar bütününe verilen addır.
Biraz daha geniş bir tanımla, çeşitli görevler için tasarlanmış elektronik aygıtlara ne yapması gerektiğini belirten, birbirleri ile aralarındaki iletişimi sağlayan, var olan bir problemi çözmek amacıyla hazırlanmış anlamlı kod bütününe de program diyebiliriz.
Programlar; klavye, fare gibi girdilerden gelen verileri ve komutları işleyerek, elde edilen sonuçları ilgili donanım birimlerine aktararak çıktıları elde ederler.
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Soru 12
Aşağıdakilerden hangisi mobil cihazlar için geliştirilmiş bir işletim sistemidir?
Seçenekler
A
Linux
B
Android
C
MacOS
D
Windows
E
Word
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Bilgisayarlar için en önemli yapı taşı işletim sistemleridir. İşletim sistemleri tüm donanım ve yazılımların arasındaki iletişimi belirli kurallar çerçevesinde düzenleyen yazılımlardır. Bunun yanında tüm yazılımların kullandıkları kaynakların planlama ve kontrolünü yaparlar. Hazırlanan yazılımlarla da kullanıcıların donanımlara ve bilgisayar kaynaklarına erişimine izin verilmektedir.
Sürücü yazılımlarını da işletim sistemi ile donanım arasındaki iletişimi sağladığı için bu gruba dâhil edebiliriz. Örneğin fare hareketlerini alabilmek için fare sürücü programı kullanılır. Ya da ekrana bir şeyler yazdırmak, çizmek için de ekran kartı sürücüsü kullanılmaktadır.
İşletim sistemi yazılımlarına örnek verecek olursak;
- Linux
- Mac-Os
- Windows 10, 8, 7…
- Android (Mobil)
- IOS (Mobil)
Bu nedenle sorunun doğru cevabı B seçeneğidir.
Bilgisayarlar için en önemli yapı taşı işletim sistemleridir. İşletim sistemleri tüm donanım ve yazılımların arasındaki iletişimi belirli kurallar çerçevesinde düzenleyen yazılımlardır. Bunun yanında tüm yazılımların kullandıkları kaynakların planlama ve kontrolünü yaparlar. Hazırlanan yazılımlarla da kullanıcıların donanımlara ve bilgisayar kaynaklarına erişimine izin verilmektedir.
Sürücü yazılımlarını da işletim sistemi ile donanım arasındaki iletişimi sağladığı için bu gruba dâhil edebiliriz. Örneğin fare hareketlerini alabilmek için fare sürücü programı kullanılır. Ya da ekrana bir şeyler yazdırmak, çizmek için de ekran kartı sürücüsü kullanılmaktadır.
İşletim sistemi yazılımlarına örnek verecek olursak;
- Linux
- Mac-Os
- Windows 10, 8, 7…
- Android (Mobil)
- IOS (Mobil)
Bu nedenle sorunun doğru cevabı B seçeneğidir.
Soru 13
Aşağıdakilerden hangisi Açık Kaynak Kodlu yazılımlara örnek olarak gösterilebilir.
Seçenekler
A
Wordpress
B
MS Office
C
MS Windows
D
Adobe Photoshop
E
Apple OS X
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Kaynak kodu ücretsiz olarak kullanıcılara açılan yazılımlara Açık Kaynak Kodlu Yazılımlar denilmektedir. Yazılımın kodlarına müdahale imkânı sağlanarak kullanıcılar tarafından yazılımın geliştirilmesine de katkı sunulmaktadır. Bu yazılımlar geniş topluluklar tarafından geliştirilme eğilimindedirler. Bu gruptaki yazılımlara da Linux işletim sistemleri, WordPress, LibreOffice, Thunderbird e-posta yazılımı örnek olarak verilebilir.
Bu kategorinin diğer üyesi ise kaynak kodu paylaşılmayan, kimsenin erişimine imkân tanımayan Kapalı Kaynak Kodlu Yazılımlardır. Genelde bir firma tarafından hazırlanan ve lisanslı, ücretli olarak piyasaya sürülen yazılımlardır. Windows 10, MS Office, Photoshop, Apple OS X örnek olarak gösterilebilir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Kaynak kodu ücretsiz olarak kullanıcılara açılan yazılımlara Açık Kaynak Kodlu Yazılımlar denilmektedir. Yazılımın kodlarına müdahale imkânı sağlanarak kullanıcılar tarafından yazılımın geliştirilmesine de katkı sunulmaktadır. Bu yazılımlar geniş topluluklar tarafından geliştirilme eğilimindedirler. Bu gruptaki yazılımlara da Linux işletim sistemleri, WordPress, LibreOffice, Thunderbird e-posta yazılımı örnek olarak verilebilir.
Bu kategorinin diğer üyesi ise kaynak kodu paylaşılmayan, kimsenin erişimine imkân tanımayan Kapalı Kaynak Kodlu Yazılımlardır. Genelde bir firma tarafından hazırlanan ve lisanslı, ücretli olarak piyasaya sürülen yazılımlardır. Windows 10, MS Office, Photoshop, Apple OS X örnek olarak gösterilebilir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 14
Aşağıdakilerden hangisi Ücretsiz Yazılımlara örnek olarak gösterilebilir.
Seçenekler
A
MS Office
B
MS Windows
C
Linux
D
Adobe Photoshop
E
Apple OS X
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Yazılımlar ayrıca, kullanım haklarına göre de gruplara ayrılmaktadır. Bir ücret karşılığı kullanım hakları alınan yazılımlara Lisanslı Yazılımlar denmektedir. Oyunların büyük kısmı, Microsoft Windows, Microsoft Office, birçok video ve resim düzenleme programı bu kategoriye örnek olarak verilebilir.
Geliştirenlerin, kullanım haklarını herhangi bir ücret talep etmeden verdikleri, sınırsız kullanıma imkân veren yazılımlara da Ücretsiz Yazılımlar denilmektedir. Linux sürümleri, MySQL veri tabanı ve çeşitli ftp uygulamaları bu kategoriye örnek gösterilebilir.
Yazılımı geliştiren kişilerin, belirli bir süre veya belirli özelliklerini kapatarak kullanıcılara ücretsiz olarak verdikleri yazılımlara da Sınırlı/Geçici Kullanım Yazılımlar denilmektedir. Verilen süre bitiminde yazılımın kullanılması engellenmektedir. Kullanıcı yazılımı beğenmesi durumunda, lisansını satın alabilmektedir.
Yine geliştiriciler tarafından kısıtlı bir kesime ücretsiz olarak kullanıcı deneyimi dönütleri beklenerek dağıtılan, geliştirilme aşaması henüz tamamlanmamış olan yazılım türüne de Beta Yazılımlar denilmektedir. Örneğin yeni çıkacak olan bir işletim sisteminin kullanıcılar tarafından denetlenerek ortaya çıkabilecek sorunların önceden tespitinde beta yazılımları kullanılmaktadır.
Bu nedenle sorunun doğru cevabı C seçeneğidir.
Yazılımlar ayrıca, kullanım haklarına göre de gruplara ayrılmaktadır. Bir ücret karşılığı kullanım hakları alınan yazılımlara Lisanslı Yazılımlar denmektedir. Oyunların büyük kısmı, Microsoft Windows, Microsoft Office, birçok video ve resim düzenleme programı bu kategoriye örnek olarak verilebilir.
Geliştirenlerin, kullanım haklarını herhangi bir ücret talep etmeden verdikleri, sınırsız kullanıma imkân veren yazılımlara da Ücretsiz Yazılımlar denilmektedir. Linux sürümleri, MySQL veri tabanı ve çeşitli ftp uygulamaları bu kategoriye örnek gösterilebilir.
Yazılımı geliştiren kişilerin, belirli bir süre veya belirli özelliklerini kapatarak kullanıcılara ücretsiz olarak verdikleri yazılımlara da Sınırlı/Geçici Kullanım Yazılımlar denilmektedir. Verilen süre bitiminde yazılımın kullanılması engellenmektedir. Kullanıcı yazılımı beğenmesi durumunda, lisansını satın alabilmektedir.
Yine geliştiriciler tarafından kısıtlı bir kesime ücretsiz olarak kullanıcı deneyimi dönütleri beklenerek dağıtılan, geliştirilme aşaması henüz tamamlanmamış olan yazılım türüne de Beta Yazılımlar denilmektedir. Örneğin yeni çıkacak olan bir işletim sisteminin kullanıcılar tarafından denetlenerek ortaya çıkabilecek sorunların önceden tespitinde beta yazılımları kullanılmaktadır.
Bu nedenle sorunun doğru cevabı C seçeneğidir.
Soru 15
Aşağıdakilerden hangisi Alçak Seviyeli Programlama Dillerine örnek olarak verilebilir.
Seçenekler
A
Java
B
Visual Basic
C
Visual C
D
Assembly
E
.NET
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Programlama dilinin seviyesi yükseldikçe programcının işinin kolaylaşmasıyla beraber verimlilik ve esneklikte azalmaktadır. En hızlı ve en etkili programlama dilleri bu kategori içindedir. Diğer dillere kıyasla daha kolay ve hızlı bir şekilde öğrenilebilir. Bu diller donanımsal özellikler taşımamakla birlikte okunabilir bir gösterimleri vardır. Çeşitli işlemler için oluşturulmuş kütüphaneleri de içerirler.
Alçak seviyeli diller ise donanıma bağlı olarak çalışmakla birlikte, makine hâkimiyeti oldukça yüksek dillerdir. Makine ve Assembly dili bu seviyede kullanılır. Assembly dilinde, semboller ile hafıza, işlem ve değişken operasyonları gerçekleştirilmektedir. Kodlaması çok yavaş olmakla birlikte, hata yapmaya çok elverişlidir.
-Çok yüksek seviyeli programlama dilleri (Visual C# .NET, Java, Visual Basic...)
- Yüksek seviyeli programlama dilleri (Pascal, Fortran, Cobol, Basic...)
- Orta seviyeli programlama dilleri (C)
- Alçak seviyeli programlama dilleri (Assembly)
- Makine dilleri (0-1 den olusan makine kodları)
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Programlama dilinin seviyesi yükseldikçe programcının işinin kolaylaşmasıyla beraber verimlilik ve esneklikte azalmaktadır. En hızlı ve en etkili programlama dilleri bu kategori içindedir. Diğer dillere kıyasla daha kolay ve hızlı bir şekilde öğrenilebilir. Bu diller donanımsal özellikler taşımamakla birlikte okunabilir bir gösterimleri vardır. Çeşitli işlemler için oluşturulmuş kütüphaneleri de içerirler.
Alçak seviyeli diller ise donanıma bağlı olarak çalışmakla birlikte, makine hâkimiyeti oldukça yüksek dillerdir. Makine ve Assembly dili bu seviyede kullanılır. Assembly dilinde, semboller ile hafıza, işlem ve değişken operasyonları gerçekleştirilmektedir. Kodlaması çok yavaş olmakla birlikte, hata yapmaya çok elverişlidir.
-Çok yüksek seviyeli programlama dilleri (Visual C# .NET, Java, Visual Basic...)
- Yüksek seviyeli programlama dilleri (Pascal, Fortran, Cobol, Basic...)
- Orta seviyeli programlama dilleri (C)
- Alçak seviyeli programlama dilleri (Assembly)
- Makine dilleri (0-1 den olusan makine kodları)
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Soru 16
Aşağıdakilerden hangisi Uygulama Alanlarına göre sınıflandırılmasında Yapay Zeka Programlama için olan dillerden birisidir.
Seçenekler
A
Fotran
B
Assembler
C
Prolog
D
IOS
E
Java
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Uygulama alanına göre dillerin sınıflandırılmasına ise şu şekilde örnekler verebiliriz:
Uygulama alanına göre dillerin sınıflandırılmasına ise şu şekilde örnekler verebiliriz:
- Mühendislik ve Bilimsel Alanlarda Programlama (Fortran, C, Pascal, Python)
- Sistem Programlama (C, Assembler)
- Veritabanı Programlama (Dbase, Clipper, FileMaker, Microsoft SQL Server, MySQL, Postgresql)
- Yapay Zeka Programlama (Prolog, LISP, Python)
- Web Programlama (ASP .Net, PHP, JSP)
- Masaüstü Programlama (C#, Java)
- Mobil Programlama (Android, IOS)
Soru 17
Aşağıdakilerden hangisi Programlama Dillerinin Elemanları arasında, Programlama Dilindeki Ögelerin doğru ve anlamlı bir dizilime sahip olması ile ilgili olandır.
Seçenekler
A
Söz Dizimi
B
Anlam Bilim
C
Veri
D
Atama Deyimi
E
Tür Kontrolü
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Bir programlama dilinin elemanlarını inceleyecek olursak;
- Söz dizimi (Syntax): Programlama dilindeki ögelerin (değişken, işlem, sembol, operatör vs.) doğru ve anlamlı bir dizilime sahip olması denilebilir. Nasıl günlük hayatta kullanılan dillerin yazım kuralları varsa, programlama dillerinin de yazım kuralları vardır.
- Anlam Bilim (Semantics): Program dilindeki ifadelerin, anlatımların ve program birimlerinin anlamıdır.
- Veri (Data): Bir uygulamada farklı veri türleri ile işlem yapılması gerekebilmektedir. Örneğin tam sayılar, kesirli sayılar, mantıksal değerler (doğru/yanlış), metinler, karakterler akla ilk gelen veri türleridir.
- Atama Deyimi (Assignment Statement): a = 26; b = 20 gibi satırlar atama deyimine örnek olarak verilebilir. Bu atama deyimleri ile a değişkenin bellekte bulunan adresine 26 değeri ve b değişkeninin bellekteki adresinde de 20 değeri atanmaktadır.
- Tür Kontrolü (Type Checking): Çalışma esnasında (run time) veya derleme sırasında (compile time) tür kontrolü işlemleri yapılmaktadır. Bu kontroller her işlem öncesinde hataların ve yanlış atamaların önlenmesi amacıyla yapılmaktadır.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Bir programlama dilinin elemanlarını inceleyecek olursak;
- Söz dizimi (Syntax): Programlama dilindeki ögelerin (değişken, işlem, sembol, operatör vs.) doğru ve anlamlı bir dizilime sahip olması denilebilir. Nasıl günlük hayatta kullanılan dillerin yazım kuralları varsa, programlama dillerinin de yazım kuralları vardır.
- Anlam Bilim (Semantics): Program dilindeki ifadelerin, anlatımların ve program birimlerinin anlamıdır.
- Veri (Data): Bir uygulamada farklı veri türleri ile işlem yapılması gerekebilmektedir. Örneğin tam sayılar, kesirli sayılar, mantıksal değerler (doğru/yanlış), metinler, karakterler akla ilk gelen veri türleridir.
- Atama Deyimi (Assignment Statement): a = 26; b = 20 gibi satırlar atama deyimine örnek olarak verilebilir. Bu atama deyimleri ile a değişkenin bellekte bulunan adresine 26 değeri ve b değişkeninin bellekteki adresinde de 20 değeri atanmaktadır.
- Tür Kontrolü (Type Checking): Çalışma esnasında (run time) veya derleme sırasında (compile time) tür kontrolü işlemleri yapılmaktadır. Bu kontroller her işlem öncesinde hataların ve yanlış atamaların önlenmesi amacıyla yapılmaktadır.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 18
Aşağıdakilerden hangisi bir Program Kodu içerisinde yer alan if-else deyimlerinin ait olduğu Program Dili Elemanı türüdür.
Seçenekler
A
Söz Dizimi
B
Anlam Bilim
C
Veri
D
Atama Deyimi
E
Kontrol Deyimi
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
- Kontrol Deyimleri: Program kodu içerisinde, kontrol edilecek durumun doğru veya yanlış oluşuna göre yapılacak işlemler karşımıza çıkabilir. Bu durumda devreye kontrol deyimleri girer. Bu kontrol deyimlerine if-else, switch case, while deyimleri örnek olarak gösterilebilir. Bir if-else deyimine ise şu şekilde örnek verebiliriz:
IF çocuğun yaşı > 10
(Doğru ise) arabanın ön koltuğuna oturabilir.
ELSE
(Yanlış ise) ön koltuğa oturamaz.
Bu nedenle sorunun doğru cevabı E seçeneğidir.
- Kontrol Deyimleri: Program kodu içerisinde, kontrol edilecek durumun doğru veya yanlış oluşuna göre yapılacak işlemler karşımıza çıkabilir. Bu durumda devreye kontrol deyimleri girer. Bu kontrol deyimlerine if-else, switch case, while deyimleri örnek olarak gösterilebilir. Bir if-else deyimine ise şu şekilde örnek verebiliriz:
IF çocuğun yaşı > 10
(Doğru ise) arabanın ön koltuğuna oturabilir.
ELSE
(Yanlış ise) ön koltuğa oturamaz.
Bu nedenle sorunun doğru cevabı E seçeneğidir.
Soru 19
Aşağıdakilerden hangisi Nesne Yönelimli Programlama’da kullanıcı tarafından değişkenlerin, metot ve sınıfların ne kadarının görüntülenerek değiştirilebileceğinin sınırlarının çizilmesini sağlamak ile ilgili olan özelliktir.
Seçenekler
A
Kapsülleme
B
Miras Alma
C
Çok Biçimlilik
D
Soyutlama
E
Yapısal Programlama
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
NYP’nin temel kavramlarından olup, kullanıcı tarafından değişkenlerin, metot ve sınıfların ne kadarının görüntülenerek değiştirilebileceğinin sınırlarının çizilmesini sağlamaktadır. Kısaca ifade etmek gerekirse, sınıfın özelliklerini koruma altına almak, böylece diğer sınıfların, bu sınıfın özelliklerine istediği gibi erişip değişiklik yapmasını engellemek için kullanılır. Bu korumayı sağlamak için üç çeşit erişim belirteci (access modifier) kullanılmaktadır. Bunlar herkese açık (public), özel (private) ve koruma altında (protected) olarak söylenebilir.
Public olarak tanımlanan özellikler, herkes tarafından görülebilir ve düzenlenebilir. Bu yönüyle en güvensiz belirteçtir. Protected, public’den daha güvenli bir belirteçtir. Bunlara aynı sınıf içinden, üst sınıflar, ondan türetilen sınıflar ve aynı paket içerisinden de görüntüleme ve erişebilme imkânı vardır. Private ise içlerinde en güvenli erişim belirtecidir. Bunlara sadece içinde olduğu sınıflardan erişilebilmektedir. Sınıflar, sınıfın özellikleri ve
Bu nedenle sorunun doğru cevabı A seçeneğidir.
NYP’nin temel kavramlarından olup, kullanıcı tarafından değişkenlerin, metot ve sınıfların ne kadarının görüntülenerek değiştirilebileceğinin sınırlarının çizilmesini sağlamaktadır. Kısaca ifade etmek gerekirse, sınıfın özelliklerini koruma altına almak, böylece diğer sınıfların, bu sınıfın özelliklerine istediği gibi erişip değişiklik yapmasını engellemek için kullanılır. Bu korumayı sağlamak için üç çeşit erişim belirteci (access modifier) kullanılmaktadır. Bunlar herkese açık (public), özel (private) ve koruma altında (protected) olarak söylenebilir.
Public olarak tanımlanan özellikler, herkes tarafından görülebilir ve düzenlenebilir. Bu yönüyle en güvensiz belirteçtir. Protected, public’den daha güvenli bir belirteçtir. Bunlara aynı sınıf içinden, üst sınıflar, ondan türetilen sınıflar ve aynı paket içerisinden de görüntüleme ve erişebilme imkânı vardır. Private ise içlerinde en güvenli erişim belirtecidir. Bunlara sadece içinde olduğu sınıflardan erişilebilmektedir. Sınıflar, sınıfın özellikleri ve
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 20
Aşağıdakilerden hangisi Nesne Yönelimli Programlama’da bir sınıftan, aralarında alt-üst ilişkisi olan başka sınıflar türetildiğinde bu sınıftaki metot ve özelliklerin ortaklaşa kullanılabilmesine imkan sağlayan mekanizmaya verilen isimdir.
Seçenekler
A
Kapsülleme
B
Miras Alma
C
Çok Biçimlilik
D
Soyutlama
E
Yapısal Programlama
Açıklama:
BİL107U İleri Programlama I Kitabının “.net Core Teknolojisi ve C# Programlama Dili Giriş” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Bir sınıftan, aralarında alt-üst ilişkisi olan başka sınıflar türetildiğinde, bu sınıflardaki metot ve özelliklerin ortaklaşa kullanılabilmesine imkân sağlayan mekanizmaya kalıtım denir. Nesne yönelimli programlamanın temel kavramlarındandır. Mevcut bir sınıf üzerine başka sınıfların oluşturulmasını sağlar.
Örnek olarak motorlu taşıtlar sınıfımız olsun ve bu sınıfın motor, tekerlek, hız gibi özellikleri olsun. Bu sınıftan türetilecek araba sınıfının da motosiklet sınıfının da ana sınıfın motor, tekerlek ve hız gibi tüm özelliklerini desteklemesi beklenmektedir.
Bu nedenle sorunun doğru cevabı Bseçeneğidir.
Bir sınıftan, aralarında alt-üst ilişkisi olan başka sınıflar türetildiğinde, bu sınıflardaki metot ve özelliklerin ortaklaşa kullanılabilmesine imkân sağlayan mekanizmaya kalıtım denir. Nesne yönelimli programlamanın temel kavramlarındandır. Mevcut bir sınıf üzerine başka sınıfların oluşturulmasını sağlar.
Örnek olarak motorlu taşıtlar sınıfımız olsun ve bu sınıfın motor, tekerlek, hız gibi özellikleri olsun. Bu sınıftan türetilecek araba sınıfının da motosiklet sınıfının da ana sınıfın motor, tekerlek ve hız gibi tüm özelliklerini desteklemesi beklenmektedir.
Bu nedenle sorunun doğru cevabı Bseçeneğidir.
Soru 21
Bilgisayarı çalıştırmak için tuşa basıldığında arka planda çalışan tüm unsurlar ne olarak kabul edilir?
Seçenekler
A
Donanım
B
Girdi
C
Program
D
Çıktı
E
Klavye
Açıklama:
Bilgisayarı çalıştırmak için tuşa basıldığında arka planda çalışan tüm unsurlar program olarak kabul edilir. Doğru cevap C'dir.
Soru 22
Bir programın çalışma sürecindeki işleyiş sırası aşağıdakilerden hangisi gibi gerçekleşmektedir?
Seçenekler
A
Program-girdi-çıktı
B
Program-çıktı-girdi
C
Girdi-çıktı-program
D
Girdi-program-çıktı
E
Çıktı-program-girdi
Açıklama:
Bir programın çalışma sürecindeki işleyiş sırası girdi-program-çıktı şeklinde gerçekleşmektedir. Doğru cevap D'dir.
Soru 23
Aşağıdakilerden hangisi bir programlama dilidir?
Seçenekler
A
Linux
B
Mac-Os
C
Windows 10
D
Antivirüs yazılımı
E
Java
Açıklama:
Linus, Mac-Os ve Windows 10 sistem yazılımı iken antivirüs yazılımı bir uygulama yazılımıdır. Doğru cevap E'dir.
Soru 24
Aşağıdakilerden hangisi açık kaynak kodlu yazılımdır?
Seçenekler
A
Windows 10
B
MS Office
C
Photoshop
D
Apple OS X
E
WordPress
Açıklama:
Windows 10, MS Office, Photoshop, Apple OS X kapalı kaynak kodlu yazılımlardır. Doğru cevap E'dir.
Soru 25
Aşağıdakilerden hangisi yapay zeka programlama dillerinden biridir?
Seçenekler
A
Assembler
B
Dbase
C
Prolog
D
PHP
E
IOS
Açıklama:
Assembler sistem, Dbase veritabanı, PHP web ve IOS mobil programlama dillerindendir. Doğru cevap C'dir.
Soru 26
Editörde hazırlanan kaynak kodu, bilgisayarın makine seviyesinde anlayabileceği makine diline çevirmek için kullanılan aracı programa ne ad verilir?
Seçenekler
A
Editör
B
Derleyici
C
Kütüphane
D
Hata ayıklayıcı
E
Söz dizimi
Açıklama:
Editörde hazırlanan kaynak kodu, bilgisayarın makine seviyesinde anlayabileceği makine diline çevirmek için kullanılan aracı programa derleyici adı verilir. Doğru cevap B'dir.
Soru 27
IF kişinin yaşı > 18
(Doğru ise) ehliyet alabilir.
ELSE
(Yanlış ise) ehliyet alamaz.
Yukarıda hangi programlama dili elemanına ilişkin bir örnek verilmiştir?
(Doğru ise) ehliyet alabilir.
ELSE
(Yanlış ise) ehliyet alamaz.
Yukarıda hangi programlama dili elemanına ilişkin bir örnek verilmiştir?
Seçenekler
A
Anlam bilim
B
Veri
C
Atama deyimi
D
Kontrol deyimi
E
Tür kontrolü
Açıklama:
Program kodu içerisinde, kontrol edilecek durumun doğru veya yanlış oluşuna göre yapılacak işlemler karşımıza çıkabilir. Bu durumda devreye kontrol deyimleri girer. Bu kontrol deyimlerine if-else, switch case, while deyimleri örnek olarak gösterilebilir. Doğru cevap D'dir.
Soru 28
Bir programlama dilinin sadece belli bir çeşit işlem için değil, çeşitli uygulamaların geliştirilebilmesine imkân verecek şekilde dizayn edilmesi aşağıdakilerden hangisine ilişkindir?
Seçenekler
A
Giriş/çıkış kolaylığı
B
Taşınabilirlik
C
Nesne yönelimlilik
D
Okunabilirlik
E
Genellik
Açıklama:
Genellik, bir programlama dilinin sadece belli bir çeşit işlem için değil, çeşitli uygulamaların geliştirilebilmesine imkân verecek şekilde dizayn edilmesidir. Doğru cevap E'dir.
Soru 29
Yapısal programlama mantığına göre bir tasarım yaparak akış diyagramı hazırlamak istendiğinde gerçekleştirilecek ilk adım aşağıdakilerden hangisi olacaktır?
Seçenekler
A
Bağlantı eksikliklerinin tamamlanması
B
Koşullu dallanmalar (if) için şartların tanımlanması
C
Tekrarlı bloklar için döngüler ve koşulların tanımlanması
D
Adımların basit bloklara bölünmesi
E
Çıkış noktaları vasıtasıyla blokların birbirine bağlanması
Açıklama:
Yapısal programlama mantığına göre bir tasarım yaparak akış diyagramı hazırlamak istendiğinde aşağıdaki adımların takip edilmesi gerekmektedir.
- Adımların basit bloklara bölünmesi
- Tüm blokların tek bir çıkışı olacak şekilde tekrar tasarlanması ya da bölünmesi
- Çıkış noktaları vasıtasıyla blokların birbirine bağlanması
- Tekrarlı bloklar için döngüler ve koşulların tanımlanması
- Koşullu dallanmalar (if) için şartların tanımlanması
- Bağlantı eksikliklerinin tamamlanması
Doğru cevap D'dir.
- Adımların basit bloklara bölünmesi
- Tüm blokların tek bir çıkışı olacak şekilde tekrar tasarlanması ya da bölünmesi
- Çıkış noktaları vasıtasıyla blokların birbirine bağlanması
- Tekrarlı bloklar için döngüler ve koşulların tanımlanması
- Koşullu dallanmalar (if) için şartların tanımlanması
- Bağlantı eksikliklerinin tamamlanması
Doğru cevap D'dir.
Soru 30
C# kodunun çalışma sırası aşağıdakilerden hangisinde doğru olarak verilmiştir?
Seçenekler
A
C# Kodu - C# Derleyici - .Net Framework - IL Kod - Makine Kodu
B
C# Derleyici - C# Kodu - .Net Framework - Makine Kodu - IL Kod
C
C# Kodu - C# Derleyici - IL Kod - .Net Framework - Makine Kodu
D
C# Derleyici - IL Kod - .Net Framework - Makine Kodu - C# Kodu
E
IL Kod - .Net Framework - C# Kodu - Makine Kodu - C# Derleyici
Açıklama:
C# kodunun çalışma sırası; C# Kodu - C# Derleyici - IL Kod - .Net Framework - Makine Kodu biçimindedir. Doğru cevap C'dir.
Soru 31
Aşağıdakilerden hangisinin tek sermayesi insanın hayal gücüdür?
Seçenekler
A
program yazmak
B
bilgisayar donanımı üretmek
C
network kurulumu
D
bilgisayar laboratuvarı kurulması
E
turizm
Açıklama:
Program yazmak için tek sermaye insanın hayal gücüdür.
Soru 32
Bilgisayardaki tüm donanım ve yazılımlar arasındaki iletişimi belirli kurallar çerçevesinde düzenleyen yazılımlar, aşağıdakilerden hangisidir?
Seçenekler
A
ticari yazılımlar
B
işletim sistemleri
C
antivirus yazılımları
D
muhasebe yazılımları
E
C programlama dili
Açıklama:
Bilgisayardaki tüm donanım ve yazılımlar arasındaki iletişimi belirli kurallar çerçevesinde düzenleyen yazılımlar, işletim sistemleridir.
Soru 33
Kullanıcıdan alınan talimatlara uygun şekilde donanım bileşenlerinin çalışmasını sağlayan ve programlama dili ile yazılmış komutlar bütünü için aşağıdakilerden hangisi dogru ifadedir?
Seçenekler
A
hayal gücü
B
data
C
program
D
donanım
E
syntax
Açıklama:
Kullanıcıdan alınan talimatlara uygun şekilde donanım bileşenlerinin çalışmasını sağlayan ve programlama dili ile yazılmış komutlar bütünü için program dogru ifadedir.
Soru 34
Aşağıdakilerden hangisi, kaynak kodu ücretsiz olarak kullanıcılara açılan yazılımlardır?
Seçenekler
A
Ticari yazılımlar
B
İşletim sistemleri
C
Lisanslı yazılımlar
D
Açık kaynak kodlu yazılım
E
Editörler
Açıklama:
Kaynak kodu ücretsiz olarak kullanıcılara açılan yazılımlar, açık kaynak kodlu yazılımlardır.
Soru 35
Aşağıdakilerden hangisi, yazılan programların, bilgisayarın anlayabileceği makine diline çevirme işini yapar?
Seçenekler
A
Değişken
B
Data
C
Editör
D
Kütüphane
E
Derleyici
Açıklama:
Derleyici, yazılan programların, bilgisayarın anlayabileceği makine diline çevirme işini yapar.
Soru 36
Aşağıdakilerden hangisi, hiyerarşik şekilde düzenlenmiş ve aralarında mantıksal uyum bulunan basit akış yapılarından oluşan programlama için kullanılır?
Seçenekler
A
Yapısal programlama
B
Çok biçimlilik
C
işletim sistemi
D
Nesne yönelimli programlama
E
kapsülleme
Açıklama:
Yapısal programlama, hiyerarşik şekilde düzenlenmiş ve aralarında mantıksal uyum bulunan basit akış yapılarından oluşan programlama için kullanılır.
Soru 37
Miras alma (inheritance) aşağıdakilerden hangisinde bulunması zorunlu olan bir özelliktir.
Seçenekler
A
Editör
B
Nesne yönelimli programlama
C
Data
D
Yapısal programlama
E
Pointer
Açıklama:
Miras alma (inheritance) nesne yönelimli programlamada bulunması zorunlu olan bir özelliktir.
Soru 38
Bir programlama dilinin bilgisayara yakın olması, aşağıdaki özelliklerden hangisinde artışa neden olur?
Seçenekler
A
Yazılma kolaylığı
B
Öğrenebilirlik kolaylığı
C
Programın çalışma hızı
D
kapsüllenebilme
E
algoritma kolaylığı
Açıklama:
Bir programlama dilinin bilgisayara yakın olması, programın çalışma hızında artışa neden olur.
Soru 39
Aşağıdakilerden hangisi, .Net platformunda, işletim sistemi ile programlar arasında yer alan ve programların çalışmasını kontrol eden arabirimdir?
Seçenekler
A
exe dosyaları
B
Makine kodu
C
Just-in-Time derleyicisi
D
Common Language Runtime
E
Web uygulamaları
Açıklama:
Common Language Runtime, .Net platformunda, işletim sistemi ile programlar arasında yer alan ve programların çalışmasını kontrol eden arabirimdir.
Soru 40
Aşağıdaki programlama dillerinden hangisi, Microsoft tarafından ve .Net platformunun bir ögesi olarak geliştirilmiştir?
Seçenekler
A
Yapısal programlama
B
Nesne yönelimli programlama
C
C++
D
Python
E
C#
Açıklama:
C#, Microsoft tarafından ve .Net platformunun bir ögesi olarak geliştirilmiştir.
Ünite 3
Soru 1
- Anders Hejlsberg, programlama dilinin geliştirilmesinde ilgili ekibin başında yer almıştır.
- Nesne ve bileşen odaklı bir dil olma özelliklerini desteklemek amacıyla dil yapılarını sağlamaktadır.
- Geliştirildiği zamandan şimdiye kadar, ortaya çıkan tüm yazılım tasarım uygulamalarını desteklemek amacıyla bünyesine yeni özellikler eklemektedir.
Seçenekler
A
C
B
C++
C
JAVA
D
C#
E
LINQ
Açıklama:
Anders Hejlsberg, C# programlama dilini geliştiren ekibin başında yer almaktadır ve bu dilin geliştirilmesi de ona atfedilmektedir.C#, nesne ve bileşen odaklı bir dil olma özelliklerini desteklemek amacıyla dil yapılarını sağlamaktadır. Bu da C# dilini, yazılım bileşenlerinin
oluşturulup kullanıldığı bir dil olmasını sağlamaktadır. C# dili, geliştirildiği zamandan şimdiye kadar, ortaya çıkan tüm yazılım tasarım uygulamalarını desteklemek amacıyla bünyesine yeni özellikler
eklemektedir. Bu nedenle doğru yanıt D seçeneğidir.
oluşturulup kullanıldığı bir dil olmasını sağlamaktadır. C# dili, geliştirildiği zamandan şimdiye kadar, ortaya çıkan tüm yazılım tasarım uygulamalarını desteklemek amacıyla bünyesine yeni özellikler
eklemektedir. Bu nedenle doğru yanıt D seçeneğidir.
Soru 2
Aşağıdakilerden hangisi programlama dillerinde yazım kuralları kullanmanın faydalarından biri değildir?
Seçenekler
A
Kodda tutarlı bir görünüm oluşturarak programa bakan bir kişinin içeriğe daha fazla odaklanmasını
sağlaması
sağlaması
B
Kodun anlaşılabilirliği ve güncellemeleri daha kolay bir şekilde yapabilmesi
C
Ortak çalışılan projede bir yazım birliği kurması, tutarlılık ve okunabilirliği arttırması
D
Daha hızlı çalışmaya imkan veren bir ortam hazırlanması
E
Günlük konuşma dilinden farklı olarak anahtar kelimelerin tek kelime şeklinde kullanılması
Açıklama:
Programlama dillerinde yazım kuralları kodda tutarlı bir görünüm oluşturarak programa bakan bir kişinin içeriğe daha fazla odaklanmasını sağlar. Kod bloklarının işlevleri, algoritmanın akışı gibi kodun anlaşılabilirliği ve güncellemeleri daha kolay bir şekilde yapmaya imkân sağlar. Birincil amaçlardan biri de ortak çalışılan projede bir yazım birliği kurmak, tutarlılık ve okunabilirliği arttırmaktır. Böylece daha hızlı, kolay düzenlenebilen, herkesin anlayabileceği ve ekibe yeni katılanların da rahatlıkla dâhil olabileceği bir ortam hazırlanmış olacaktır. Bu nedenle cevap E seçeneğidir. E seçeneğinde yer alan ifade tüm programlama dilleri için geçerli olan bir özelliktir, programlama dilindeki yazım kurallarından biri değildir.
Soru 3
Bu kelime birleştirme stilinde, ilk kelimeden sonraki tüm kelimelerin ilk harfleri büyük harf yapılıp boşluklar kaldırılarak, kelimeler şu şekilde "başarısızGirişSayısı" birleştirilir.
Yukarıdaki açıklamada yer verilen isimlendirme stili aşağıdakilerin hangisinde yer almaktadır?
Yukarıdaki açıklamada yer verilen isimlendirme stili aşağıdakilerin hangisinde yer almaktadır?
Seçenekler
A
Camel Case
B
Pascal Case
C
Snake Case
D
Kebab Case
E
Public Case
Açıklama:
Bu kelime birleştirme stilinde, devenin iki hörgücünden ilkinin düşük görünüşüne benzetme yapılmıştır. İlk kelimeden sonraki tüm kelimelerin ilk harfleri büyük harf yapılıp boşluklar kaldırılarak,
kelimeler aşağıdaki gibi birleştirilir:
Metin: başarısız giriş sayısı
Camel Case: başarısızGirişSayısı
Bu nedenle doğru cevap A seçeneğidir.
kelimeler aşağıdaki gibi birleştirilir:
Metin: başarısız giriş sayısı
Camel Case: başarısızGirişSayısı
Bu nedenle doğru cevap A seçeneğidir.
Soru 4
- Bu stil, büyük harfle yazıldığında, çoğu programlama dilinde sabitleri bildirirken bir kural olarak kullanılır.
- Küçük harfli olduğunda, geleneksel olarak veri tabanı alan adlarının gösteriminde kullanılır.
- Bu stil, her boşluğu bir alt çizgi (_) ile değiştirerek kelimeleri birleştirir.
Yukarıda özellikleri verilen isimlendirme stili aşağıdakilerin hangisinde yer almaktadır?
Seçenekler
A
Camel Case
B
Pascal Case
C
Snake Case
D
Kebab Case
E
Public Case
Açıklama:
Yılan stili, her boşluğu bir alt çizgi (_) ile değiştirerek kelimeleri birleştirir. Bu stil, büyük harfle yazıldığında, çoğu programlama dilinde sabitleri bildirirken bir kural olarak kullanılır. Küçük harfli olduğunda, geleneksel olarak veri tabanı alan adlarının gösteriminde kullanılır. Bu nedenle doğru cevap B seçeneğidir.
Yılan stili, her boşluğu bir alt çizgi (_) ile değiştirerek kelimeleri birleştirir. Bu stil, büyük harfle yazıldığında, çoğu programlama dilinde sabitleri bildirirken bir kural olarak kullanılır. Küçük harfli olduğunda, geleneksel olarak veri tabanı alan adlarının gösteriminde kullanılır. Bu nedenle doğru cevap C seçeneğidir.
Yılan stili, her boşluğu bir alt çizgi (_) ile değiştirerek kelimeleri birleştirir. Bu stil, büyük harfle yazıldığında, çoğu programlama dilinde sabitleri bildirirken bir kural olarak kullanılır. Küçük harfli olduğunda, geleneksel olarak veri tabanı alan adlarının gösteriminde kullanılır. Bu nedenle doğru cevap C seçeneğidir.
Soru 5
- Bu stilde her bir boşluk (-) tire işareti ile değiştirilerek kelimeler birleştirilir.
- Bu stil genellikle URL’lerde kullanılır.
- Kelimeleri birleştirmenin güzel, temiz, programcılar tarafından okunabilir bir yoludur.
Seçenekler
A
Camel Case
B
Snake Case
C
Pascal Case
D
Kebab Case
E
Public Case
Açıklama:
Bu stilde ise her bir boşluk (-) tire işareti ile değiştirilerek kelimeler birleştirilir. Bu stil genellikle
URL’lerde kullanılır. Kelimeleri birleştirmenin güzel, temiz, programcılar tarafından okunabilir bir
yoludur. Örneğin; https://www.quora.com/Whichis-better-snake-case-or-camel-case-pascal-case
Bu nedenle doğru cevap D seçeneğidir.
URL’lerde kullanılır. Kelimeleri birleştirmenin güzel, temiz, programcılar tarafından okunabilir bir
yoludur. Örneğin; https://www.quora.com/Whichis-better-snake-case-or-camel-case-pascal-case
Bu nedenle doğru cevap D seçeneğidir.
Soru 6
Aşağıdakilerden hangisi C# programlama dilinde yorum oluşturma kurallarından biri değildir?
Seçenekler
A
Yorum satırları yeni bir satırda belirtilmelidir.
B
Açıklamalar küçük harf ile başlamalıdır.
C
Cümle biçiminde yazılarak sonuna (.) koyulmalıdır.
D
Yorum işareti çift bölü (//) ile açıklama arasına bir boşluk bırakılmalıdır.
E
Projedeki tüm katılımcılar, açıklamalara ait yönergelere uygun şekilde yorumları girmelidir.
Açıklama:
C# programlama dilinde yorum oluşturma kuralları şunlardır:
• Yorum satırları kod ile aynı satırda olmamalı, yeni bir satırda belirtilmelidir.
• Açıklamalar büyük harf ile başlamalıdır.
• Cümle biçiminde yazılmalı ve sonuna (.) koyulmalıdır.
• Yorum işareti çift bölü (//) ile açıklama arasına bir boşluk bırakılmalıdır.
• Projedeki tüm katılımcılar, açıklamalara ait yönergelere uygun şekilde yorumları girmelidir.
Bu nedenle B seçeneğindeki ifade bu kurallardan biri değildir.
• Yorum satırları kod ile aynı satırda olmamalı, yeni bir satırda belirtilmelidir.
• Açıklamalar büyük harf ile başlamalıdır.
• Cümle biçiminde yazılmalı ve sonuna (.) koyulmalıdır.
• Yorum işareti çift bölü (//) ile açıklama arasına bir boşluk bırakılmalıdır.
• Projedeki tüm katılımcılar, açıklamalara ait yönergelere uygun şekilde yorumları girmelidir.
Bu nedenle B seçeneğindeki ifade bu kurallardan biri değildir.
Soru 7
I. Sabit ve değişken farkı değişkenler tuttukları veriler sürekli değişirken sabitlere atanan değer tüm program süresince aynı kalmasıdır.
II. Enum da bir sabit türü olarak tanımlanmaktadır.
III. Anahtar sözcükler, program içinde sınıf, değişken ve diğer üyelerin isimlendirmesinde kullanılamaz.
IV. Değer türleri bellekte tutulduğu yerin adresini tutarken, referans türleri kendi üzerindeki verinin değerini tutar.
Yukarıda değişken ve sabitler ile ilgili olarak verilenlerden hangileri doğrudur?
II. Enum da bir sabit türü olarak tanımlanmaktadır.
III. Anahtar sözcükler, program içinde sınıf, değişken ve diğer üyelerin isimlendirmesinde kullanılamaz.
IV. Değer türleri bellekte tutulduğu yerin adresini tutarken, referans türleri kendi üzerindeki verinin değerini tutar.
Yukarıda değişken ve sabitler ile ilgili olarak verilenlerden hangileri doğrudur?
Seçenekler
A
I ve II
B
I ve III
C
II ve III
D
III ve IV
E
I, II ve III
Açıklama:
Değişkenler de kendilerine atanan değerlere göre hafıza farklı boyutlar kaplayan birer bölgenin etiket veya adres bilgisidir. Sabit ve değişken farkı ise değişkenler tuttukları veriler sürekli değişebilirken sabitlere atanan değer tüm program süresince aynı kalmaktadır. Enum da bir sabit türü olarak tanımlanmıştır. Anahtar sözcükler, program içerisinde sınıflar, değişkenler gibi üyeleri tanımlamak, onların erişim kısıtlarını belirlemek gibi görevleri olan kelimelerdir. Bu kelimeleri program içinde sınıf, değişken ve diğer üyelerin isimlendirmesinde kullanamayız. Değer türleri kendi üzerinde verinin değerini tutarlar ve bellekte veri türüne göre yer kaplarlar. Referans türleri ise kendi üzerlerindeki verinin boyutları sabit olmadığı için, bellekte tutulduğu yerin adresini tutarlar.
Bu nedenle doğru yanıt E seçeneğidir.
Bu nedenle doğru yanıt E seçeneğidir.
Soru 8
I. Küçük değişken türün büyük türe dönüştürülmesi sırasında veri kaybı yaşanmayacağı için direk dönüşüm yapılmasına kapalı ya da dolaylı dönüşüm denir.
II. Büyük değişken türünün küçük türe dönüşümüne açık ya da direk dönüşüm denir.
III.Referans türündeki bir değişkene, değer türündeki bir değişkenin değerinin aktarılması işlemine kutudan çıkarma “unboxing” denir.
IV. Değer türündeki bir değişkene, referans türünden bir değişkenin değerinin aktarılmasına kutulama “boxing”denir.
Yukarıda veri türlerine ilişkin olarak verilenlerden hangileri doğrudur?
II. Büyük değişken türünün küçük türe dönüşümüne açık ya da direk dönüşüm denir.
III.Referans türündeki bir değişkene, değer türündeki bir değişkenin değerinin aktarılması işlemine kutudan çıkarma “unboxing” denir.
IV. Değer türündeki bir değişkene, referans türünden bir değişkenin değerinin aktarılmasına kutulama “boxing”denir.
Yukarıda veri türlerine ilişkin olarak verilenlerden hangileri doğrudur?
Seçenekler
A
I ve II
B
II ve III
C
I ve IV
D
II ve IV
E
III ve IV
Açıklama:
Değişkenlerin tuttuğu verilere göre hafızada bir yer ayrılmaktadır. Bu yerin büyüklüğü de değişkenin türüne göre belirlenmektedir. Bu değişken türleri arasında birbirine dönüştürme işlemi yapılabilmektedir. Küçük türün büyük türe dönüştürülmesi sırasında veri kaybı yaşanmayacağı için direk dönüşüm yapılır. Buna kapalı ya da dolaylı dönüşüm denmektedir. Tersi durumda, büyük türün küçük türe dönüşümünde ise muhtemel veri kaybı olacaktır. Bu dönüştürmeyi yapabilmek için belli metotlardan yararlanılır. Bu dönüşüme de açık ya da direk dönüşüm adı verilmektedir. Referans türündeki bir değişkene, değer türündeki bir değişkenin değerinin aktarılması işlemine kutulama
“boxing” denir. İşlem otomatik olarak yapılır. Bu işlemin tam tersi duruma da kutudan çıkarma “unboxing” denmektedir. Yani değer türündeki bir değişkene, referans türünden bir değişkenin değerinin aktarılmasıdır.
Bu nedenle doğru cevap A seçeneğidir.
Değişkenlerin tuttuğu verilere göre hafızada bir yer ayrılmaktadır. Bu yerin büyüklüğü de değişkenin türüne göre belirlenmektedir. Bu değişken türleri arasında birbirine dönüştürme işlemi yapılabilmektedir. Küçük türün büyük türe dönüştürülmesi sırasında veri kaybı yaşanmayacağı için direk dönüşüm yapılır. Buna kapalı ya da dolaylı dönüşüm denmektedir. Tersi durumda, büyük türün küçük türe dönüşümünde ise muhtemel veri kaybı olacaktır. Bu dönüştürmeyi yapabilmek için belli metotlardan yararlanılır. Bu dönüşüme de açık ya da direk dönüşüm adı verilmektedir. Referans türündeki bir değişkene, değer türündeki bir değişkenin değerinin aktarılması işlemine kutulama “boxing” denir. İşlem otomatik olarak yapılır. Bu işlemin tam tersi duruma da kutudan çıkarma “unboxing” denmektedir. Yani değer türündeki bir değişkene, referans türünden bir değişkenin değerinin aktarılmasıdır.
Bu nedenle doğru cevap A seçeneğidir.
“boxing” denir. İşlem otomatik olarak yapılır. Bu işlemin tam tersi duruma da kutudan çıkarma “unboxing” denmektedir. Yani değer türündeki bir değişkene, referans türünden bir değişkenin değerinin aktarılmasıdır.
Bu nedenle doğru cevap A seçeneğidir.
Değişkenlerin tuttuğu verilere göre hafızada bir yer ayrılmaktadır. Bu yerin büyüklüğü de değişkenin türüne göre belirlenmektedir. Bu değişken türleri arasında birbirine dönüştürme işlemi yapılabilmektedir. Küçük türün büyük türe dönüştürülmesi sırasında veri kaybı yaşanmayacağı için direk dönüşüm yapılır. Buna kapalı ya da dolaylı dönüşüm denmektedir. Tersi durumda, büyük türün küçük türe dönüşümünde ise muhtemel veri kaybı olacaktır. Bu dönüştürmeyi yapabilmek için belli metotlardan yararlanılır. Bu dönüşüme de açık ya da direk dönüşüm adı verilmektedir. Referans türündeki bir değişkene, değer türündeki bir değişkenin değerinin aktarılması işlemine kutulama “boxing” denir. İşlem otomatik olarak yapılır. Bu işlemin tam tersi duruma da kutudan çıkarma “unboxing” denmektedir. Yani değer türündeki bir değişkene, referans türünden bir değişkenin değerinin aktarılmasıdır.
Bu nedenle doğru cevap A seçeneğidir.
Soru 9
Aşağıda temel işlemler (operatatörler) ile ilgili olarak verilen ifadelerden hangisi yanlıştır?
Seçenekler
A
Atama Operatöründe her zaman eşitliğin sağ tarafı, sol taraftaki değişkene atanır.
B
Tekli Aritmetik Operatörler ++ ve -- kullanıldığı işlemlerdir.
C
Bileşik Atama Operatörlerinde +=, -=, *=, /=, %= gibi operatörler kullanılmaktadır.
D
Mantıksal Operatörler Yapılan karşılaştırma işlemlerinin doğru mu veya yanlış mı olduklarını birleştirmek için kullanılırlar.
E
Tek başlarına işlev ve anlamı olmayan fakat işlem yaparken kullanılan karakterlere akış kontrol yapıları denilmektedir.
Açıklama:
Atama Operatöründe her zaman eşitliğin sağ tarafı, sol taraftaki değişkene atanır. Tekli Aritmetik Operatörler ++ ve -- kullanıldığı işlemlerdir. Bileşik Atama Operatörlerinde +=, -=, *=, /=, %= gibi operatörler kullanılmaktadır. Mantıksal Operatörler Yapılan karşılaştırma işlemlerinin doğru mu veya yanlış mı olduklarını birleştirmek için kullanılırlar.Tek başlarına işlev ve anlamı olmayan fakat işlem yaparken kullanılan karakterlere operatör denilmektedir. Bu nedenle cevap E seçeneğidir.
Soru 10
I. Blok yapıları, { … } parantezler arasında yazılan kodlardır ve tanımlanan değişkenlere başka
yerden erişilemez.
II. Yönlendiriciler (if-else, switch), karar mekanizmaları olarak kullanılır ve doğru veya yanlışla ilgili kod blokları çalıştırmaz.
III. Döngüler (for, foreach, while), kod içerisindeki tekrarlı işlemler için kullanılır. Kod bloklarını belli bir kontrol durumuna veya belli bir sayıya kadar çalıştırırlar.
Yukarıda akış kontrol yapıları ile ile ilgili olaran verilen ifadelerden hangileri doğrudur?
yerden erişilemez.
II. Yönlendiriciler (if-else, switch), karar mekanizmaları olarak kullanılır ve doğru veya yanlışla ilgili kod blokları çalıştırmaz.
III. Döngüler (for, foreach, while), kod içerisindeki tekrarlı işlemler için kullanılır. Kod bloklarını belli bir kontrol durumuna veya belli bir sayıya kadar çalıştırırlar.
Yukarıda akış kontrol yapıları ile ile ilgili olaran verilen ifadelerden hangileri doğrudur?
Seçenekler
A
I ve II
B
Yalnız II
C
I ve III
D
II ve III
E
Yalnız III
Açıklama:
Kontrol yapılarını üç grupta toplayabiliriz:
• Blok yapıları: { … } parantezler arasında yazılan kodlardır. Burada tanımlanan değişkenlere başka
yerden erişilemez.
• Yönlendiriciler (if-else, switch): Karar mekanizmaları olarak kullanılır. Doğru veya yanlışsa ilgili kod
blokları çalıştırılır.
• Döngüler (for, foreach, while): Kod içerisindeki tekrarlı işlemler için kullanılır. Kod bloklarını belli bir
kontrol durumuna veya belli bir sayıya kadar çalıştırırlar.
Bu nedenle cevap C seçeneğidir.
• Blok yapıları: { … } parantezler arasında yazılan kodlardır. Burada tanımlanan değişkenlere başka
yerden erişilemez.
• Yönlendiriciler (if-else, switch): Karar mekanizmaları olarak kullanılır. Doğru veya yanlışsa ilgili kod
blokları çalıştırılır.
• Döngüler (for, foreach, while): Kod içerisindeki tekrarlı işlemler için kullanılır. Kod bloklarını belli bir
kontrol durumuna veya belli bir sayıya kadar çalıştırırlar.
Bu nedenle cevap C seçeneğidir.
Soru 11
Aşağıda dizi yapıları ile ilgili olarak verilen ifadelerden hangisi doğru değildir?
Seçenekler
A
Diziler, aynı türden tanımlanmış birden çok elemanın tutulabileceği bir listedir.
B
İndisler, dizideki istediğimiz elemana kolayca erişebilmeyi sağlamaktadır.
C
Diziler referans türünde değişkenlerdir, isimlendirilmeleri beklenir.
D
C# programlama dilinde, dizinin ilk elemanının indisi 0 ile başlar.
E
C# dilinde, ( ) işaretleri dizileri tanımlamak için kullanılmaktadır.
Açıklama:
Diziler, aynı türden tanımlanmış birden çok elemanın tutulabileceği bir listedir.Elemanların türleri kullanıcı tarafından da tanımlanabilir, bu amaçla elemanlar için bir sınıf tanımlayabiliriz.Diziler referans türünde değişkenlerdir, isimlendirilmeleri beklenir. C# programlama dilinde, dizinin
ilk elemanının indisi 0 ile başlar.C# dilinde, [ ] işaretleri dizileri tanımlamak için kullanılmaktadır. değişken[ indis ] şeklinde de dizinin elemanlarına erişilmektedir.
Bu nedenle cevap E seçeneğidir.
Diziler, aynı türden tanımlanmış birden çok elemanın tutulabileceği bir listedir. Elemanların türleri kullanıcı tarafından da tanımlanabilir, bu amaçla elemanlar için bir sınıf tanımlayabiliriz. Diziler referans türünde değişkenlerdir, isimlendirilmeleri beklenir. C# programlama dilinde, dizinin
ilk elemanının indisi 0 ile başlar. C# dilinde, [ ] işaretleri dizileri tanımlamak için kullanılmaktadır. değişken[ indis ] şeklinde de dizinin elemanlarına erişilmektedir.
Bu nedenle cevap E seçeneğidir.
ilk elemanının indisi 0 ile başlar.C# dilinde, [ ] işaretleri dizileri tanımlamak için kullanılmaktadır. değişken[ indis ] şeklinde de dizinin elemanlarına erişilmektedir.
Bu nedenle cevap E seçeneğidir.
Diziler, aynı türden tanımlanmış birden çok elemanın tutulabileceği bir listedir. Elemanların türleri kullanıcı tarafından da tanımlanabilir, bu amaçla elemanlar için bir sınıf tanımlayabiliriz. Diziler referans türünde değişkenlerdir, isimlendirilmeleri beklenir. C# programlama dilinde, dizinin
ilk elemanının indisi 0 ile başlar. C# dilinde, [ ] işaretleri dizileri tanımlamak için kullanılmaktadır. değişken[ indis ] şeklinde de dizinin elemanlarına erişilmektedir.
Bu nedenle cevap E seçeneğidir.
Ünite 4
Soru 1
I Metotlar belirli görevleri yerine getirmek amacıyla tasarlanmış kod bloklarına denir.
II Yaptıkları işlemlere göre bir sonuç döndürebilirler veya void türde tanımlanarak herhangi bir sonuç döndürmeyen metotlar da hazırlanabilir.
III. C# dilinde başlangıç noktası Main metodudur.
Yukarıda verilen bilgilerden hangisi metotların özelliklerindendir?
II Yaptıkları işlemlere göre bir sonuç döndürebilirler veya void türde tanımlanarak herhangi bir sonuç döndürmeyen metotlar da hazırlanabilir.
III. C# dilinde başlangıç noktası Main metodudur.
Yukarıda verilen bilgilerden hangisi metotların özelliklerindendir?
Seçenekler
A
I
B
II
C
III
D
II ve III
E
Hepsi
Açıklama:
Belirli görevleri yerine getirmek amacıyla tasarlanmış kod bloklarına metot ya da fonksiyon denir.
Yaptıkları işlemlere göre bir sonuç döndürebilirler veya void türde tanımlanarak herhangi bir sonuç döndürmeyen metotlar da hazırlanabilir.
C# dilinde de bu başlangıç noktası Main metodudur.
Yaptıkları işlemlere göre bir sonuç döndürebilirler veya void türde tanımlanarak herhangi bir sonuç döndürmeyen metotlar da hazırlanabilir.
C# dilinde de bu başlangıç noktası Main metodudur.
Soru 2
public int ucgenAlanHesapla( int taban, int yukseklik )
{
int alan = ( taban * yukseklik ) / 2 ;
return alan ;
}
Yukarıda verilen kod bloğu içerisindeki metot elemanlarından hangisi metodun döndürdüğü değer türünü tanımlamaktadır?
{
int alan = ( taban * yukseklik ) / 2 ;
return alan ;
}
Yukarıda verilen kod bloğu içerisindeki metot elemanlarından hangisi metodun döndürdüğü değer türünü tanımlamaktadır?
Seçenekler
A
Return
B
Public
C
camelCase
D
int
E
Static void
Açıklama:
public int ucgenAlanHesapla( int taban, int yukseklik )
{
int alan = ( taban * yukseklik ) / 2 ;
return alan ;
}
Metodun geri döndürdüğü değer türü “int” olarak tanımlanmıştır.
{
int alan = ( taban * yukseklik ) / 2 ;
return alan ;
}
Metodun geri döndürdüğü değer türü “int” olarak tanımlanmıştır.
Soru 3
var sayi = Math.Abs(-123.45);
Console.WriteLine( "Değer: " + sayi );
Yukarıda Math sınıfında hazırlanmış Math.Abs(sayı) fonksiyonu kullanılmıştır. Bu kod bloğı-unun ekran çıktısı aşağıdakilerden hangisidir?
Console.WriteLine( "Değer: " + sayi );
Yukarıda Math sınıfında hazırlanmış Math.Abs(sayı) fonksiyonu kullanılmıştır. Bu kod bloğı-unun ekran çıktısı aşağıdakilerden hangisidir?
Seçenekler
A
123.45
B
-123.45
C
+123.45
D
12.3
E
0
Açıklama:
var sayi = Math.Abs(-123.45);
Console.WriteLine( "Değer: " + sayi );
Kullanımının gösterildiği kod örneğinin ekran çıktısı da şu şekilde olacaktır:
Değer: 123.45
Console.WriteLine( "Değer: " + sayi );
Kullanımının gösterildiği kod örneğinin ekran çıktısı da şu şekilde olacaktır:
Değer: 123.45
Soru 4
Aşağıdakilerden hangisi koleksiyon türlerinden birisi olan ArrayList özelliklerinden birisi değildir?
Seçenekler
A
En genel amaçlı kullanılan koleksiyon türüdür.
B
Nesnelerden oluşan dizi yapısıdır.
C
Aynı eleman birden fazla eklenemez.
D
0’dan başlayan bir sayaç ile elemanlarına ulaşılabilir.
E
Add() metodu ile ArrayList’e yeni bir eleman eklenir.
Açıklama:
ArrayList: En genel amaçlı kullanılan koleksiyon türüdür. Nesnelerden oluşan dizi yapısıdır. Add()
metodu ile ArrayList’e yeni eleman eklenir. Aynı eleman birden fazla eklenebilir. Elemanları sıralı
değildir. 0’dan başlayan bir sayaç ile elemanlarına ulaşılabilir. RemoveAt( sayaç ) ile istenilen sıradaki eleman listeden çıkarılabilir.
metodu ile ArrayList’e yeni eleman eklenir. Aynı eleman birden fazla eklenebilir. Elemanları sıralı
değildir. 0’dan başlayan bir sayaç ile elemanlarına ulaşılabilir. RemoveAt( sayaç ) ile istenilen sıradaki eleman listeden çıkarılabilir.
Soru 5
double x = Math.Sqrt( 121 );
Yukarıda kodu matematiksel işlemin sonucu aşağıdakilerden hangisidir?
Yukarıda kodu matematiksel işlemin sonucu aşağıdakilerden hangisidir?
Seçenekler
A
11
B
121
C
12
D
14.641
E
12.1
Açıklama:
Math.Sqrt( sayı ): Parametre olarak alınan sayının karekökünü hesaplayan fonksiyondur. Sayı, double
veya double türüne dönüştürülebilir olmalıdır.
x = 121
double x = Math.Sqrt( 121 ) ; // sonuç 11 olacaktır
veya double türüne dönüştürülebilir olmalıdır.
x = 121
double x = Math.Sqrt( 121 ) ; // sonuç 11 olacaktır
Soru 6
I Sözlük anlamı yığın, istif anlamına gelmektedir.
II LIFO (Last in First Out) yani son giren ilk çıkar yapısını sergilemektedir.
III. Yığının en üstüne bir eleman eklemek için Push() metodu, üstten bir eleman çekmek için de Pop() metodu kullanılır.
Yukarıda özellikleri verilen koleksiyon türü aşağıdakilerden hangisidir?
II LIFO (Last in First Out) yani son giren ilk çıkar yapısını sergilemektedir.
III. Yığının en üstüne bir eleman eklemek için Push() metodu, üstten bir eleman çekmek için de Pop() metodu kullanılır.
Yukarıda özellikleri verilen koleksiyon türü aşağıdakilerden hangisidir?
Seçenekler
A
Queue
B
Hashtable
C
Dictionary
D
Stack
E
ArrayList
Açıklama:
Stack: Sözlük anlamı olarak yığın, istif gibi anlamlara gelmektedir. Tıpkı Queue gibi gerçek hayattaki kullanımı programa aktarılmıştır. LIFO (Last In First Out) yani son giren ilk çıkar yapısını sergilemektedir. Bu yığına yine yemekhane ile ilgili tabldotların ya da tepsilerin üst üste koyulmaları örnek verilebilir. İlk konulan tepsi, mecburen en son alınacaktır. Son konulan ise ilk önce alınacaktır. Yığının en üstüne bir eleman eklemek için Push() metodu, üstten bir eleman çekmek için de Pop() metodu kullanılır.
Soru 7
….. günlük hayattaki metinleri, bilgisayar ortamında ise art arda gelen karakter dizilerini simgeler. Bu veri türü her ne kadar değer tipi kabul edilse de referans tipinde bir veri türüdür.
Yukarıda boş bırakılan yeri aşağıdakilerden hangisi doğru şekilde tamamlar?
Yukarıda boş bırakılan yeri aşağıdakilerden hangisi doğru şekilde tamamlar?
Seçenekler
A
Dictionary
B
String
C
ArrayList
D
Koleksiyon
E
Değişken
Açıklama:
String, günlük hayattaki metinleri, bilgisayar ortamında ise art arda gelen karakter dizilerini simgeler. String veri türü her ne kadar değer tipi kabul edilse de referans tipinde bir veri türüdür.
Soru 8
using System;
public class Program
{
public static void Main(string[] args)
{
string metin = "C# çok güzel!";
string eklenecek="öğrenmek ";
string yeni_metin=metin.Insert( 3, eklenecek );
Console.WriteLine(yeni_metin);
}
}
Yukarıda verilen kod bloğunun ekran çıktısı aşağıdakilerden hangisidir?
public class Program
{
public static void Main(string[] args)
{
string metin = "C# çok güzel!";
string eklenecek="öğrenmek ";
string yeni_metin=metin.Insert( 3, eklenecek );
Console.WriteLine(yeni_metin);
}
}
Yukarıda verilen kod bloğunun ekran çıktısı aşağıdakilerden hangisidir?
Seçenekler
A
C# çok güzel!
B
C# çok güzel! öğrenmek
C
C# öğrenmek çok güzel!
D
öğrenmek
E
Öğrenmek C# çok güzel!
Açıklama:
using System;
public class Program
{
public static void Main(string[] args)
{
string metin = "C# çok güzel!";
string eklenecek="öğrenmek ";
string yeni_metin=metin.Insert( 3, eklenecek );
Console.WriteLine(yeni_metin);
}
}
Program çıktı olarak C# öğrenmek çok güzel! verecektir.
public class Program
{
public static void Main(string[] args)
{
string metin = "C# çok güzel!";
string eklenecek="öğrenmek ";
string yeni_metin=metin.Insert( 3, eklenecek );
Console.WriteLine(yeni_metin);
}
}
Program çıktı olarak C# öğrenmek çok güzel! verecektir.
Soru 9
string buyuk_metin = degisken_ismi.ToUpper();
Yukarıda şablonu verilen ToUpper metodu hangi işlemi gerçekleştirmektedir?
Yukarıda şablonu verilen ToUpper metodu hangi işlemi gerçekleştirmektedir?
Seçenekler
A
String türünde tanımlanmış değişkendeki metnin tümünü küçük harfe çevirir.
B
Metin karşılaştırma işlemi yapmak için kullanılır. String ifadeleri karakter karakter karşılaştırarak sonucu int bir değer olarak döndürür.
C
String türünde tanımlanmış değişkendeki metnin tümünü büyük harfe çevirir.
D
Bu metot, string ifadeleri birleştirmek için kullanılır. Verilen metinleri art arda ekler ve yine string türünden bir değer döndürmektedir.
E
Metnin sağına verilen boşluk sayısı kadar “ ” boşluk karakteri ekler.
Açıklama:
ToUpper: String türünde tanımlanmış değişkendeki metnin tümünü büyük harfe çevirir.
string buyuk_metin = degisken_ismi.ToUpper();
string buyuk_metin = degisken_ismi.ToUpper();
Soru 10
“Sayının tam kısmını döndürür, ondalıklı kısmını siler. Parametre olarak aldığı sayı double, decimal veya float gibi ondalıklı sayılar olabilir.”
Yukarıda tanımı verilen Matematik Sınıfı metodu aşağıdakilerden hangisidir?
Yukarıda tanımı verilen Matematik Sınıfı metodu aşağıdakilerden hangisidir?
Seçenekler
A
Math.log(sayı)
B
Math.Pow(sayı,üs)
C
Math.Round(sayı,basamak_sayısı)
D
Math.Truncate(sayı)
E
Math.Log(sayı)
Açıklama:
Math.Truncate( sayı ): Sayının tam kısmını döndürür, ondalıklı kısmını siler. Parametre olarak aldığı sayı double, decimal veya float gibi ondalıklı sayılar olabilir.
Soru 11
Aşağıdakilerden hangisi C# programlama dilinde programların çalıştırılması için gerekli olan başlangıç noktasıdır.
Seçenekler
A
Main
B
Public
C
Private
D
Void
E
camelCase
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Metotlar kod içerisinden çağırılır; bu yüzden belirli kurallara uygun yazılmaları gerekmektedir.
Metotlar, kod içerisinde tekrar eden işlemlerin her seferinde tekrar yazılmasının önüne geçmesi açısından önemlidir. Kodun okunurluğunun artmasının yanında, yazılan koda bakan başka bir programcının da kodu anlamasını kolaylaştıracaktır.
Ayrıca yapılan işlemde herhangi bir değişiklik olduğunda, kod içerisinde yazılan tüm işlemlerin güncellenmesi yerine, sadece hazırlanan metodun güncellenmesi yeterli olacaktır. Böylece hem zamandan tasarruf edilecek hem de olası hatalar engellenmiş olacaktır.
Metotlar, bir kere yazıldıktan sonra kod içerisinde istenilen yerde ve istenildiği kadar çağrılabilir. Yerine getireceği işlemler için parametre alacak bir yapıda hazırlanabilir. Böylece benzer işi yapan ortak kodlar bir araya getirilerek daha genel amaçlı kod blokları geliştirilebilir.
Yaptıkları işlemlere göre bir sonuç döndürebilirler veya void türde tanımlanarak herhangi bir sonuç döndürmeyen metotlar da hazırlanabilir. C# dilinde, metotlar mutlaka bir struct (yapı) veya class (sınıf ) içerisinde tanımlı olmalıdır. Bu yapılar dışında bir yerde tanımlanamazlar.
Programların çalıştırılabilmesi için bir başlangıç noktasına ihtiyaçları vardır. C# dilinde de bu başlangıç noktası Main metodudur. Main metodu, programın bütün işlevlerinden sorumlu, onları çalıştıran hatta başka sınıflar ile iletişim kuran ana metoddur. Her programda sadece bir tane ana metot işlevi taşıyan Main() metodu olabilir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Metotlar kod içerisinden çağırılır; bu yüzden belirli kurallara uygun yazılmaları gerekmektedir.
Metotlar, kod içerisinde tekrar eden işlemlerin her seferinde tekrar yazılmasının önüne geçmesi açısından önemlidir. Kodun okunurluğunun artmasının yanında, yazılan koda bakan başka bir programcının da kodu anlamasını kolaylaştıracaktır.
Ayrıca yapılan işlemde herhangi bir değişiklik olduğunda, kod içerisinde yazılan tüm işlemlerin güncellenmesi yerine, sadece hazırlanan metodun güncellenmesi yeterli olacaktır. Böylece hem zamandan tasarruf edilecek hem de olası hatalar engellenmiş olacaktır.
Metotlar, bir kere yazıldıktan sonra kod içerisinde istenilen yerde ve istenildiği kadar çağrılabilir. Yerine getireceği işlemler için parametre alacak bir yapıda hazırlanabilir. Böylece benzer işi yapan ortak kodlar bir araya getirilerek daha genel amaçlı kod blokları geliştirilebilir.
Yaptıkları işlemlere göre bir sonuç döndürebilirler veya void türde tanımlanarak herhangi bir sonuç döndürmeyen metotlar da hazırlanabilir. C# dilinde, metotlar mutlaka bir struct (yapı) veya class (sınıf ) içerisinde tanımlı olmalıdır. Bu yapılar dışında bir yerde tanımlanamazlar.
Programların çalıştırılabilmesi için bir başlangıç noktasına ihtiyaçları vardır. C# dilinde de bu başlangıç noktası Main metodudur. Main metodu, programın bütün işlevlerinden sorumlu, onları çalıştıran hatta başka sınıflar ile iletişim kuran ana metoddur. Her programda sadece bir tane ana metot işlevi taşıyan Main() metodu olabilir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 12
Aşağıdakilerden hangisi C# programlama dilinde metotların erişim belirleyicisi belirtilmediği takdirde kabul edildiği sınıfı tanımlar?
Seçenekler
A
Main
B
Public
C
Private
D
Void
E
camelCase
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
C# programlama dilinde, metotların tanımlandıkları sınıf içerisinde birtakım kurallara uymaları gerekmektedir.
Bu nedenle sorunun doğru cevabı C seçeneğidir.
C# programlama dilinde, metotların tanımlandıkları sınıf içerisinde birtakım kurallara uymaları gerekmektedir.
- Metot isimleri de değişken isimleri kurallarına uygun şekilde verilmelidir.
- Metotların erişim belirleyicisi belirtilmelidir, aksi hâlde “private” olarak kabul edilir.
- Her zaman için bir sınıf yapısı içinde tanımlanmalıdır.
- Her metodun geri döndürdüğü değerin türü belirtilmelidir. Geri değer döndürmüyorsa da dönüş tipi olarak “void” tanımlanmalıdır. Döndürülecek değer, “return” anahtar kelimesi kullanılarak döndürülür.
- Parametre alan bir metot tanımlandıysa, birden fazla parametresi varsa aralarına virgül “,” koyarak ayrılmalıdır.
Bu nedenle sorunun doğru cevabı C seçeneğidir.
Soru 13
Aşağıdakilerden hangisi C# programlama dilinde metodun geri döndürdüğü değerin belirtilmediyse dönüş tipi olarak tanımlanması gereken ifadedir?
Seçenekler
A
Main
B
Public
C
Private
D
Void
E
camelCase
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
C# programlama dilinde, metotların tanımlandıkları sınıf içerisinde birtakım kurallara uymaları gerekmektedir.
Bu nedenle sorunun doğru cevabı D seçeneğidir.
C# programlama dilinde, metotların tanımlandıkları sınıf içerisinde birtakım kurallara uymaları gerekmektedir.
- Metot isimleri de değişken isimleri kurallarına uygun şekilde verilmelidir.
- Metotların erişim belirleyicisi belirtilmelidir, aksi hâlde “private” olarak kabul edilir.
- Her zaman için bir sınıf yapısı içinde tanımlanmalıdır.
- Her metodun geri döndürdüğü değerin türü belirtilmelidir. Geri değer döndürmüyorsa da dönüş tipi olarak “void” tanımlanmalıdır. Döndürülecek değer, “return” anahtar kelimesi kullanılarak döndürülür.
- Parametre alan bir metot tanımlandıysa, birden fazla parametresi varsa aralarına virgül “,” koyarak ayrılmalıdır.
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Soru 14
Aşağıdakilerden hangisi C# dilindeki mutlak değer hesaplama fonksiyonu için kullanılan metottur?
Seçenekler
A
Math.Abs( sayı )
B
Math.Min( sayı1, sayı2 ), Math.Max( sayı1, sayı2 )
C
Math.Sign( sayı )
D
Math.BigMul( sayı1, sayı2 )
E
Math.DivRem( bölünen, bölen, out kalan )
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Abs( sayı ): Mutlak değer hesaplama fonksiyonudur. Parametre olarak herhangi bir sayısal değer verilebilir. Zaten sadece pozitif değerler alabilen uint, ulong ve ushort türünden sayısal değerleri alamaz.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Abs( sayı ): Mutlak değer hesaplama fonksiyonudur. Parametre olarak herhangi bir sayısal değer verilebilir. Zaten sadece pozitif değerler alabilen uint, ulong ve ushort türünden sayısal değerleri alamaz.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 15
Aşağıdakilerden hangisi C# dilindeki iki sayı arasında karşılaştırma yapmak için kullanılan metottur?
Seçenekler
A
Math.Abs( sayı )
B
Math.Min( sayı1, sayı2 ), Math.Max( sayı1, sayı2 )
C
Math.Sign( sayı )
D
Math.BigMul( sayı1, sayı2 )
E
Math.DivRem( bölünen, bölen, out kalan )
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Min( sayı1, sayı2 ), Math.Max( sayı1, sayı2 ): İki sayı arasında karşılaştırma yapmak için kullanılır. Min ile küçük sayı, Max ile de büyük sayı eşitlikteki değişkene atanır. Karşılaştırmak için de herhangi bir sayısal değer alabilirler.
Bu nedenle sorunun doğru cevabı B seçeneğidir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Min( sayı1, sayı2 ), Math.Max( sayı1, sayı2 ): İki sayı arasında karşılaştırma yapmak için kullanılır. Min ile küçük sayı, Max ile de büyük sayı eşitlikteki değişkene atanır. Karşılaştırmak için de herhangi bir sayısal değer alabilirler.
Bu nedenle sorunun doğru cevabı B seçeneğidir.
Soru 16
Aşağıdakilerden hangisi C# programlama dilinde parametre olarak girilen “unsigned” olmayan herhangi bir sayının işaretinin bulmak için kullanılan metottur?
Seçenekler
A
Math.Abs( sayı )
B
Math.Min( sayı1, sayı2 ), Math.Max( sayı1, sayı2 )
C
Math.Sign( sayı )
D
Math.BigMul( sayı1, sayı2 )
E
Math.DivRem( bölünen, bölen, out kalan )
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Sign( sayı ): Parametre olarak girilen “unsigned” olmayan herhangi bir sayının işaretini bulmak için kullanılır. Pozitif sayılar için +1, negatif için -1 ve sıfır için 0 olarak bir int değer döndürür.
Bu nedenle sorunun doğru cevabı C seçeneğidir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Sign( sayı ): Parametre olarak girilen “unsigned” olmayan herhangi bir sayının işaretini bulmak için kullanılır. Pozitif sayılar için +1, negatif için -1 ve sıfır için 0 olarak bir int değer döndürür.
Bu nedenle sorunun doğru cevabı C seçeneğidir.
Soru 17
Aşağıdakilerden hangisi C# programlama dilinde % operatörü ile kalan hesaplanırken; iki sayının tam bölüm sonucu ve kalanının hesaplamaya yarayan fonksiyondur?
Seçenekler
A
Math.Abs( sayı )
B
Math.Min( sayı1, sayı2 ), Math.Max( sayı1, sayı2 )
C
Math.Sign( sayı )
D
Math.BigMul( sayı1, sayı2 )
E
Math.DivRem( bölünen, bölen, out kalan )
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.DivRem( bölünen, bölen, out kalan ): % operatörü ile kalan hesaplanabilirken bu fonksiyon ile iki tam sayının bölüm sonucu ve kalanı hesaplanabilmektedir. Dönen sonuç ve parametreleri int veya long türünde olabilir.
Bu nedenle sorunun doğru cevabı E seçeneğidir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.DivRem( bölünen, bölen, out kalan ): % operatörü ile kalan hesaplanabilirken bu fonksiyon ile iki tam sayının bölüm sonucu ve kalanı hesaplanabilmektedir. Dönen sonuç ve parametreleri int veya long türünde olabilir.
Bu nedenle sorunun doğru cevabı E seçeneğidir.
Soru 18
Aşağıdakilerden hangisi C# programlama dilinde sayıyı en yakın tam sayıya çevirmek için kullanılan yuvarlama fonksiyonudur?
Seçenekler
A
Math.Floor( sayı )
B
Math.Truncate( sayı )
C
Math.Max( sayı , basamak sayısı )
D
Math.Round( sayı )
E
Math.Ceiling( sayı )
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Round( sayı ): Yuvarlama fonksiyonlarındandır. Sayıyı en yakın tam sayıya çevirmek için kullanılır. Parametre olarak aldığı sayı double, decimal veya bunlara dönüştürülebilir olmalıdır.
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Math sınıfında hazırlanmış tüm metotlar static’tir ve bu sınıf mühürlüdür (sealed). Yani Math sınıfından kalıtım yapılamaz. Math sınıfının bir nesnesi de yaratılamaz. Bu yüzden, Math sınıfındaki metotlar “Math.Abs()” şeklinde sınıf adı ile birlikte kullanılmalıdır. Math sınıfında çok kullanılan metodları inceleyelim.
Math.Round( sayı ): Yuvarlama fonksiyonlarındandır. Sayıyı en yakın tam sayıya çevirmek için kullanılır. Parametre olarak aldığı sayı double, decimal veya bunlara dönüştürülebilir olmalıdır.
Bu nedenle sorunun doğru cevabı D seçeneğidir.
Soru 19
Aşağıdakilerden hangisi C# programlama dilinde nesneleri gruplamayı sağlayan koleksiyonlar sınıfında en genel amaçlı kullanılan ve nesnelerden oluşan dizi yapısına verilen isimdir?
Seçenekler
A
ArrayList
B
Hashtable
C
Queue
D
Stack
E
Dictionary
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
C# programlama dilinde koleksiyonlar, nesneleri gruplamayı sağlayan sınıflardır. Klasik dizi (array) yapısından çok daha fazla özelliği olan, System.Collections altında tanımlı bir veri türüdür. IEnumerable arayüzü koleksiyon sınıflarının tümüne uygulanmıştır. Böylece tüm koleksiyon nesneleri foreach döngüsü ile kullanılabilir.
Koleksiyonlar, nesnelerden oluşmuş, çok sayıda verinin tutulduğu türlerdir. Diziler ile arasındaki fark ise diziler sabit boyutlara sahip iken, koleksiyon yapılarının boyutları dinamik olarak artmaya ve azalmaya imkân sunar. Bunun yanında koleksiyondaki elemanları numaralamak, sıralamak, yeni eleman eklemek, eleman çıkartmak, koleksiyonda eleman aramak gibi özellikleri destekleyen bir yapıdır. Farklı durumlar için oluşturulmuş çeşitli koleksiyon yapıları mevcuttur. Ayrıca kullanıcıların da kendi koleksiyonlarını oluşturmalarına izin vermektedir. Koleksiyon türlerin bazılarından kısaca bahsedeceğiz.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
C# programlama dilinde koleksiyonlar, nesneleri gruplamayı sağlayan sınıflardır. Klasik dizi (array) yapısından çok daha fazla özelliği olan, System.Collections altında tanımlı bir veri türüdür. IEnumerable arayüzü koleksiyon sınıflarının tümüne uygulanmıştır. Böylece tüm koleksiyon nesneleri foreach döngüsü ile kullanılabilir.
Koleksiyonlar, nesnelerden oluşmuş, çok sayıda verinin tutulduğu türlerdir. Diziler ile arasındaki fark ise diziler sabit boyutlara sahip iken, koleksiyon yapılarının boyutları dinamik olarak artmaya ve azalmaya imkân sunar. Bunun yanında koleksiyondaki elemanları numaralamak, sıralamak, yeni eleman eklemek, eleman çıkartmak, koleksiyonda eleman aramak gibi özellikleri destekleyen bir yapıdır. Farklı durumlar için oluşturulmuş çeşitli koleksiyon yapıları mevcuttur. Ayrıca kullanıcıların da kendi koleksiyonlarını oluşturmalarına izin vermektedir. Koleksiyon türlerin bazılarından kısaca bahsedeceğiz.
- ArrayList: En genel amaçlı kullanılan koleksiyon türüdür. Nesnelerden oluşan dizi yapısıdır. Add() metodu ile ArrayList’e yeni eleman eklenir. Aynı eleman birden fazla eklenebilir. Elemanları sıralı değildir. 0’dan başlayan bir sayaç ile elemanlarına ulaşılabilir. RemoveAt( sayaç ) ile istenilen sıradaki eleman listeden çıkarılabilir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 20
Aşağıdakilerden hangisi C# programlama dilinde string sınıfı ifadeleri birleştirmek için kullanılan, verilen metinleri art arda ekleyen metodun ismidir?
Seçenekler
A
Concat
B
Contains
C
CopyTo
D
EndsWith
E
IndexOf
Açıklama:
BİL107U İleri Programlama I Kitabının “C# Program Yapısı ” başlıklı 2. Bölümünde bu soru ile ilgili şu bilgi verilmektedir.
System.String sınıfını temsil etmektedir. String, günlük hayattaki metinleri, bilgisayar ortamında ise art arda gelen karakter dizilerini simgeler. String veri türü her ne kadar değer tipi kabul edilse de referans tipinde bir veri türüdür.
Concat: Bu metot, string ifadeleri birleştirmek için kullanılır. Verilen metinleri art arda ekler ve yine string türünden bir değer döndürmektedir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
System.String sınıfını temsil etmektedir. String, günlük hayattaki metinleri, bilgisayar ortamında ise art arda gelen karakter dizilerini simgeler. String veri türü her ne kadar değer tipi kabul edilse de referans tipinde bir veri türüdür.
Concat: Bu metot, string ifadeleri birleştirmek için kullanılır. Verilen metinleri art arda ekler ve yine string türünden bir değer döndürmektedir.
Bu nedenle sorunun doğru cevabı A seçeneğidir.
Soru 21
Belirli görevleri yerine getirmek amacıyla tasarlanmış kod bloklarına ne ad verilir?
Seçenekler
A
Metot
B
Modül
C
Konsol
D
String
E
Sınıf
Açıklama:
Belirli görevleri yerine getirmek amacıyla tasarlanmış kod bloklarına metot ya da fonksiyon adı verilir.
Soru 22
İçine eklenen bir kontrol durumu gerçekleşene kadar kendini çağırarak istenilen işi yapan özel metot türü aşağıdakilerden hangisidir?
Seçenekler
A
Özyinelemeli
B
Kurucu
C
Yapıcı
D
Main
E
Public
Açıklama:
Özyinelemeli (Recursive) Metotlar:
Bu özel metot türü, içine eklenen bir kontrol durumu gerçekleşene kadar kendini çağırarak istenilen işi yapan fonksiyonlardır. Bu metotlar doğrudan ya da dolaylı olarak kendilerini çağırarak görevlerini yaparlar. Yazımı ve kullanımı tıpkı diğer metotlar gibidir.
Bu özel metot türü, içine eklenen bir kontrol durumu gerçekleşene kadar kendini çağırarak istenilen işi yapan fonksiyonlardır. Bu metotlar doğrudan ya da dolaylı olarak kendilerini çağırarak görevlerini yaparlar. Yazımı ve kullanımı tıpkı diğer metotlar gibidir.
Soru 23
Mutlak değer hesaplamada kullanılan, parametre olarak herhangi bir sayısal değer verilebilen matematik sınıf metodu aşağıdakilerden hangisidir?
Seçenekler
A
Math.Abs()
B
Math.Min()
C
Math.Sign()
D
Math.BigMul()
E
Math.DivRem()
Açıklama:
Math.Abs( sayı ): Mutlak değer hesaplama fonksiyonudur. Parametre olarak herhangi bir sayısal değer verilebilir.
Soru 24
Sayının tam kısmını döndürüp ondalıklı kısmını silen fonksiyon aşağıdakilerden hangisidir?
Seçenekler
A
Math.Truncate
B
Math.Log10
C
Math.Sqrt
D
Math.Sin
E
Math.Sign
Açıklama:
Math.Truncate (sayı): Sayının tam kısmını döndürür, ondalıklı kısmını siler. Parametre olarak aldığı sayı double, decimal veya float gibi ondalıklı sayılar olabilir.
Soru 25
Aşağıdakilerden hangisi bir programlama projesinde metotların (fonksiyonların) kullanımının genel olarak sağladığı faydalardan değildir?
Seçenekler
A
Bir kere yazıldıktan sonra kod içerisinde istenilen yerde ve istenildiği kadar çağrılabilirler.
B
Kod içerisinde yazılan tüm işlemlerin güncellenmesi yerine, sadece hazırlanan metodun güncellenmesi ile hata olasılığını azaltır ve zamandan tasarruf sağlarlar.
C
Kod içerisinde tekrar eden işlemlerin her seferinde tekrar yazılmasının önüne geçmeleri açısından önemlidirler.
D
Kodun okunurluğunun artmasını ve başka bir programcı tarafından kolay anlaşılmasını sağlarlar.
E
Matematiksel hesaplamaların kolay bir şekilde yapılmasını sağlarlar.
Açıklama:
E- “Math” sınıfına dair metodlar matematiksel işlemleri kolaylaştırsa da, diğer seçenekler sayfa 83’te tanımlandığı şekli ile genel olarak metotların faydalarını ortaya koymaktadır.
Soru 26
C# dilinde, matematiksel işlemlerin daha kolay yapılabilmesi amacıyla, bazı işlemler ............. sınıfı içinde toplanmıştır.
Yukarıdaki cümlede boş yere aşağıdakilerden hangisinin gelmesi uygundur?
Yukarıdaki cümlede boş yere aşağıdakilerden hangisinin gelmesi uygundur?
Seçenekler
A
System.Math
B
new.Random
C
ArrayList
D
Hashtable
E
Queue
Açıklama:
C# dilinde, matematiksel işlemlerin daha kolay yapılabilmesi amacıyla, bazı işlemler “System.Math” sınıfı içinde toplanmıştır. Bir sayının karesini alma, karekökünü bulma, n’inci dereceden kuvvetini alma, alt ve üste yuvarlama, Sin/Cos.. gibi trigonometrik işlemler, logaritmik işlemler, sayı karşılaştırma gibi işlemleri desteklemektedir
Soru 27
En genel amaçlı kullanılan koleksiyon türü ve nesnelerden oluşan dizi yapısı aşağıdakilerden hangisidir?
Seçenekler
A
ArrayList
B
Hashtable
C
Queue
D
Stack
E
Dictionary
Açıklama:
ArrayList: En genel amaçlı kullanılan koleksiyon türüdür. Nesnelerden oluşan dizi yapısıdır. Add() metodu ile ArrayList’e yeni eleman eklenir.
Soru 28
Aşağıdakilerden hangisi String sınıfının en sık kullanılan metotlarından birisidir?
Seçenekler
A
Length
B
Dictionary
C
Stack
D
Queue
E
Hashtable
Açıklama:
Length, metnin uzunluğu, yani kaç karakterden oluştuğu bilgisini veren String sınıfı metotlarından biridir. Diğer seçeneler ise String sınıfında yer almazlar.
Soru 29
Aşağıdakilerden hangisi String bir değişkenin sonunun verilen bir char veya string türündeki değere eşit olup olmadığını kontrol eder?
Seçenekler
A
EndsWith
B
IndexOf
C
Insert
D
LastIndexOf
E
PadLeft
Açıklama:
EndsWith: String bir değişkenin sonunun verilen bir char veya string türündeki değere eşit olup olmadığını kontrol eder.
Soru 30
Aşağıdakilerden hangisi bir string değer içinde karakter ya da metin aramak için kullanılmaktadır?
Seçenekler
A
Contains
B
IsNullOrEmpty
C
Format
D
Copy
E
Concat
Açıklama:
Contains: Bu metot, bir string değer içinde karakter ya da metin aramak için kullanılmaktadır. Boolean bir değer döndürür.
Soru 31
Nesnelerden oluşmuş, çok sayıda verinin tutulduğu türlere ne ad verilir?
Seçenekler
A
Koleksiyon
B
Dizi
C
Komut
D
Sembol
E
String
Açıklama:
Koleksiyonlar, nesnelerden oluşmuş, çok sayıda verinin tutulduğu türlerdir. Diziler ile arasındaki fark ise diziler sabit boyutlara sahip iken, koleksiyon yapılarının boyutları dinamik olarak artmaya ve azalmaya imkân sunar.
Soru 32
Aşağıdakilerden hangisi C# programlama dilinde, metotların tanımlandıkları sınıf içerisinde uyması gereken sözdizimi kurallarından değildir?
Seçenekler
A
Metot isimleri de değişken isimleri kurallarına uygun şekilde verilmelidir.
B
Metotların erişim belirleyicisi belirtilmelidir, aksi hâlde “public” olarak kabul edilir.
C
Her zaman için bir sınıf yapısı içinde tanımlanmalıdır.
D
Her metodun geri döndürdüğü değerin türü belirtilmelidir. Geri değer döndürmüyorsa da dönüş tipi olarak “void” tanımlanmalıdır.
E
Parametre alan bir metot tanımlandıysa, birden fazla parametresi varsa aralarına virgül “,” koyarak ayrılmalıdır.
Açıklama:
B - Erişim belirleyicisi belirtilmeyen metotlar C# dilinde “private” olarak kabul edilirler ve sadece tanımlandıkları sınıf içerisinden erişilebilirler. (sayfa 83)
Soru 33
İçine eklenen bir kontrol durumu gerçekleşene kadar kendini çağırarak istenilen işi yapan fonksiyonlara ne ad verilir?
Seçenekler
A
Döngü
B
Değişken
C
Özyinelemeli (recursive) metot
D
Operatör
E
Akış kontrolü
Açıklama:
C - Verilen tanım sayfa 85’te yer aldığı şekli ile özyinelemeli (recursive) metotları tanımlamaktadır. Soru içerisinde programlama bağlamında metot ile aynı anlama gelen fonksiyon sözcüğü de yer almaktadır. Diğer seçenekler kitabın bir önceki bölümü olan 3. Ünite’de yer almaktadır.
Soru 34
Aşağıdaki seçeneklerde Math sınıfına ait metotlar tanımları ile beraber verilmiştir. Hangi seçenekteki eşleşme hatalıdır?
Seçenekler
A
Math.Abs(sayı) : Mutlak değer hesaplama fonksiyonudur.
B
Math.Min(sayı1, sayı2) : İki sayı arasında karşılaştırma yaparak küçük sayıyı döndürür.
C
Math.Sqrt( sayı ) : Sayının karekökünü hesaplayan fonksiyondur.
D
Math.Truncate( sayı ) : Sayıyı yukarı doğru yuvarlamak için kullanılır.
E
Math.Floor( sayı ) : Sayıyı aşağı doğru yuvarlamak için kullanılır.
Açıklama:
D- Math.Truncate( sayı ) fonksiyonu yuvarlama işlemi yapmaz, parametre değeri olarak girilen sayının ondalık hanelerini silerek sadece tam sayı olan kısmını döndürür.
Soru 35
C# programlama dilinde program geliştirirken rastgele değerlere ihtiyaç duyulduğunda kullanılan Random sınıfı, neye göre rastgele bir değer oluşturur?
Seçenekler
A
Sabit disk kapasitesine göre
B
Bellek kapasitesine göre
C
Fare hareketlerine göre
D
İşlemci sıcaklığına göre
E
Tarih-saate göre
Açıklama:
E- Random sınıfı, sistem zamanına (tarih-saat) göre rastgele bir değer oluşturur. (S.91)
Soru 36
C# programlama dilinde koleksiyonlar, nesneleri gruplamayı sağlayan sınıflardır. Hangi nesnenin hangi sırada listeye eklendiğini bilmemiz gereken bir durumda, örneğin trafik plaka kodları ile şehirlerin eşleştirildiği bir dizide trafik kodunu anahtar ve il adını buna karşılık olan bir değer olarak atamak için, hangi koleksiyon sınıfı metodunu kullanmak daha uygun olacaktır?
Seçenekler
A
Hashtable
B
ArrayList
C
Queue
D
Stack
E
Object
Açıklama:
A - Sorudaki tanım sayfa 93’te yer alan Hashtable tanımına daynmaktadır. Trafik kodu - il adı eşleştirmesi örneği de, sayfa 94’e Hashtable için verilen örnektir. ArrayList, Queue ve Stack koleksiyon sınıfı içerisinde yer almakla beraber, anahtar->değer eşleşmesi için tasarlanmamışlardır.
Soru 37
string yazi = "C# çok hoş";
int uzunluk = yazi.Length;
Console.WriteLine( uzunluk );
Yukarıdaki kod parçasında String sınıfının Length metodu kullanılmıştır. Bu kod parçasının üreteceği çıktı aşağıdakilerden hangisidir?
int uzunluk = yazi.Length;
Console.WriteLine( uzunluk );
Yukarıdaki kod parçasında String sınıfının Length metodu kullanılmıştır. Bu kod parçasının üreteceği çıktı aşağıdakilerden hangisidir?
Seçenekler
A
3
B
10
C
C# çok hoş
D
uzunluk
E
yazi.Length
Açıklama:
B --- string.Length metodu verilen string değişkenindeki karakter sayısını ekrana yazar. Buna göre yazi değişkenine atanmış olan “C# çok hoş” metni 10 karakterden oluşmaktadır. uzunluk değişkenine atanmış olan yazi. Length bu metnin uzunluğunu verir.
Soru 38
C# programlama dilinde koleksiyon sınıfına ilişkin metotlar olan “Queue” (kuyruk) ve “Stack” (istif) arasındaki fark nedir?
Seçenekler
A
Queue FIFO (first-in-first-out), Stack LIFO(last-in-first-out) biçiminde çalışır.
B
Queue LIFO (last-in-first-out), Stack FIFO(first-in-first-out) biçiminde çalışır.
C
Stack ile her tür veri işlenirken, Queue ie sadece belirli veri tipleri işlenir.
D
Stack nesneleri anahtar->değer çiftleri içerir, Queue içermez.
E
Aralarında bir fark yoktur.
Açıklama:
A -- “Queue: … FIFO (First In First Out) yani ilk giren ilk çıkar yapısını sergilemektedir.” (S. 94)
“Stack: … LIFO (Last In First Out) yani son giren ilk çıkar yapısını sergilemektedir.” (S.95)
“Stack: … LIFO (Last In First Out) yani son giren ilk çıkar yapısını sergilemektedir.” (S.95)
Soru 39
Aşağıda String sınıfına ilişkin metotlar verilmiş ve işlevleri tanımlanmıştır. Hangi metodun işlevi doğru tanımlanmamıştır?
Seçenekler
A
ToLower: Değişkendeki metnin tümünü küçük harfe çevirir.
B
Concat: Verilen ifadeyi istenilen formata uygun şekilde düzenleyerek döndürür.
C
Contains: Değer içinde karakter ya da metin aramak için kullanılmaktadır.
D
Replace: Verilen metin içerisindeki bir metin arar ve bunu yeni metin ile değiştirir.
E
Substring: Bir metnin içinden istenilen yerden, istenildiği kadar metin almak için kullanılır.
Açıklama:
B -- Concat metodu, string ifadeleri birleştirmek için kullanılır. Verilen metinleri art arda ekler ve yine string türünden bir değer döndürmektedir. (S.98)
Format: Verilen string bir ifadeyi istenilen formata uygun şekilde düzenleyerek yine geriye string bir değer döndürür. (S. 99)
Buna göre B seçeneğinde Concat için verilen tanım aslında Format metodunu tanımlamaktadır.
Format: Verilen string bir ifadeyi istenilen formata uygun şekilde düzenleyerek yine geriye string bir değer döndürür. (S. 99)
Buna göre B seçeneğinde Concat için verilen tanım aslında Format metodunu tanımlamaktadır.
Soru 40
C# programlama dilindeki ArrayList, Hashtable, Dictionary, Stack ve Queue gibi koleksiyon yapılarına ilişkin olarak aşağıdakilerden hangisi doğrudur?
Seçenekler
A
IEnumerable arayüzü koleksiyon sınıflarının tümüne uygulanmadığı için foreach döngüsü ile işlenemezler.
B
Sabit boyuta sahiptirler, boyutları arttırılıp azaltılamaz.
C
Yeni eleman eklemek, eleman çıkartmak, koleksiyonda eleman aramak gibi özellikleri desteklemezler.
D
Nesnelerden oluşmuş, çok sayıda verinin tutulduğu türlerdir.
E
anahtar - > değer yapılarını desteklemezler.
Açıklama:
D--- Koleksiyonlar, nesnelerden oluşmuş, çok sayıda verinin tutulduğu türlerdir. (S.92) Diğer seçenekler S.92’de verilen açıklamaların tam tersidir.
Soru 41
Aşağıdakilerden hangisi problemler ile programlama arasındaki ilişkiyi doğru ifade eder?
Seçenekler
A
Programlama, problemlere çözüm aramadır.
B
Programlama, sadece kod yazma becerisidir.
C
İyi program, en karmaşık olandır.
D
Programlama ile Main metodu arasında bir ilişki yoktur.
E
Programlama yolu ile problemlere getirilen en iyi çözüm, en fazla kod satırına sahip olan programdır.
Açıklama:
Programlama, problemlere çözüm aramaktır.
Programlama, problemlere çözüm aramadır.
Programlama, problemlere çözüm aramadır.
Soru 42
Aşağıdakilerden hangisi, C# dilinde başlangıç noktasını oluşturur?
Seçenekler
A
void
B
main
C
class
D
public
E
private
Açıklama:
Main, C# dilinde başlangıç noktasını oluşturur.
Soru 43
C# programlama dilinde, bir metotta birden fazla parametrenin bulunması durumunda, parametreler aşağıdakilerden hangisi ile ayrılmalıdır?
Seçenekler
A
"."
B
":"
C
","
D
"|"
E
"/"
Açıklama:
C# programlama dilinde, bir metotda birden fazla paramatrenin bulunması durumunda, parametreler "," ile ile ayrılmalıdır.
Soru 44
Aşağıdakilerden hangisi, C# programlama dilinde, iki sayı arasında karşılaştırma yapan komuttur?
Seçenekler
A
Math.abs(sayı)
B
Math.Sign(sayı)
C
Math.Floor(sayı)
D
Math.min(sayı1,sayı2)
E
Math.BigMul(sayı',sayı2)
Açıklama:
Math.min(sayı1,sayı2), C# programlama dilinde, iki sayı arasında karşılaştırma yapan komuttur. Math.max() komutu ile de iki sayı arasında karşılaştırma yapılabilir.
Soru 45
Aşağıdakilerden hangisi, nesnelerden oluşan dizi yapısına (ArrayList'e) yeni eleman ekleme işlemini yapar?
Seçenekler
A
Hashtable
B
Math.Sinh()
C
Math.Cosh()
D
Math.Tanh()
E
Add()
Açıklama:
Add(), nesnelerden oluşan dizi yapısına (ArrayList'e) yeni eleman ekleme işlemini yapar.
Soru 46
Stack (yıgın) edilmiş bilgilerin üzerine yeni bir değer eklemek için aşağıdakilerden hangisi kullanılır?
Seçenekler
A
Push()
B
Pop()
C
Queue
D
void
E
ToLower
Açıklama:
Stack (yıgın) edilmiş bilgilerin üzerine yeni bir değer eklemek için Push() kullanılır.
Soru 47
C# dilinde kullanılan metin karşılaştırma işlemi için aşağıdakilerden hangisi kulanılır?
Seçenekler
A
Concat
B
Compare
C
Format
D
ToLower
E
ToUpper
Açıklama:
C# dilinde kullanılan metin karşılaştırma işlemi için Compare kulanılır
Soru 48
Karakter ya da string bir ifadeyi aramak için, C# dilinde aşağıdakilerden hangisi kullanılır?
Seçenekler
A
Concat
B
Compare
C
IndexOf()
D
Push()
E
Pop()
Açıklama:
Karakter ya da string bir ifadeyi aramak için, C# dilinde IndexOf() kullanılır
Soru 49
C# dilinde, Random sınıfı ile aşağıdakilerden hangisi oluşturulur?
Seçenekler
A
stack içindeki ilk değer
B
stack içindeki son string
C
mutlak değer
D
rastgele değer
E
logaritmik değer
Açıklama:
C# dilinde, Random sınıfı ile, rastgele değer oluşturulur.
Soru 50
Aşağıdakilerden hangisi, diziler ile koleksiyonlar arasındaki farklı özelliktir?
Seçenekler
A
diziler için main() gerekli değildir.
B
diziler stack edilemezler, sadece koleksiyonlar stack edilebilir.
C
diziler foreach döngüsü ile kullanılamazlar.
D
koleksiyonlarda RemoveAt() komutu kullanılamaz.
E
dizi boyutları sabittir, koleksiyon boyutları değişebilir.
Açıklama:
Diziler ile kolleksiyonlar arsındaki farklılıkların neler olduğuna bakılacak olursa; Dizi boyuları sabittir, kolleksiyon boyutlarının ise değişebilir olduğu görülür.
dizi boyutları sabittir, koleksiyon boyutları değişebilir.
dizi boyutları sabittir, koleksiyon boyutları değişebilir.
Ünite 5
Soru 1
Aşağıdakilerden hangisi C# programlama dilinde belirtilen dosya yolundaki dosyanın içeriğini silerek açmak için kullanılan dosya açma şeklidir?
Seçenekler
A
CreateNew
B
Open
C
Create
D
Append
E
Truncate
Açıklama:
Truncate: Belirtilen dosya yolundaki dosyanın içeri
Soru 2
Aşağıdakilerden hangisi C# programlama dilinde açılan dosyaya veri yazmak için kullanılan sınıftır?
Seçenekler
A
FileStream
B
StreamWriter
C
StreamReader
D
ReadWrite
E
DirectoryWriter
Açıklama:
StreamWrite, açılan dosyaya veri koymak için kullan
StreamWriter
StreamWriter
Soru 3
Aşağıdakilerden hangisi C# programlama dilinde parametre olarak verilen klasörün içindeki dosyaları veren directory ve file sınıfı işlemidir?
Seçenekler
A
bool sonuc = Directory.Exists( klasör )
B
Directory.CreateDirectory( dosyaYolu )
C
string[] dosyalar = Directory.GetFiles( klasör )
D
Directory.Move( kaynakKlasör, hedefKlasör )
E
bool sonuc = File.Exists( dosyaYolu )
Açıklama:
string[] dosyalar = Directory.GetFiles( klasör ):
Soru 4
Aşağıdakilerden hangisi C#’da çıktısı 4,60 TL şeklinde olan Console sınıfı metodudur?
Seçenekler
A
Console.Write("{0:F0}", 46);
B
Console.Write("{0:P}", 0.46);
C
Console.Write("{0:F2}", 46);
D
Console.Write("{0:G}", 4.6);
E
Console.Write("{0:C}", 4.6);
Açıklama:
Console.Write("{0:C}", 4.6);
Soru 5
Aşağıdakilerden hangisi C# console işlemlerinden biri değildir?
Seçenekler
A
Console.SetWindowSize(x, y)
B
Console.BackgroundColor
C
Console.ResetColor()
D
Console.CursorRight
E
Console.CursorLeft
Açıklama:
Console.CursorRight, C# console işlemlerinden biri değildir.
Soru 6
Aşağıdakilerden hangisi C# programlama dilinde dosyadan okuma yapabilmek için için kullanılan metottur?
Seçenekler
A
Write(byte)
B
ReadToEnd()
C
ReadByte()
D
ReadChar()
E
ReadString()
Açıklama:
Diğer okuma yöntemi olan ReadToEnd()
Soru 7
Aşağıdakilerden hangisi C#’da yüzdelik gösterim çıktısı veren sayı biçimlendirme şeklidir?
Seçenekler
A
Console.Write("{0:F2}", 46);
B
Console.Write("{0:C}", 4.6)
C
Console.Write("{0:D5}", 46);
D
Console.Write("{0:P}", 0.46);
E
Console.Write("{0:G}", 4.6);
Açıklama:
Console.Write("{0:P}", 0.46);
Soru 8
- Metotları statiktir.
- Dosya yolunu kullanır.
- Dosya adı, boyutu, uzantısı, oluşturulma tarihi gibi bilgileri verir.
Seçenekler
A
I, II
B
II, III
C
I, III
D
Yanlız I
E
I, II, III
Açıklama:
DirectoryInfo ve FileInfo sınıflarının metotları static değildir, bu sınıflardan oluşturulan nesneler üzerinden erişilebilirler. Directory ve File sınıfları sadece klasör ve dosyalar üzerinde yaptıkları işlemler için dosya yolunu kullanırken, DirectoryInfo ve FileInfo sınıfları ise dosya yolunun yanında dosya adı, boyutu, uzantısı, oluşturulma tarihi gibi bilgileri de vermektedir.
II, III
II, III
Soru 9
- Yazının vurgu rengi ayarlanır.
- Konsol ekranı temizlenir.
- Grafik arayüzü bulunur.
Yukarıda verilen konsol işlemleri ile ilgili ifadelerden hangisi/hangileri doğrudur?
Seçenekler
A
Yalnız II
B
I, II
C
I, III
D
II, III
E
I, II, III
Açıklama:
Console ise grafik arayüzü bulunmayan, girdi ve çıktıların siyah bir ekranda işlendiği kullanıcı arayüzüdür.
II, III
II, III
Soru 10
- Parametre olarak FileStream nesnesi almaktadır.
- StreamWrite, açılan dosyaya veri koymak için kullanılır.
- StreamWriter kullandıktan sonra, her zaman için Close() metodu ile kapatılır.
Seçenekler
A
Yalnız I
B
II, III
C
I, III
D
I, II
E
I, II, III
Açıklama:
Bu sınıf, parametre olarak FileStream nesnesi almaktadır. StreamWrite, açılan dosyaya veri koymak için kullanılır. StreamWriter kullandıktan sonra, her zaman için Close() metodu ile kapatmamız gerekmektedir.
I, II, III
I, II, III
Soru 11
Dosyanın açılma şekillerine ait terimlerden hangisi açıklaması ile doğru eşleşmemiştir?
Seçenekler
A
Append: Dosya yoksa oluşturur, varsa dosyanın sonuna ekleme yapmak için kullanılır.
B
Create: Dosya yoksa yeni dosya oluşturur, aynı isimde başka bir dosya varsa üzerine yazar.
C
CreateNew: Aynı isimde bir dosya varsa hata verir, yoksa yeni bir dosya oluşturur.
D
Open: Belirtilen dosya yolundaki dosyayı açmak için kullanılır. Dosya yoksa hata verir.
E
OpenOrCreate: Belirtilen dosya yolundaki dosyanın içeriğini silerek açmak için kullanılır.
Açıklama:
Detaylar için "DOSYA İŞLEMLERİ" başlığına bakınız.
Dosyanın açılma şeklinde (FileMode) ise 6 farklı dosya açılma şekli görmekteyiz.
• Append: Dosya yoksa oluşturur, varsa dosyanın sonuna ekleme yapmak için kullanılır.
• Create: Dosya yoksa yeni dosya oluşturur, aynı isimde başka bir dosya varsa üzerine yazar.
• CreateNew: Aynı isimde bir dosya varsa hata verir, yoksa yeni bir dosya oluşturur.
• Open: Belirtilen dosya yolundaki dosyayı açmak için kullanılır. Dosya yoksa hata verir.
• OpenOrCreate: Belirtilen dosya yolundaki dosyayı açmak için kullanılır, dosya yoksa yeni dosya
oluşturur.
• Truncate: Belirtilen dosya yolundaki dosyanın içeriğini silerek açmak için kullanılır.
Dosyanın açılma şeklinde (FileMode) ise 6 farklı dosya açılma şekli görmekteyiz.
• Append: Dosya yoksa oluşturur, varsa dosyanın sonuna ekleme yapmak için kullanılır.
• Create: Dosya yoksa yeni dosya oluşturur, aynı isimde başka bir dosya varsa üzerine yazar.
• CreateNew: Aynı isimde bir dosya varsa hata verir, yoksa yeni bir dosya oluşturur.
• Open: Belirtilen dosya yolundaki dosyayı açmak için kullanılır. Dosya yoksa hata verir.
• OpenOrCreate: Belirtilen dosya yolundaki dosyayı açmak için kullanılır, dosya yoksa yeni dosya
oluşturur.
• Truncate: Belirtilen dosya yolundaki dosyanın içeriğini silerek açmak için kullanılır.
Soru 12
StreamWriter kullandıktan sonra, dosyaya yazma işlemi gerçekleşmesi için devamında hangi metot kullanılmalıdır?
Seçenekler
A
Close
B
FileMode
C
Open
D
Create
E
FileAccess
Açıklama:
Detaylar için "Dosyaya Veri Yazma" başlığına bakınız.
Şunu unutmamalıyız; StreamWriter kullandıktan sonra, her zaman için Close() metodu ile kapatmamız gerekmektedir. Aksi hâlde dosyaya yazma işlemi gerçekleşmeyecektir. Bu metot aynı zamanda FileStream (fs) nesnesini de kapatacaktır. Dosyaya veri yazdırma kodumuzu şu şekilde hazırlayabiliriz:
StreamWriter sw = new StreamWriter(fs);
sw.Write("Bu benim ");
sw.WriteLine("ilk dosya işlemim. ");
sw.WriteLine("Merhaba dünya!!!");
sw.Close()
Şunu unutmamalıyız; StreamWriter kullandıktan sonra, her zaman için Close() metodu ile kapatmamız gerekmektedir. Aksi hâlde dosyaya yazma işlemi gerçekleşmeyecektir. Bu metot aynı zamanda FileStream (fs) nesnesini de kapatacaktır. Dosyaya veri yazdırma kodumuzu şu şekilde hazırlayabiliriz:
StreamWriter sw = new StreamWriter(fs);
sw.Write("Bu benim ");
sw.WriteLine("ilk dosya işlemim. ");
sw.WriteLine("Merhaba dünya!!!");
sw.Close()
Soru 13
DirectoryInfo ve FileInfo sınıfları’nda dosya yolunun yanında hangi bilgiye ulaşılamaz?
Seçenekler
A
Dosya adı
B
Dosya boyutu
C
Dosya uzantısı
D
Dosya oluşturulma tarihi
E
Dosya ana kaynak bilgisi
Açıklama:
Detaylar için "DirectoryInfo ve FileInfo Sınıfları" başlığına bakınız.
DirectoryInfo ve FileInfo sınıflarının metotları static değildir, bu sınıflardan oluşturulan nesneler üzerinden erişilebilirler. Directory ve File sınıfları sadece klasör ve dosyalar üzerinde yaptıkları işlemler için dosya yolunu kullanırken, DirectoryInfo ve FileInfo sınıfları ise dosya yolunun yanında dosya adı, boyutu, uzantısı, oluşturulma tarihi gibi bilgileri de vermektedir.
DirectoryInfo ve FileInfo sınıflarının metotları static değildir, bu sınıflardan oluşturulan nesneler üzerinden erişilebilirler. Directory ve File sınıfları sadece klasör ve dosyalar üzerinde yaptıkları işlemler için dosya yolunu kullanırken, DirectoryInfo ve FileInfo sınıfları ise dosya yolunun yanında dosya adı, boyutu, uzantısı, oluşturulma tarihi gibi bilgileri de vermektedir.
Soru 14
“Kaynak klasörü içeriği ile birlikte hedef klasöre taşıma işlemi” aşağıdaki ifadelerin hangisi ile adlandırılmaktadır?
Seçenekler
A
Directory.CreateDirectory
B
Directory.Move
C
Directory.Delete
D
Directory.Exists
E
Directory.GetDirectories
Açıklama:
Detaylar için "Directory ve File Sınıfları" başlığına bakınız.
• Directory.CreateDirectory( dosyaYolu ): Parametre olarak verilen klasörü oluşturur.
• Directory.Move( kaynakKlasör, hedefKlasör ): Kaynak klasörü içeriği ile birlikte hedef klasöre taşır.
• Directory.Delete( klasör ): Parametre olarak verilen klasörü siler.
• bool sonuc = Directory.Exists( klasör ): Klasör oluşturma veya silme işlemlerinde kullanılır. Parametre olarak verilen klasörün olup olmadığını kontrol eder. Sonuca göre true/false değer döndüren
bir metottur.
• string[] klasorler = Directory.GetDirectories(klasör): Parametre olarak verilen klasörün alt klasörlerini veren metottur. Sonucu string dizisi olarak döndürür.
• Directory.CreateDirectory( dosyaYolu ): Parametre olarak verilen klasörü oluşturur.
• Directory.Move( kaynakKlasör, hedefKlasör ): Kaynak klasörü içeriği ile birlikte hedef klasöre taşır.
• Directory.Delete( klasör ): Parametre olarak verilen klasörü siler.
• bool sonuc = Directory.Exists( klasör ): Klasör oluşturma veya silme işlemlerinde kullanılır. Parametre olarak verilen klasörün olup olmadığını kontrol eder. Sonuca göre true/false değer döndüren
bir metottur.
• string[] klasorler = Directory.GetDirectories(klasör): Parametre olarak verilen klasörün alt klasörlerini veren metottur. Sonucu string dizisi olarak döndürür.
Soru 15
Console ekranında, yazı rengi ve yazının vurgu rengini tanımlada kullanılmak üzere sistemde tanımlı kaç renk bulunmaktadır?
Seçenekler
A
26
B
16
C
15
D
18
E
27
Açıklama:
Detaylar için "KONSOL (CONSOLE) İŞLEMLERİ" başlığına bakınız.
Console.BackgroundColor, Console.ForegroundColor: Console ekranında, yazı rengi ve yazının vurgu rengi sistemde tanımlı olan 16 renkten biri seçilerek tanımlanabilmektedir.
- ForegroundColor ile yazı rengi
- BackgroundColor ile de yazının vurgu rengi ayarlanır.
- Console.ResetColor() metodu ile renkler eski hâline döndürülür.
Console.BackgroundColor, Console.ForegroundColor: Console ekranında, yazı rengi ve yazının vurgu rengi sistemde tanımlı olan 16 renkten biri seçilerek tanımlanabilmektedir.
- ForegroundColor ile yazı rengi
- BackgroundColor ile de yazının vurgu rengi ayarlanır.
- Console.ResetColor() metodu ile renkler eski hâline döndürülür.
Soru 16
Aşağıdakilerden hangisi bugün tüm dünyada kullanılan Sanal Özel Ağ ifadesinin kısaltmasıdır?
Seçenekler
A
VPN
B
SSL
C
FTP
D
APY
E
YPN
Açıklama:
Detaylar için "ELEKTRONİK ORTAMDA BELGELERİN GÜVENLİ PAYLAŞIMI; ÜLKE UYGULAMALARI VE ÜLKEMİZ İÇİN ÖNERİLER" başlığına bakınız.
Bu çerçevede e-belgenin, e-ortamda paylaşımı için bugün dünyada; Sanal Özel Ağ (VPN), Güvenli Yuva Katmanı (SSL), Kiralık Hat, Dosya Aktarım Protokolü (FTP) ve e-Posta gibi yöntemler yaygın olarak kullanılmaktadır. Ancak söz konusu yöntemler güvenli e-belge paylaşımına ilişkin çeşitli kriterleri sağlamaları açısından farklılaşmaktadır.
Bu çerçevede e-belgenin, e-ortamda paylaşımı için bugün dünyada; Sanal Özel Ağ (VPN), Güvenli Yuva Katmanı (SSL), Kiralık Hat, Dosya Aktarım Protokolü (FTP) ve e-Posta gibi yöntemler yaygın olarak kullanılmaktadır. Ancak söz konusu yöntemler güvenli e-belge paylaşımına ilişkin çeşitli kriterleri sağlamaları açısından farklılaşmaktadır.
Soru 17
I. Programların çalışması sırasında gerekli ayarların tutulduğu yerler dosyalardır.
II. Genellikle “.ini” uzantısına sahip olurlar.
III. Kullanıcıya düzenleme izni vererek daha esnek bir yapı oluştururlar.
IV. Dosyaların kullanımı, sadece gördüğümüz alanlarla sınırlı değildir.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
II. Genellikle “.ini” uzantısına sahip olurlar.
III. Kullanıcıya düzenleme izni vererek daha esnek bir yapı oluştururlar.
IV. Dosyaların kullanımı, sadece gördüğümüz alanlarla sınırlı değildir.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
Seçenekler
A
Yalnız I
B
Yalnız II
C
Yalnız III
D
II, III ve IV
E
I, II, III ve IV
Açıklama:
Detaylar için "GİRİŞ" başlığına bakınız.
Programların çalışması sırasında gerekli ayarların tutulduğu yerler dosyalardır. Genellikle “.ini” uzantısına sahip olurlar. Kullanıcıya düzenleme izni vererek daha esnek bir yapı oluştururlar. Dosyaların kullanımı, sadece gördüğümüz alanlarla sınırlı değildir. Örnek olarak veri tabanı uygulamalarını verebiliriz. Veri tabanları, dosya işlemlerinin yavaşlığı ve boyut problemleri nedeniyle ortaya çıkmış uygulamalardır fakat arka planına baktığımızda içerisinde dosya işlemleri yapılmaktadır. Tabii bu dosya işlemleri için çeşitli optimizasyon ve sıralama algoritmaları kullanılmaktadır.
Programların çalışması sırasında gerekli ayarların tutulduğu yerler dosyalardır. Genellikle “.ini” uzantısına sahip olurlar. Kullanıcıya düzenleme izni vererek daha esnek bir yapı oluştururlar. Dosyaların kullanımı, sadece gördüğümüz alanlarla sınırlı değildir. Örnek olarak veri tabanı uygulamalarını verebiliriz. Veri tabanları, dosya işlemlerinin yavaşlığı ve boyut problemleri nedeniyle ortaya çıkmış uygulamalardır fakat arka planına baktığımızda içerisinde dosya işlemleri yapılmaktadır. Tabii bu dosya işlemleri için çeşitli optimizasyon ve sıralama algoritmaları kullanılmaktadır.
Soru 18
I. Windows Forms Application, programcıya kullanım kolaylığı sağlayarak hazır bileşenler sunan (form, textBox, radioButton, comboBox vs.) grafik arayüzüne sahip bir C# proje türüdür.
II. Console ise grafik arayüzü bulunmayan, girdi ve çıktıların siyah bir ekranda işlendiği kullanıcı arayüzüdür.
III. Hazır bileşenler Console yapısı içinde yoktur.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
II. Console ise grafik arayüzü bulunmayan, girdi ve çıktıların siyah bir ekranda işlendiği kullanıcı arayüzüdür.
III. Hazır bileşenler Console yapısı içinde yoktur.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
Seçenekler
A
Yalnız I
B
Yalnız II
C
Yalnız III
D
II ve III
E
I, II ve III
Açıklama:
Detaylar için "KONSOL (CONSOLE) İŞLEMLERİ" başlığına bakınız.
Windows Forms Application, programcıya kullanım kolaylığı sağlayarak hazır bileşenler sunan (form, textBox, radioButton, comboBox vs.) grafik arayüzüne sahip bir C# proje türüdür. Console ise 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 bu yapı içinde yoktur.
Windows Forms Application, programcıya kullanım kolaylığı sağlayarak hazır bileşenler sunan (form, textBox, radioButton, comboBox vs.) grafik arayüzüne sahip bir C# proje türüdür. Console ise 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 bu yapı içinde yoktur.
Soru 19
Console.SetWindowSize(x, y) ifadesi için hangi seçenek doğru değildir?
Seçenekler
A
Konsolun büyüklüğünü ayarlamaya yarayan bir metottur.
B
Ekran genişliğini ayarlamaya yarayan bir metottur.
C
İlk parametresi karakter olarak genişliğini gösterir.
D
İkinci parametresi satır olarak genisligi belirtmektedir.
E
Ekranda grafik çizimini sağlayan bir parametredir.
Açıklama:
Detaylar için "KONSOL (CONSOLE) İŞLEMLERİ" başlığına bakınız.
Console.SetWindowSize(x, y): Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metottur. İlk parametresi karakter olarak genişliği, ikinci parametre de satır olarak yüksekliği
belirtmektedir.
Console.SetWindowSize(x, y): Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metottur. İlk parametresi karakter olarak genişliği, ikinci parametre de satır olarak yüksekliği
belirtmektedir.
Soru 20
Aşağıdakilerden hangisi Consol üzerindeki imlecin konumunu verilen koordinatlara getirme işlemini tek başına yapan bir metottur?
Seçenekler
A
Console.SetCursorPosition(x, y)
B
Console.CursorRight
C
Console.CursorTop00
D
Console.CursorLeft(x, y)
E
Console.CursorTop(x, y)
Açıklama:
Detaylar için "KONSOL (CONSOLE) İŞLEMLERİ" başlığına bakınız.
Console.CursorLeft, Console.CursorTop: Konsol üzerindeki imlecin konumunu verilen koordinatlara getirmek için kullanılır. Aynı işlemi tek başına yapan başka bir metot da Console.SetCursorPosition(x, y)’dir.
Console.CursorLeft, Console.CursorTop: Konsol üzerindeki imlecin konumunu verilen koordinatlara getirmek için kullanılır. Aynı işlemi tek başına yapan başka bir metot da Console.SetCursorPosition(x, y)’dir.
Soru 21
Aşağıdakilerden hangisi .Net ortamında C# programlama dilinde System.IO kütüphanesi ile tanımlanan işlemlerden değildir?
Seçenekler
A
Ekrana bilgi yazdırma
B
Yazıcıdan çıktı alma
C
Klavyeden bilgi girişi
D
Dosya kaydetme
E
Bir sayının karesini alma
Açıklama:
E seçeneğinde yer alan “bir sayının karesini alma”, System.Math kütüphanesinin bir metodudur (Bölüm 4 s. 87). Diğer seçenekler System.IO kütüphanesinde yer alan işlevlerdir (Bölüm 5 s.113)
Soru 22
C# programlama dilinde System.IO kütüphanesinde yer alan FileStream sınıf şu şekilde kullanılır:
FileStream fs = new FileStream( dosya_yolu, dosyanın_açılma_şekli, dosyanın_kullanım_şekli );
Var olan bir dosyanın sonuna ekleme yapmak için, “dosyanın açılma şekli” parametresi olarak aşağıdakilerden hangisi kullanılmalıdır?
FileStream fs = new FileStream( dosya_yolu, dosyanın_açılma_şekli, dosyanın_kullanım_şekli );
Var olan bir dosyanın sonuna ekleme yapmak için, “dosyanın açılma şekli” parametresi olarak aşağıdakilerden hangisi kullanılmalıdır?
Seçenekler
A
Truncate
B
Append
C
OpenOrCreate
D
CreateNew
E
Create
Açıklama:
B seçeneğinde yer alan Append parametresi “Dosya yoksa oluşturur, varsa dosyanın sonuna ekleme yapmak için kullanılır.” (Bölüm 5 s.113)
Soru 23
C# programlama dilinde System.IO kütüphanesinde yer alan FileStream sınıfı şu şekilde kullanılır:
FileStream fs = new FileStream( dosya_yolu, dosyanın_açılma_şekli, dosyanın_kullanım_şekli);
Buna göre, dosyayı hem okumak hem de yazmak üzere açmak için, aşağıdakilerden hangisi doğrudur?
FileStream fs = new FileStream( dosya_yolu, dosyanın_açılma_şekli, dosyanın_kullanım_şekli);
Buna göre, dosyayı hem okumak hem de yazmak üzere açmak için, aşağıdakilerden hangisi doğrudur?
Seçenekler
A
dosyanın_açılma_şekli, ReadWrite
B
dosya_yolu, Read
C
dosyanın_kullanım_şekli, ReadWrite
D
dosyanın_açılma_şekli, Write
E
dosyanın_kullanım_şekli, Read
Açıklama:
C şıkkında yer aldığı şekli ile, bir dosyayı hem okumak hem de yazmak için açmak için “dosyanın_kullanım_şekli” parametresi ReadWrite olarak belirlenmelidir. (Bölüm 5 s.114)
Soru 24
Aşağıda, C# programlama dilinde System.IO kütüphanesinde yer alan FileStream sınıfı ve StreamWriter kullanılarak bir dosya işlemi yapan kod yer almaktadır. Bu kodla ilgili olarak aşağıdakilerden hangisi yanlıştır?
FileStream fs = new FileStream("c:\\tmp\\yeni_dosya.txt", FileMode.OpenOrCreate,FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Write("Bu benim ");
sw.WriteLine("ilk dosya işlemim. ");
sw.WriteLine("Merhaba dünya!!!");
sw.Close();
FileStream fs = new FileStream("c:\\tmp\\yeni_dosya.txt", FileMode.OpenOrCreate,FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Write("Bu benim ");
sw.WriteLine("ilk dosya işlemim. ");
sw.WriteLine("Merhaba dünya!!!");
sw.Close();
Seçenekler
A
Dosyanın içinde “!” işareti de içeren bir metin yer almaktadır.
B
Close() metodu kullanıldığında StreamWriter sınıfı ile oluşturulan nesne kapatılmıştır.
C
Close() metodu kullanıldığında Filestream sınıfı ile oluşturulan nesne açık kalmaya devam etmiştir.
D
C:\\tmp\\yeni_dosya.txt yolunda bir dosya olmaması halinde yeni bir dosya yaratılır.
E
C:\\tmp\\yeni_dosya.txt yolundaki dosyaya veri yazmak mümkündür.
Açıklama:
Soruda verilen kod Bölüm 5 S 114’te yer almaktadır. Burada belirtildiği üzere, StreamWriter metodu ile yaratılan bir nesne kapatıldığında, içerdiği Filestream parametresi ile ilişkili nesne de kapatılır. Buna göre sorunun cevabı C seçeneğidir.
Soru 25
Aşağıda C# programlama dilinde yer alan Console sınıfının Write() ve WriteLine() metotlarını kullanarak ekrana bir metin yazdıran bir kod parçası yer almaktadır. Bu kodun ekrana yazdığı metin kaç satırdan oluşmaktadır?
Console.WriteLine ("Ey Türk Gençliği, ");
Console.Write("Birinci vazifen, ");
Console.Write("Türk istiklalini, ");
Console.WriteLine("Türk cumhuriyetini, ");
Console.Write("ilelebet muhafaza ve müdafaa ");
Console.Write("etmektir.");
Console.WriteLine ("Ey Türk Gençliği, ");
Console.Write("Birinci vazifen, ");
Console.Write("Türk istiklalini, ");
Console.WriteLine("Türk cumhuriyetini, ");
Console.Write("ilelebet muhafaza ve müdafaa ");
Console.Write("etmektir.");
Seçenekler
A
3 satır
B
6 satır
C
1 satır
D
2 satır
E
5 satır
Açıklama:
“Konsol ekranına yazı yazdırabilmek için Console sınıfının Write() ve WriteLine() metotları kullanılmaktadır. Bu metotlar arasındaki tek fark, WriteLine’da yazının sonuna “\n” koyarak, sonraki yazının yeni bir satırda başlamasını sağlarken, Write metodu ise yeni satıra geçmeden aynı yerden yazdırmaya devam eder.” (Bölüm 5 s. 121) Bu tarife göre, A seçeneğinde yer aldığı üzere, soruda yer alan kod ekrana 3 satırdan oluşan bir çıktı verir.
Soru 26
Aşağıda yer alan değişken tanımlamaları kullanılarak C# programlama dilinde yer alan Console sınıfının WriteLine() metodu ile konsol ekranına yapılan yazdırma işlemlerinden hangisi diğerlerinden farklı bir sonuç verir?
double feet = 1;
double santimetre = feet * 30.48;
double feet = 1;
double santimetre = feet * 30.48;
Seçenekler
A
Console.WriteLine("{0} feet {1} santimetre eder", feet, santimetre);
B
Console.WriteLine($"{feet} feet {santimetre} santimetre eder");
C
Console.WriteLine(feet + " feet " + santimetre + " santimetre eder");
D
Console.WriteLine("{1} feet {0} santimetre eder", santimetre, feet);
E
Console.WriteLine("{0} santimetre {1} feet eder", santimetre, feet);
Açıklama:
Diğer seçenekler konsol ekranına “1 feet 30.48 santimetre eder” çıktısını verirken, E seçeneği “30.48 santimetre 1 feet eder” sonucunu verecektir. Sayfa 121’de örnek olarak verildiği üzere, String değişkenler “+” kullanılarak (concatenation), $ işareti ve/veya süslü parantezler kullanılarak (interpolation) birbiri ardınca eklenebilir.
Soru 27
C# programlama dilinde Console sınıfının WriteLine() metodu kullanılarak ekranda yüzde olarak biçimlendirilmiş şekilde “%16” ifadesini yazan kod parçası hangisidir?
Seçenekler
A
Console.Write("{0:P}", 0.16);
B
Console.Write("{0:P}", 16);
C
Console.Write("{0:F2}", 0.16);
D
Console.Write("{0:F2}", 16);
E
Console.Write("{0:F2}", 1.6);
Açıklama:
A seçeneğinde yer alan ifade yüzde biçimlendirme ifadesidir. Ondalık sayıları yüzde olarak biçimlendirir. B seçeneği %1600 sonucunu verir. C, D ve E seçeneklerinde yer alan F2 biçim parametresi, değerin iki ondalık basamak ile gösterileceğini belirtir. C seçeneği 0,16, D seçeneği 16,00, E seçeneği 1.60 sonucunu üretir.
Soru 28
C# programlama dilindeki Console sınıfının SetIn metodundan aşağıdaklerden hangisini yapmak için yararlanılır?
Seçenekler
A
Bir dosyada yer alan veriyi ekrana yazdırmak
B
Ekrandaki yazıların rengini belirlemek
C
İmlecin ekrandaki yerini belirlemek
D
Ekranda bir metnin belirmesini sağlamak
E
Ekrandaki her şeyi temizlemek
Açıklama:
B, C, D, ve E seçeneklerindeki işlemler sırası ile Console.ForegroundColor, Console.SetCursorPosition(x, y), Console.Write() ve Console.Clear() metodları ile gerçekleştirilir (s 127-129). Sayfa 122’de anlatıldığı üzere, dosyadaki bir veriyi ekrana yazdırmak üzere Console.SetIn komutunu içeren bir Input Stream yapısı oluşturulması gerekir. Buna göre A seçeneği doğrudur.
Soru 29
StreamWriter yerine BinaryWriter kullanılarak içine veri yazılmış bir dosya için hangisi doğrudur?
Seçenekler
A
Yazdırılan veriler string olmak zorundadır.
B
StreamReader metodu ile açılıp okunabilir.
C
Dosyaya text yöntemi ile kayıt yapar.
D
Dosya açıldığında okunamayan karakterler ile karşılaşılır.
E
FileStream metodu kullanılmadan veriler okunabilir.
Açıklama:
D seçeneği doğru seçenektir (s. 122) A şıkkındaki ifade hatalıdır çünkü BinaryWriter Write(int), Write(char[]), Write(byte) gibi metotlar içerir (s. 115) ve “string olma zorunluluğu olmadan her türlü veriyi” yazdırmak mümkündür. B seçeneği hatalıdır çünkü sayfa 116’daki örnekte de görüldüğü üzere BinaryWriter ile yazılan veriler BinaryReader ile okunmalıdır. StreamReader ile okunursa okunamayan karakterler ile karşılaşılır. C seçeneğinde belirtilenin aksine, BinaryWriter metodunun dosyaya text yöntemi yerine binary yöntemle kayıt yapar (s.115). E seçeneği yanlıştır, çünkü hem sayfa 116’da verilen örnekte görüldüğü üzere, hem de 122. Sayfada anlatıldığı üzere, Input Stream’ler arasında yönlendirme yaparak dosya okuma işlemleri gerçekleştirilir. Bu da FileStream metodunun kullanımını içerir.
Soru 30
Verilen bir hedef klasörün tüm alt klasörlerinde “.txt” uzantılı dosyaları listelemeye yarayan programın hangi metotları içermesi gerekir?
Seçenekler
A
Directory.Delete, File.Create, DirectoryInfo.GetFiles
B
DirectoryInfo.GetFiles, FileInfo.Extension, Directory.GetDirectories
C
Directory.CreateDirectory, File.Create, Console.WriteLine
D
StreamWriter.WriteLine, ConsoleWriteLine, BinaryReader
E
Directory.Exists, Directory.Move, File.Exists
Açıklama:
B seçeneğindeki Directory.GetDirectories ile hedef klasörün alt klasörleri listelenir. Alt klasörlerde yer alan dosyalar DirectoryInfo.GetFiles ile listelenir. FileInfo.Extension ile dosyaların uzantılarının ne olduğu bilgisine erişilir. Bu metotların özelliklerine S.116 - 119 arasında değinilmiştir. Diğer seçeneklerdeki metotlar kullanılarak soruda belirtilen işi yapan bir program üretilemez.
Soru 31
C# programlama dilinde dosya işlemleri ile ilgili çeşitli sınıfları içeren kütüphaneye ne ad verilir?
Seçenekler
A
System.IO
B
BinaryWriter
C
BinaryReader
D
DirectoryInfo
E
FileInfo
Açıklama:
C# programlama dilinde System.IO kütüphanesi, dosya işlemleri ile ilgili çeşitli sınıfları içermektedir. I/O (Input/Output) yani giriş/çıkış işlemlerinin yanında bilgisayarın çeşitli kaynaklarına erişim için kullanılan yolları simgeler.
Soru 32
Directory ve File sınıfları arasındaki en büyük fark nedir?
Seçenekler
A
Directory sınıfı klasörler üzerinde işlem yaparken; File sınıfı dosya işlemleri yapar.
B
Directory sınıfı ile string olma zorunluluğu olmadan her türlü veri yazdırıp okunabilirken; File sınıfında string olması zorunludur.
C
Directory sınıfı while döngüsünü kullanırken; File sınıfı buna ihtiyaç duymaz.
D
Directory sınıfı System.IO kütüphanesinde yer alırken; File sınıfı başka kütüphanededir.
E
Directory sınıfı string olma zorunluluğu taşımadan işlem yapma imkanı verirken; File sınıfı buna imkan tanımaz.
Açıklama:
Directory ve File sınıfları System.IO altında bulunur. Bu iki sınıfta da statik metotlar vardır ve birçok metotları benzerdir. Aralarındaki en büyük fark, Directory sınıfı klasörler üzerinde işlem yaparken File sınıfı da dosya işlemleri yapmaktadır.
Soru 33
Aşağıdakilerden hangisi kaynak klasörü içeriği ile birlikte hedef klasöre taşır?
Seçenekler
A
Directory.Move
B
Directory.Exists
C
Directory.GetDirectories
D
Directory.Delete
E
Directory.CreateDirectory
Açıklama:
Directory.Move( kaynakKlasör, hedefKlasör ): Kaynak klasörü içeriği ile birlikte hedef klasöre taşır.
Soru 34
I. Console.Out
II. Console.In
III. Console. Error
Yukarıdakilerden hangileri Console için tanımlanmış akımlar arasında yer alır?
II. Console.In
III. Console. Error
Yukarıdakilerden hangileri Console için tanımlanmış akımlar arasında yer alır?
Seçenekler
A
Yalnız I
B
Yalnız II
C
I ve II
D
II ve III
E
I, II ve III
Açıklama:
Console için tanımlanmış üç adet akım (stream) mevcuttur. Bunlar; TextWriter türünde
tanımlanmış Console.Out, Console.Error ve Console.In’dir. (Ek açıklama, Console.In TextReader türünde tanımlanmıştır)
tanımlanmış Console.Out, Console.Error ve Console.In’dir. (Ek açıklama, Console.In TextReader türünde tanımlanmıştır)
Soru 35
Grafik arayüzü bulunmayan, girdi ve çıktıların siyah bir ekranda işlendiği kullanıcı arayüze ne ad verilir?
Seçenekler
A
Console
B
String
C
IDE
D
Array
E
Matrix
Açıklama:
Windows Forms Application, programcıya kullanım kolaylığı sağlayarak hazır bileşenler sunan (form, textBox, radioButton, comboBox vs.) grafik arayüzüne sahip bir C# proje türüdür. Console ise 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 bu yapı içinde yoktur.
Soru 36
Aşağıdaki biçimlendirme türlerinden hangisi bilimsel gösterim için uygundur?
Seçenekler
A
Console.Write(“{0:E}”, 460000)
B
Console.Write("{0:F0}", 46)
C
Console.Write("{0:P}", 0.46)
D
Console.Write("{0:X}", 460)
E
Console.Write("{0:X}", 0xffff)
Açıklama:
Bilimsel gösterim için A seçeneği uygundur. Çıktısı "4.600000E+005" biçiminde olacaktır.
Soru 37
Evrensel tarih ve saat için aşağıdaki biçimlendirmelerden hangisi uygundur?
Seçenekler
A
Console.WriteLine("{0:u}", t)
B
Console.WriteLine("{0:d}", t)
C
Console.WriteLine("{0:D}", t)
D
Console.WriteLine("{0:t}", t)
E
Console.WriteLine("{0:T}", t)
Açıklama:
Evrensel tarih ve saat için, Console.WriteLine("{0:u}", t) yazım biçimi uygundur.
Soru 38
Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metot aşağıdakilerden hangisidir?
Seçenekler
A
Console.SetWindowSize
B
Console.CursorTop
C
Console.Clear
D
Console.BackgroundColor
E
radioButton
Açıklama:
Console.SetWindowSize(x, y): Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metottur. İlk parametresi karakter olarak genişliği, ikinci parametre de satır olarak yüksekliği belirtmektedir.
Soru 39
Aşağıdakilerden hangisi dosya yoksa oluşturur, varsa dosyanın sonuna ekleme yapmak kullanılır?
Seçenekler
A
Append
B
Create
C
CreateNew
D
OpenOrCreate
E
Truncate
Açıklama:
Append: Dosya yoksa oluşturur, varsa dosyanın sonuna ekleme yapmak için kullanılır.
Soru 40
Belirtilen dosya yolundaki dosyanın içeriğini silerek açmak için kullanılan komut aşağıdakilerden hangisidir?
Seçenekler
A
Truncate
B
OpenOrCreate
C
CreateNew
D
Append
E
Create
Açıklama:
Truncate: Belirtilen dosya yolundaki dosyanın içeriğini silerek açmak için kullanılır.
Soru 41
Yukarıdaki şekilde yer alan "50 satır ve 100 karakter" işlemi aşağıdaki console komutlarından hangisi ile yapılmaktadır?Seçenekler
A
Console.SetWindowSize(100, 50)
B
Console.CursorLeft(100, 50)
C
Console.CursorRight(100, 50)
D
Console.SetCursorPosition(50, 100)
E
Console.SetWindowSize(50, 100)
Açıklama:
Console.SetWindowSize(x, y): Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metottur. İlk parametresi karakter olarak genişliği, ikinci parametre de satır olarak yüksekliği
belirtmektedir.
Console.SetWindowSize(100, 50);
belirtmektedir.
Console.SetWindowSize(100, 50);
Soru 42
"Console.BackgroundColor, Console.ForegroundColor" ile ilgili olarak aşağıda verilen ifadelerden hangisi doğrudur?
Seçenekler
A
ForegroundColor ile ön planın rengi ayarlanır.
B
BackgroundColor ile yazının vurgu rengi ayarlanır.
C
Console.ResetColor() metodu ile yazının boyutu eski haline çevrilir.
D
Console.BackResetColor() metodu ile yazının rengi eski haline çevrilir.
E
Konsolun büyüklüğünü ayarlamaya yardımcı olur.
Açıklama:
Console.BackgroundColor, Console.ForegroundColor: Console ekranında, yazı rengi ve yazının
vurgu rengi sistemde tanımlı olan 16 renkten biri seçilerek tanımlanabilmektedir.
- ForegroundColor ile yazı rengi
- BackgroundColor ile de yazının vurgu rengi ayarlanır.
- Console.ResetColor() metodu ile renkler eski hâline döndürülür.
Console.SetWindowSize(x, y): Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metottur
vurgu rengi sistemde tanımlı olan 16 renkten biri seçilerek tanımlanabilmektedir.
- ForegroundColor ile yazı rengi
- BackgroundColor ile de yazının vurgu rengi ayarlanır.
- Console.ResetColor() metodu ile renkler eski hâline döndürülür.
Console.SetWindowSize(x, y): Konsolun büyüklüğünü yani ekran genişliğini ayarlamaya yarayan metottur
Ünite 6
Soru 1
Aşağıdakilerden hangisi C# programlama dilinde struct yapısının özelliklerinden biridir?
Seçenekler
A
Bellekte büyük yer işgal eden nesnelerin çok kullanılması durumunda kullanılır.
B
Değer tipi olduğu için null olmaktadır.
C
Başka sınıflardan kalıtıma izin verilmektedir.
D
Elemanlarının default değerleri private tanımlıdır.
E
Parametreli yapıcı metoda izin verilmektedir.
Açıklama:
Sınıflarda yapıcı (constructor) metotlar varken, struct yapılarında sadece ilk değer ataması yapılan,
parametreli yapıcı metoda izin verilmektedir.
parametreli yapıcı metoda izin verilmektedir.
Soru 2
Aşağıdakilerden hangisi C# programlama dilinde aynı sınıftaki veya o sınıftan türetilen bir sınıftaki kodların metoda veya üyelerine erişmesine izin veren erişim denetleyicisidir?
Seçenekler
A
public
B
private
C
internal
D
protected
E
protected internal
Açıklama:
Protected değiş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.
Soru 3
Aşağıdakilerden hangisi C# programlama dilinde bir metoda sadece tanımlandığı sınıf içerisinden erişimin olduğu erişim denetleyicisidir?
Seçenekler
A
private
B
public
C
internal
D
protected
E
protected internal
Açıklama:
C# dilinde, public tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de
erişilebileceği anlamı taşımaktadır.
private olarak tanımlanmış yapılara yalnızca içinde bulundukları sınıf tarafından erişilebilir.
erişilebileceği anlamı taşımaktadır.
private olarak tanımlanmış yapılara yalnızca içinde bulundukları sınıf tarafından erişilebilir.
Soru 4
SınıfAdı değişkenAdı = ..... SınıfAdı()
Yukarıdaki şablonda noktalı kısma C# dilinde hangi ifade gelir?
Yukarıdaki şablonda noktalı kısma C# dilinde hangi ifade gelir?
Seçenekler
A
new
B
class
C
string
D
struct
E
get
Açıklama:
SınıfAdı değişkenAdı = new SınıfAdı()
Soru 5
Aşağıdakilerden hangisi C# programlama dilinde nesne oluşturmak ve nesnenin varsayılan değerlerinin atanmasına imkân sağlamak için tasarlanmış özel metotlardır?
Seçenekler
A
Kopya yapıcı metotlar
B
Yapıcı metotlar
C
Yıkıcı metotlar
D
Değişken metotlar
E
Derleyici metotlar
Açıklama:
Yapıcılar, nesne oluşturmak ve nesnenin varsayılan değerlerinin atanmasına imkân sağlamak için tasarlanmış özel metotlardır.
Yapıcı metotlar
Yapıcı metotlar
Soru 6
Aşağıdakilerden hangisi C# programlama dilindeki erişim denetleyicilerinden biri değildir?
Seçenekler
A
public
B
private
C
internal
D
protected
E
external
Açıklama:
C# programlama dilinde erişim denetleyiciler şınlardır: public, private, internal, protected ve protected internal
external
external
Soru 7
Aşağıdakilerden hangisi C# programlama dilinde .Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlayan metottur?
Seçenekler
A
Denetleyici metot
B
Yapıcı metot
C
Genişletilebilir metot
D
Kopya yapıcı metot
E
Yıkıcı metot
Açıklama:
Kelime manası genişletilebilir metot anlamına gelen Extension metotlar, .Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlamaktadır.
Soru 8
- Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi
ile tanımlanabilir. - Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun
ilk parametresi olarak verilmelidir. - Static bir sınıf içerisinde static olarak tanımlanmalıdır.
Yukarıdaki kurallardan hangisi genişletilebilir metot yazarken uyulması gereken kural ya da kurallardır?
Seçenekler
A
I-II
B
I-III
C
II-III
D
I-II-III
E
Yalnız III
Açıklama:
Genişletilebilir metotları yazarken uyulması gereken birkaç kural bulunmaktadır. Bunlar;
• Static bir sınıf içerisinde static olarak tanımlanmalıdır.
• Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun
ilk parametresi olarak verilmelidir.
• Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
I-II-III
• Static bir sınıf içerisinde static olarak tanımlanmalıdır.
• Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun
ilk parametresi olarak verilmelidir.
• Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
I-II-III
Soru 9
Aşağıdakilerden hangisi C# programlama dilinde erişim denetleyicilerin amacıdır?
Seçenekler
A
Sınıftaki üyelerin sınıf, metot ve özellik gibi diğer kod bloklarına nasıl erişeceğinin kurallarını belirlemek
B
.Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlamak
C
Yeni bir sınıf oluşturmak
D
Nesnenin varsayılan değerlerinin atanmasına imkân sağlamak
E
Değişkenleri başka bir nesneden kopyalayarak bir nesne oluşturmak
Açıklama:
Erişim denetleyicilerin amacı, sınıftaki üyelerin sınıf, metot ve özellik gibi diğer kod bloklarına nasıl erişeceğinin kurallarını belirlemektir.
Soru 10
Aşağıdakilerden hangisi C# dilinde kütüphanelerin projeye dâhil edilmesi için sayfanın en başında kullanılan anahtar kelimedir?
Seçenekler
A
public
B
class
C
using
D
namespace
E
this
Açıklama:
Kütüphanelerin projeye dâhil edilmesi için sayfanın en başında “using” anahtar kelimesini kullanıyoruz.
Soru 11
C# programlama dilinde struct (yapı) ile class (sınıf ) yapıları oldukça benzer yapılar olmasına rağmen, struct yapıları……………… tipinde, sınıf yapıları ise ……………….tipindedir.
Cümlede boş bırakılan yerlere sırası ile hangi seçenek gelmelidir?
Cümlede boş bırakılan yerlere sırası ile hangi seçenek gelmelidir?
Seçenekler
A
Değer-Referans
B
Referans-Değer
C
Karakter-Numara
D
Değer-Köprü
E
Tanımlayıcı-Şablon
Açıklama:
Detaylar için "Struct (Yapı)" başlığına bakınız.
C# programlama dilinde struct (yapı) ile class (sınıf ) yapıları oldukça benzer yapılardır. Farkları, struct yapıları değer (value) tipinde, sınıf yapıları ise referans (reference) tipindedir.
C# programlama dilinde struct (yapı) ile class (sınıf ) yapıları oldukça benzer yapılardır. Farkları, struct yapıları değer (value) tipinde, sınıf yapıları ise referans (reference) tipindedir.
Soru 12
I. Sınıflarda yapıcı (constructor) metotlar varken, struct yapılarında sadece ilk değer ataması yapılan, parametreli yapıcı metoda izin verilmektedir.
II. Struct, değer tipi olduğu için sınıflar gibi null olamaz.
III. Sınıflar hem interface (arayüz) hem de başka sınıflardan kalıtıma izin verirken, struct yapısı sadece interface (arayüz) uygulayabilir, kalıtımı desteklemez.
IV. Struct elemanlarının default değerleri public tanımlıdır. Sınıf elemanlarının default değerleri ise private tanımlıdır.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
II. Struct, değer tipi olduğu için sınıflar gibi null olamaz.
III. Sınıflar hem interface (arayüz) hem de başka sınıflardan kalıtıma izin verirken, struct yapısı sadece interface (arayüz) uygulayabilir, kalıtımı desteklemez.
IV. Struct elemanlarının default değerleri public tanımlıdır. Sınıf elemanlarının default değerleri ise private tanımlıdır.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
Seçenekler
A
Yalnız I
B
Yalnız II
C
Yalnız III
D
II, III ve IV
E
I, II, III ve IV
Açıklama:
Detaylar için "Nesneye Yönelik Programlamaya Giriş" başlığına bakınız.
Struct ile sınıf arasındaki farklara değinecek olursak;
Sınıflarda yapıcı (constructor) metotlar varken, struct yapılarında sadece ilk değer ataması yapılan, parametreli yapıcı metoda izin verilmektedir.
Struct, değer tipi olduğu için sınıflar gibi null olamaz.
Sınıflar hem interface (arayüz) hem de başka sınıflardan kalıtıma izin verirken, struct yapısı sadece interface (arayüz) uygulayabilir, kalıtımı desteklemez.
Struct elemanlarının default değerleri public tanımlıdır. Sınıf elemanlarının default değerleri ise private tanımlıdır.
Bellekte büyük yer işgal etmeyen ve oluşturulan nesneler çok kullanılmayacak ise sınıf yerine struct kullanılabilir.
Struct ile sınıf arasındaki farklara değinecek olursak;
Sınıflarda yapıcı (constructor) metotlar varken, struct yapılarında sadece ilk değer ataması yapılan, parametreli yapıcı metoda izin verilmektedir.
Struct, değer tipi olduğu için sınıflar gibi null olamaz.
Sınıflar hem interface (arayüz) hem de başka sınıflardan kalıtıma izin verirken, struct yapısı sadece interface (arayüz) uygulayabilir, kalıtımı desteklemez.
Struct elemanlarının default değerleri public tanımlıdır. Sınıf elemanlarının default değerleri ise private tanımlıdır.
Bellekte büyük yer işgal etmeyen ve oluşturulan nesneler çok kullanılmayacak ise sınıf yerine struct kullanılabilir.
Soru 13
I. Kod yazılırken, bir değişken için bir tane değer atama (set) ve bir tane de değer okuma (get) metodu kullanılmaktadır.
II. Değişken sayısı fazla olan sınıflarda I. öncülde (yukarıda) ifade edilen durum kodun aşırı uzamasına neden olmaktadır.
III. Uzun kodlamaların okunabilirliği daha kolay olmaktadır.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
II. Değişken sayısı fazla olan sınıflarda I. öncülde (yukarıda) ifade edilen durum kodun aşırı uzamasına neden olmaktadır.
III. Uzun kodlamaların okunabilirliği daha kolay olmaktadır.
Yukarıdaki ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
Seçenekler
A
Yalnız I
B
Yalnız II
C
I ve II
D
II ve III
E
I,II ve III
Açıklama:
Detaylar için " Nesneye Yönelik Programlamaya Giriş" başlığına bakınız.
Hazırladığımız kodu incelediğimizde her bir değişken için bir tane değer atama (set) ve bir tane de değer okuma (get) metot yazıldığını görüyoruz.
Değişken sayısı fazla olan sınıflarda bu durum kodun aşırı uzaması, okunabilirliğin azalması ve hata takibinin zor olmasına sebep olacaktır.
C# 3.0 ile gelen bir özellik sayesinde, nesne veya koleksiyon örneği oluşturma ve tek bir deyim yardımıyla değer ataması sağlanmaktadır.
Kodu uzatmadan kullanım kolaylığı sağlayan bu özelliği inceleyelim;
Hazırladığımız kodu incelediğimizde her bir değişken için bir tane değer atama (set) ve bir tane de değer okuma (get) metot yazıldığını görüyoruz.
Değişken sayısı fazla olan sınıflarda bu durum kodun aşırı uzaması, okunabilirliğin azalması ve hata takibinin zor olmasına sebep olacaktır.
C# 3.0 ile gelen bir özellik sayesinde, nesne veya koleksiyon örneği oluşturma ve tek bir deyim yardımıyla değer ataması sağlanmaktadır.
Kodu uzatmadan kullanım kolaylığı sağlayan bu özelliği inceleyelim;
Soru 14
Aşağıdakilerden hangisi Yapıcı Metot için doğru bir ifade değildir?
Seçenekler
A
Nesne oluşturmak ve nesnenin varsayılan değerlerinin atanmasına imkân sağlamak için tasarlanmış özel metotlardır.
B
Bir sınıfa ait yeni bir nesne oluşturulmak istendiğinde, ilgili sınıfın yapıcı metodu çağrılarak yeni nesne bu metoda göre şekillendirilebilir.
C
Yapıcı metotlar parametre alan ve almayan şekilde dizayn edilebilir.
D
Yapıcı metotlar, kendi sınıfları ile aynı isme sahiptirler ve herhangi bir geri dönüş değeri içermezler.
E
Yapıcı metotlar, sınıf içerisinde tanımlanmadıysa bu sınıftan nesne oluşturulurken otomatik olarak çağrılamazlar.
Açıklama:
Detaylar için " Yapıcı (Constructor) Metotlar " başlığına bakınız.
Yapıcılar, nesne oluşturmak ve nesnenin varsayılan değerlerinin atanmasına imkân sağlamak için tasarlanmış özel metotlardır. Bir sınıfa ait yeni bir nesne (örnek, instance) oluşturulmak istendiğinde, ilgili sınıfın yapıcı metodu çağrılarak nesnemiz bu metoda göre şekillendirilir. Yani nesnenin oluşturulabilmesi için ihtiyaç duyulan tüm düzenlemeler burada yapılır.
Yapıcı metotlar parametre alan ve almayan şekilde dizayn edilebilir. Yapıcı metotlar, kendi sınıfları ile aynı isme sahiptirler ve herhangi bir geri dönüş değeri içermezler yani void de yazılmaz. Ayrıca yapıcı metotlar sınıf içerisinde tanımlanmadıysa bile bu sınıftan nesne oluşturulurken otomatik olarak çağırılırlar.
Yapıcılar, nesne oluşturmak ve nesnenin varsayılan değerlerinin atanmasına imkân sağlamak için tasarlanmış özel metotlardır. Bir sınıfa ait yeni bir nesne (örnek, instance) oluşturulmak istendiğinde, ilgili sınıfın yapıcı metodu çağrılarak nesnemiz bu metoda göre şekillendirilir. Yani nesnenin oluşturulabilmesi için ihtiyaç duyulan tüm düzenlemeler burada yapılır.
Yapıcı metotlar parametre alan ve almayan şekilde dizayn edilebilir. Yapıcı metotlar, kendi sınıfları ile aynı isme sahiptirler ve herhangi bir geri dönüş değeri içermezler yani void de yazılmaz. Ayrıca yapıcı metotlar sınıf içerisinde tanımlanmadıysa bile bu sınıftan nesne oluşturulurken otomatik olarak çağırılırlar.
Soru 15
Bir nesneden değişkenleri kopyalayarak yeni bir nesneye veya başka bir nesneye transfer eden yönteme…………….. denir.
Cümlede boş bırakılan yere hangi seçenek gelmelidir?
Cümlede boş bırakılan yere hangi seçenek gelmelidir?
Seçenekler
A
Kopya yapıcı metot
B
Taşıyıcı metot
C
Destek metot
D
İşlevsel metot
E
Geliştirici metot
Açıklama:
Detaylar için " Kopya Yapıcı metotlar" başlığına bakınız.
Kopya Yapıcı metotlar, değişkenleri başka bir nesneden kopyalayarak bir nesne oluşturan ya da bir nesnenin verilerini başka bir nesneye kopyalayan yapıcı metotlara verilen isimdir. Kopya yapıcı metodumuz aslında aynı sınıf tipinde bir parametre içeren parametreli bir yapıcıdır. Kopya yapıcı metodun kullanım amacı, mevcut bir nesnenin değerleri ile yeni bir nesne oluşturmaktır. C# programlama dili, nesneler için kopya yapıcı metot sağlamamaktadır; ancak programda bir kopya yapıcı metot hazırlanmak isteniyorsa,
ihtiyaca göre oluşturulabilir.
Kopya Yapıcı metotlar, değişkenleri başka bir nesneden kopyalayarak bir nesne oluşturan ya da bir nesnenin verilerini başka bir nesneye kopyalayan yapıcı metotlara verilen isimdir. Kopya yapıcı metodumuz aslında aynı sınıf tipinde bir parametre içeren parametreli bir yapıcıdır. Kopya yapıcı metodun kullanım amacı, mevcut bir nesnenin değerleri ile yeni bir nesne oluşturmaktır. C# programlama dili, nesneler için kopya yapıcı metot sağlamamaktadır; ancak programda bir kopya yapıcı metot hazırlanmak isteniyorsa,
ihtiyaca göre oluşturulabilir.
Soru 16
Erişim denetleyicilerden Public’in kullanım alanı ile ilgili aşağıdaki seçeneklerden hangisi doğrudur?
Seçenekler
A
Açık-erişilebilir anlamına gelmektedir.
B
Sadece tanımlandığı sınıf içerisinden erişim mümkündür.
C
Tanımlanan bir metoda aynı program içerisinden erişilebilir.
D
Kelime olarak korunan manasındadır.
E
Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir.
Açıklama:
Detaylar için "ERİŞİM DENETLEYİCİLERİ (ACCESS MODIFIERS)" başlığına bakınız.
C# programlama dilinde de diğer nesne yönelimli dillerde olduğu gibi, tüm üyelerin bir erişim seviyesi vardır. Tüm üyeler sınıflar içerisinde tanımlandığından, sınıflar ve bu sınıfa ait üyelere erişim kısıtlanabilir veya belirli düzeyde erişime izin verilebilir. Erişim denetleyicilerin amacı, sınıftaki üyelerin sınıf, metot ve özellik gibi diğer kod bloklarına nasıl erişeceğinin kurallarını belirlemektir. Erişim denetleyicilere, erişim belirleyicileri de denmektedir.
Erişim Denetleyici Kullanımı public public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. C# dilinde, public tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de erişilebileceği anlamı taşımaktadır. private Kelime anlamı olarak özel demektir. C# programlama dilinde, private olarak tanımlanan bir metoda sadece tanımlandığı sınıf içerisinden erişim mümkündür. Başka bir sınıf içinde bu sınıftan türetilen bir nesnenin yine bu metotlara erişim izni olmayacaktır. internal internal olarak tanımlanan bir metoda aynı program içerisinden erişilebilir fakat başka bir program ya da farklı bir katmandan erişim mümkün değildir. Program içinde herhangi bir kısıtlaması yoktur. protected protected kelime olarak korunan manasındadır. Protected değiş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. protected internal Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir. Bileşik bir belirteçtir. Bir üye, “protected internal” hariç diğer erişim belirleyicilerden sadece birini alabilir.
C# programlama dilinde de diğer nesne yönelimli dillerde olduğu gibi, tüm üyelerin bir erişim seviyesi vardır. Tüm üyeler sınıflar içerisinde tanımlandığından, sınıflar ve bu sınıfa ait üyelere erişim kısıtlanabilir veya belirli düzeyde erişime izin verilebilir. Erişim denetleyicilerin amacı, sınıftaki üyelerin sınıf, metot ve özellik gibi diğer kod bloklarına nasıl erişeceğinin kurallarını belirlemektir. Erişim denetleyicilere, erişim belirleyicileri de denmektedir.
Erişim Denetleyici Kullanımı public public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. C# dilinde, public tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de erişilebileceği anlamı taşımaktadır. private Kelime anlamı olarak özel demektir. C# programlama dilinde, private olarak tanımlanan bir metoda sadece tanımlandığı sınıf içerisinden erişim mümkündür. Başka bir sınıf içinde bu sınıftan türetilen bir nesnenin yine bu metotlara erişim izni olmayacaktır. internal internal olarak tanımlanan bir metoda aynı program içerisinden erişilebilir fakat başka bir program ya da farklı bir katmandan erişim mümkün değildir. Program içinde herhangi bir kısıtlaması yoktur. protected protected kelime olarak korunan manasındadır. Protected değiş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. protected internal Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir. Bileşik bir belirteçtir. Bir üye, “protected internal” hariç diğer erişim belirleyicilerden sadece birini alabilir.
Soru 17
Aşağıda yer alan seçeneklerden hangisi Genişletilebilir(Extension) metot ve kullanımı için doğru bir ifade değildir?
Seçenekler
A
.Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlamaktadır.
B
Sınıf yapılarını modifiye etmeden ilgili sınıf için “extension” metotlar eklememize imkân vermektedir.
C
Dinamik bir sınıf içerisinde dinamik olarak tanımlanmalıdır.
D
Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun ilk parametresi olarak verilmelidir.
E
Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
Açıklama:
Detaylar için "GENİŞLETİLEBİLİR (EXTENSION) METOTLAR" başlığına bakınız.
GENİŞLETİLEBİLİR (EXTENSION) METOTLAR
Kelime manası genişletilebilir metot anlamına gelen Extension metotlar, .Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlamaktadır. Sınıf yapılarını modifiye etmeden ilgili sınıf için “extension” metotlar eklememize imkân verir. Bu metotları yazarken uyulması gereken birkaç kural bulunmaktadır. Bunlar;
• Static bir sınıf içerisinde static olarak tanımlanmalıdır.
• Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun ilk parametresi olarak verilmelidir.
• Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
Daha anlaşılır olması için konuyu bir örnek üzerinde inceleyelim. Örneğimizde integer bir değer alan metodumuz, bu sayının asal olup olmadığını bize döndürsün.
GENİŞLETİLEBİLİR (EXTENSION) METOTLAR
Kelime manası genişletilebilir metot anlamına gelen Extension metotlar, .Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlamaktadır. Sınıf yapılarını modifiye etmeden ilgili sınıf için “extension” metotlar eklememize imkân verir. Bu metotları yazarken uyulması gereken birkaç kural bulunmaktadır. Bunlar;
• Static bir sınıf içerisinde static olarak tanımlanmalıdır.
• Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun ilk parametresi olarak verilmelidir.
• Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
Daha anlaşılır olması için konuyu bir örnek üzerinde inceleyelim. Örneğimizde integer bir değer alan metodumuz, bu sayının asal olup olmadığını bize döndürsün.
Soru 18
Kodun fazla dağınık olması ve bu nedenle kodun anlaşılabilirliğinin, okunabilirliğinin zorlaştığı kod yazma stiline ne ad verilir?
Seçenekler
A
Spagetti kod
B
Düz kod
C
Sarmal kod
D
Karışık kod
E
Lineer kod
Açıklama:
Detaylar için "GENİŞLETİLEBİLİR (EXTENSION) METOTLAR" başlığına bakınız.
Spagetti kod: genel bir tanım olarak kodun fazla dağınık olması, bu nedenle de kodun anlaşılabilirliğini, okunabilirliğini zorlaştıran bir kod yazma stilidir.
Spagetti kod: genel bir tanım olarak kodun fazla dağınık olması, bu nedenle de kodun anlaşılabilirliğini, okunabilirliğini zorlaştıran bir kod yazma stilidir.
Soru 19
Aşağıdakilerden hangisi günümüzde kullanılan en popüler Nesneye Dayalı Programlama dillerinden biri değildir?
Seçenekler
A
Java
B
Python
C
C ++
D
C#
E
PHS
Açıklama:
Detaylar için "GENİŞLETİLEBİLİR (EXTENSION) METOTLAR" başlığına bakınız.
Simula, nesneye dayalı ilk programlama dili sayılır. Java, Python, C ++, C#, PHP programlama dilleri günümüzde en popüler Nesneye Dayalı Programlama dilleridir.
Simula, nesneye dayalı ilk programlama dili sayılır. Java, Python, C ++, C#, PHP programlama dilleri günümüzde en popüler Nesneye Dayalı Programlama dilleridir.
Soru 20
I. Nesnenin artık kullanılmayacağı zaman çağrılırlar.
II. Bellekte yer açılmasını sağlarlar.
III. Başına tilda “~” işareti alan yıkıcı metotlar, parametre alamaz ve geri değer döndüremezler.
Yukarıda yer alan Yıkıcı metotlar ile ilgili ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
II. Bellekte yer açılmasını sağlarlar.
III. Başına tilda “~” işareti alan yıkıcı metotlar, parametre alamaz ve geri değer döndüremezler.
Yukarıda yer alan Yıkıcı metotlar ile ilgili ifadelerden hangisi ya da hangileri doğru olarak verilmiştir?
Seçenekler
A
Yalnız I
B
Yalnız II
C
Yalnız III
D
II ve III
E
I, II ve III
Açıklama:
Detaylar için "Yıkıcı (Destructors) Metotlar" başlığına bakınız.
Yıkıcı (Destructors) Metotlar
Yıkıcı metotlar, nesneye artık ihtiyacın olmadığı durumlarda çalışan metotlardır. Yıkıcı metotlar da tıpkı yapıcı metotlar gibi otomatik olarak çağrılırlar. Yapıcı metotlar nesne oluşturulurken çağrılır, yıkıcı metotlar ise nesne bellekten silinirken çağrılır.
Yapıcı metotlara benzer şekilde yıkıcı metotların da isimleri sınıf ismi ile aynı olmak zorundadır; yalnız bir farkla: yıkıcı metot isminin başına tilda “~” işareti alır. Yıkıcı metotlar parametre alamaz ve geri değer döndüremezler. Parametre alamadıkları için de birden fazla tanımlanma şansı da yoktur. Yapıcı metotlara benzer şekilde, yıkıcı metotları da tanımlamak zorunda değiliz. Tanımlanmadığı zaman yıkıcı metot arka planda otomatik olarak çağrılmaktadır; dışarıdan çağrılamaz.
Yıkıcı (Destructors) Metotlar
Yıkıcı metotlar, nesneye artık ihtiyacın olmadığı durumlarda çalışan metotlardır. Yıkıcı metotlar da tıpkı yapıcı metotlar gibi otomatik olarak çağrılırlar. Yapıcı metotlar nesne oluşturulurken çağrılır, yıkıcı metotlar ise nesne bellekten silinirken çağrılır.
Yapıcı metotlara benzer şekilde yıkıcı metotların da isimleri sınıf ismi ile aynı olmak zorundadır; yalnız bir farkla: yıkıcı metot isminin başına tilda “~” işareti alır. Yıkıcı metotlar parametre alamaz ve geri değer döndüremezler. Parametre alamadıkları için de birden fazla tanımlanma şansı da yoktur. Yapıcı metotlara benzer şekilde, yıkıcı metotları da tanımlamak zorunda değiliz. Tanımlanmadığı zaman yıkıcı metot arka planda otomatik olarak çağrılmaktadır; dışarıdan çağrılamaz.
Soru 21
- Referans tipindedir.
- Oluşturulan nesne boş olamaz.
- Değişken ve metot içerir.
Seçenekler
A
Yalnız I
B
I-II
C
II-III
D
I-III
E
I-II-III
Açıklama:
Struct yapıları değer (value) tipinde, sınıf yapıları ise referans (reference) tipindedir. Hafızada tutuldukları yerler farklıdır. Bu yüzden sınıf tipinde oluşturulan bir nesne boş olabilir fakat struct tipinde oluşturulan nesne boş olamaz. Struct yapıları da değişken ve metot içerebilirler.
II-III
II-III
Soru 22
Aşağıdakilerden hangisi struct ile sınıf arasındaki farklardan biri değildir?
Seçenekler
A
Struct, değer tipi olduğu için sınıflar gibi null olamaz.
B
Sınıf elemanlarının default değerleri public tanımlıdır.
C
Struct yapılarında parametreli yapıcı metoda izin verilir.
D
Sınıflarda yapıcı metotlar vardır.
E
Struct yapısı sadece interface (arayüz) uygulayabilir.
Açıklama:
Struct elemanlarının default değerleri public tanımlıdır. Sınıf elemanlarının default değerleri ise
private tanımlıdır.
Sınıf elemanlarının default değerleri private tanımlıdır.
private tanımlıdır.
Sınıf elemanlarının default değerleri private tanımlıdır.
Soru 23
Aşağıdakilerden hangisi C# programlama dilinde sınıflarda tanımı yapılmış değişkenlere anlamlı bir şekilde değer atanabildiği ve sınıfın sahip olduğu metotları kullanabilen bir yapıdır?
Seçenekler
A
Struct
B
Sınıf
C
Nesne
D
Alan
E
Arayüz
Açıklama:
Nesneler, sınıflarda tanımı yapılmış değişkenlere anlamlı bir şekilde değer atanabildiği ve sınıfın sahip olduğu metotları kullanabilen bir yapıdır.
Soru 24
........ Personel
{
string isim ;
string soyisim ;
int dogumYili;
string cinsiyet ;
string meslek ;
string ehliyet = "B" ;
}
Yukarıda boş bırakılan yerlere C# programlama dilinde aşağıdaki ifadelerden hangisi gelir?
{
string isim ;
string soyisim ;
int dogumYili;
string cinsiyet ;
string meslek ;
string ehliyet = "B" ;
}
Yukarıda boş bırakılan yerlere C# programlama dilinde aşağıdaki ifadelerden hangisi gelir?
Seçenekler
A
class
B
struct
C
new
D
public class
E
namespace
Açıklama:
class Personel
{
string isim ;
string soyisim ;
int dogumYili;
string cinsiyet ;
string meslek ;
string ehliyet = "B" ;
}
Kod yapısına bakıldığında sınıf şablonuna uyduğu görülmektedir. Dolayısıyla boş bırakılan yere class ifadesi gelmelidir.
{
string isim ;
string soyisim ;
int dogumYili;
string cinsiyet ;
string meslek ;
string ehliyet = "B" ;
}
Kod yapısına bakıldığında sınıf şablonuna uyduğu görülmektedir. Dolayısıyla boş bırakılan yere class ifadesi gelmelidir.
Soru 25
- Kendi sınıfları ile aynı isme sahiptirler.
- Herhangi bir geri dönüş değeri içermezler.
- Alanlara erişimi yoktur.
Yukarıda yapıcı metotlar ile ilgili ifadelerden hangisi/hangileri doğrudur?
Seçenekler
A
Yalnız I
B
I-II
C
I-III
D
II-III
E
I-II-III
Açıklama:
Yapıcılar, nesne oluşturmak ve nesnenin varsayılan değerlerinin atanmasına imkân sağlamak için tasarlanmış özel metotlardır. Bir sınıfa ait yeni bir nesne (örnek, instance) oluşturulmak istendiğinde, ilgili
sınıfın yapıcı metodu çağrılarak nesnemiz bu metoda göre şekillendirilir. Yani nesnenin oluşturulabilmesi
için ihtiyaç duyulan tüm düzenlemeler burada yapılır.
Yapıcı metotlar parametre alan ve almayan şekilde dizayn edilebilir. Yapıcı metotlar, kendi sınıfları ile
aynı isme sahiptirler ve herhangi bir geri dönüş değeri içermezler yani void de yazılmaz. Ayrıca yapıcı metotlar sınıf içerisinde tanımlanmadıysa bile bu sınıftan nesne oluşturulurken otomatik olarak çağırılırlar.
Bu metotlara ayrıca kurucu metot da denmektedir.
Bu değişkenlere (field) değer atarken ya da değerlerini okurken tanımlanan bu özellikleri kullanırız. Bu
özelliklere ihtiyaca göre kontroller koyabilir ve güncelleyebiliriz. Sınıftan üretilmiş nesnelerin bu özelliklere
doğrudan erişimleri vardır fakat alanlara erişimi yoktur ve olmamalıdır. Aksi durumda, bu alanların değerlerine istenmeyen değer atamaları yapılarak kodda hata oluşmasına neden olacaktır.
sınıfın yapıcı metodu çağrılarak nesnemiz bu metoda göre şekillendirilir. Yani nesnenin oluşturulabilmesi
için ihtiyaç duyulan tüm düzenlemeler burada yapılır.
Yapıcı metotlar parametre alan ve almayan şekilde dizayn edilebilir. Yapıcı metotlar, kendi sınıfları ile
aynı isme sahiptirler ve herhangi bir geri dönüş değeri içermezler yani void de yazılmaz. Ayrıca yapıcı metotlar sınıf içerisinde tanımlanmadıysa bile bu sınıftan nesne oluşturulurken otomatik olarak çağırılırlar.
Bu metotlara ayrıca kurucu metot da denmektedir.
Bu değişkenlere (field) değer atarken ya da değerlerini okurken tanımlanan bu özellikleri kullanırız. Bu
özelliklere ihtiyaca göre kontroller koyabilir ve güncelleyebiliriz. Sınıftan üretilmiş nesnelerin bu özelliklere
doğrudan erişimleri vardır fakat alanlara erişimi yoktur ve olmamalıdır. Aksi durumda, bu alanların değerlerine istenmeyen değer atamaları yapılarak kodda hata oluşmasına neden olacaktır.
Soru 26
Aşağıdakilerden hangisi C# programlama dilinde mevcut bir nesnenin değerleri ile yeni bir nesne oluşturmak için kullanılan metottur?
Seçenekler
A
this Anahtar Kelimesi
B
İsim Alanı
C
Nesne Başlatıcı
D
Yapıcı Metot
E
Kopya Yapıcı Metot
Açıklama:
Kopya yapıcı metodun kullanım amacı, mevcut bir nesnenin değerleri ile yeni bir nesne oluşturmaktır.
Kopya Yapıcı Metot
Kopya Yapıcı Metot
Soru 27
Aşağıdakilerden hangisi C# programlama dilinde aynı sınıftaki veya o sınıftan türetilen bir sınıftaki kodların metoda veya üyelerine erişmesine izin veren erişim denetleyicidir?
Seçenekler
A
public
B
private
C
internal
D
protected
E
protected internal
Açıklama:
Protected değiş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.
Soru 28
- Static bir sınıf içerisinde static olarak tanımlanır.
- .Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlar.
- Birden fazla parametre alabilir.
Seçenekler
A
Yalnız II
B
I-II
C
II-III
D
I-III
E
I-II-III
Açıklama:
Kelime manası genişletilebilir metot anlamına gelen Extension metotlar, .Net içerisinde bulunan sınıflara yeni metotlar eklenebilmesini sağlamaktadır. Sınıf yapılarını modifiye etmeden ilgili sınıf için “extension” metotlar eklememize imkân verir. Bu metotları yazarken uyulması gereken birkaç kural bulunmaktadır. Bunlar;
• Static bir sınıf içerisinde static olarak tanımlanmalıdır.
• Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun
ilk parametresi olarak verilmelidir.
• Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
I-II-III
• Static bir sınıf içerisinde static olarak tanımlanmalıdır.
• Genişletilecek sınıf, ilgili extension metoduna önünde “this” anahtar kelimesi eklenerek metodun
ilk parametresi olarak verilmelidir.
• Extension metodu birden fazla parametre alabilir, ama sadece bir parametre “this” anahtar kelimesi ile tanımlanabilir.
I-II-III
Soru 29
- Internal, açık-erişilebilir anlamına gelmektedir.
- Private denetleyicisinin program içinde herhangi bir kısıtlaması yoktur.
- Protected internal denetleyicisine aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir.
Yukarıda erişim denetleyiciler ile ilgili ifadelerden hangisi/hangileri doğrudur?
Seçenekler
A
Yalnız I
B
Yalnız II
C
Yalnız III
D
II ve III
E
I ve III
Açıklama:
Public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. Internal denetleyicisinin, program içinde herhangi bir kısıtlaması yoktur. Protected internal denetleyicisine aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir.
Yalnız III
Yalnız III
Soru 30
Aşağıdakilerden hangisi C# programlama dilinde erişim denetleyicilerden biri değildir?
Seçenekler
A
public
B
private
C
internal
D
protected
E
String
Açıklama:
String, C# programlama dilinde erişim denetleyicilerden biri değildir.
Ünite 7
Soru 1
Aşağıdakilerden hangisi, bir sınıfın sahip olduğu özellikkleri ve davranışları, farklı özellik ve davranışlar gösteren yenı sınıflar tanımlamak için kullanmayı doğru olarak ifade eder?
Seçenekler
A
miras alma
B
nesne yönelimli programlama
C
farklı dosya
D
birleştirme
E
kapsülleme
Açıklama:
Miras alma, bir sınıfın sahip olduğu özellikkleri ve davranışları, farklı özellik ve davranışlar gösteren yenı sınıflar tanımlamak için kullanmayı doğru olarak ifade eder
Soru 2
Generic sınıflarda kısıtlama koymak istediğimiz durumlarda aşağıdakilerden hangi anahtar kelime kullanılır?
Seçenekler
A
main
B
where
C
for
D
class
E
public
Açıklama:
Generic sınıflarda kısıtlama koymak istediğimiz durumlarda where anahtar kelimesi kullanılır
Soru 3
C# programlama dilinde kalıtımın yapılabilmesi için uyulması gereken aşağıdaki kurallardan hangisi doğrudur?
Seçenekler
A
türetilen sınıf, temel sınıfın varsayılan yapıcı (constructor) metotları devralabilir
B
türetilen sınıf, temel sınıfın varsayılan yıkıcı (destructor) metotları devralabilir
C
türetilen sınıflar, aynı anda sadece bir sınıftan türetilebilir.
D
private erişim belirleyicisine sahip üyelere türetilen sınıftan erişilebilir
E
C# programlama dilinde çoklu kalıtım özelliği desteklenmektedir.
Açıklama:
türetilen sınıflar, aynı anda sadece bir sınıftan türetilebilir.
Soru 4
C# programlama dilinde bir sınıf, en fazla kaç sınıftan türeyebilir?
Seçenekler
A
4
B
3
C
2
D
1
E
5
Açıklama:
C# programlama dilinde bir sınıf, en fazla 1 sınıftan türeyebilir
Soru 5
Aşağıdakilerden hangisi kalıtım yoluyla aktarılmaz, sadece tanımlandıkları sınıf içerisinden erişilebilir?
Seçenekler
A
main
B
internal
C
protected
D
public
E
private
Açıklama:
Private, kalıtım yoluyla aktarılamaz, ancak sadece kendisinden türetilen sınıflardan erişilebilir.
Soru 6
Bir sistem, belli bir nesne olmadan çalışamıyorsa aşağıdakilerden hangisini söyleyebiliriz?
Seçenekler
A
nesneye sıkı bağlı
B
nesneye gevşek bağlı
C
private
D
public
E
arayüz
Açıklama:
Bir sistem, belli bir nesne olmadan çalışamıyorsa, nesneye sıkı bağlı durum olduğunu söyleyebiliriz.
Soru 7
Aşağıdakilerden hangisinde alt sınıfların yaşam döngüsü, üst sınıfın yaşam döngüsüne bağlıdır?
Seçenekler
A
birleştirme
B
kompozisyon
C
private
D
class
E
generics
Açıklama:
Kompozisyonda, alt sınıfların yaşam döngüsü, üst sınıfın yaşam döngüsüne bağlıdır
Soru 8
Dış dünyaya sadece public arayüz ile tanımlı olan üyelerin servis edilmesini aşağıdakilerden hangisi doğru olarak tanımlar?
Seçenekler
A
generics
B
kompozisyon
C
kapsülleme
D
birleştirme
E
class
Açıklama:
Dış dünyaya sadece public arayüz ile tanımlı olan üyelerin servis edilmesini kapsülleme doğru olarak tanımlar.
Soru 9
Sistem içinde belirli nesnelere ihtiyaç duyulmayan sınıf bağımlılık yapısı aşağıdakilerden hangisidir?
Seçenekler
A
private
B
class
C
main
D
gevşek bağlı
E
sıkı bağlı
Açıklama:
Gevşek bağlı yapı, sistem içinde belirli nesnelere ihtiyaç duyulmayan sınıf bağımlılık yapısıdır.
Soru 10
Generic ifadelerin gösterilmesi genellikle aşağıdakilerden hangi şekilde olmaktadır?
Seçenekler
A
int
B
string
C
void
D
class
E
T
Açıklama:
Generic ifadelerin gösterilmesi için genellikle "T" kullanılmaktadir.
Soru 11
Aşağıdaki seçeneklerden hangisi bir erişim denetleyicisi değildir?
Seçenekler
A
Public
B
Inherited
C
Private
D
Protected
E
Internal
Açıklama:
Erişim denetleyicileri, bir sınıftaki metot ve özellikler gibi tüm üyelere olan erişimin sınırlarını belirleyen anahtar kelimelerdir. Temel sınıftan türetilmiş sınıf, temel sınıfın sahip olduğu değişken ve metotları sanki kendi içerisinde tanımlanmış gibi kullanabilir. Yalnız, temel sınıfın erişim denetleyicileri “public” ve “protected” olarak tanımlanan elemanları türetilmiş sınıfa kalıtım yoluyla aktarılırken “private” olan elemanlar kalıtım yoluyla aktarılmaz.
• Public: Kalıtım ile aktarılır, her yerden erişilebilir.
• Private: Kalıtım ile aktarılmaz, sadece tanımlandıkları sınıf içerisinden erişilebilir.
• Protected: Kalıtım ile aktarılır, tanımlandıkları ve kendisinden türetilen sınıflardan erişilebilir.
• Internal: Kalıtım ile aktarılır, sadece bulunduğu projede erişilebilir
public
public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. C# dilinde, public
tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de
erişilebileceği anlamı taşımaktadır.
private
Kelime anlamı olarak özel demektir. C# programlama dilinde, private olarak
tanımlanan bir metoda sadece tanımlandığı sınıf içerisinden erişim mümkündür.
Başka bir sınıf içinde bu sınıftan türetilen bir nesnenin yine bu metotlara erişim izni
olmayacaktır.
internal
internal olarak tanımlanan bir metoda aynı program içerisinden erişilebilir fakat
başka bir program ya da farklı bir katmandan erişim mümkün değildir. Program
içinde herhangi bir kısıtlaması yoktur.
protected
protected kelime olarak korunan manasındadır. Protected değiş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.
protected internal Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir. Bileşik bir belirteçtir.
Bir üye, “protected internal” hariç diğer erişim belirleyicilerden sadece birini alabilir.
• Public: Kalıtım ile aktarılır, her yerden erişilebilir.
• Private: Kalıtım ile aktarılmaz, sadece tanımlandıkları sınıf içerisinden erişilebilir.
• Protected: Kalıtım ile aktarılır, tanımlandıkları ve kendisinden türetilen sınıflardan erişilebilir.
• Internal: Kalıtım ile aktarılır, sadece bulunduğu projede erişilebilir
public
public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. C# dilinde, public
tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de
erişilebileceği anlamı taşımaktadır.
private
Kelime anlamı olarak özel demektir. C# programlama dilinde, private olarak
tanımlanan bir metoda sadece tanımlandığı sınıf içerisinden erişim mümkündür.
Başka bir sınıf içinde bu sınıftan türetilen bir nesnenin yine bu metotlara erişim izni
olmayacaktır.
internal
internal olarak tanımlanan bir metoda aynı program içerisinden erişilebilir fakat
başka bir program ya da farklı bir katmandan erişim mümkün değildir. Program
içinde herhangi bir kısıtlaması yoktur.
protected
protected kelime olarak korunan manasındadır. Protected değiş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.
protected internal Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir. Bileşik bir belirteçtir.
Bir üye, “protected internal” hariç diğer erişim belirleyicilerden sadece birini alabilir.
Soru 12
Aşağıdaki kod çalıştığında çıktı ne olmalıdır?


Seçenekler
A
Merhaba
Merhaba C1
Merhaba C1 C2
Merhaba C1 C2
Merhaba C1
Merhaba C1 C2
Merhaba C1 C2
B
Merhaba
Merhaba C1
Merhaba C1 C2
Merhaba C1
Merhaba C1 C2
C
Merhaba
Merhaba C1
Merhaba C1 C2
Merhaba C1 C2 C1 C2
Merhaba C1 C2 C1 C2
Merhaba C1
Merhaba C1 C2
Merhaba C1 C2 C1 C2
Merhaba C1 C2 C1 C2
D
Merhaba
Merhaba C1
Merhaba C1 C1
Merhaba C1 C1 C1 C2
Merhaba C1 C1 C1 C2
Merhaba C1
Merhaba C1 C1
Merhaba C1 C1 C1 C2
Merhaba C1 C1 C1 C2
E
Merhaba
Merhaba C1
Merhaba C1 C1
Merhaba C1 C1 C2
Merhaba C1 C1 C2
Merhaba C1
Merhaba C1 C1
Merhaba C1 C1 C2
Merhaba C1 C1 C2
Açıklama:
Sınıflar kalıtım ile türetilirken temel sınıfın tüm değişken ve metotları da türetilen sınıfta erişim yetkileri çerçevesinde kullanılabilir. Burada aklımıza şöyle bir soru gelebilir: Türeyen sınıftan üretilen yeni bir nesne için kendi sınıfının yapıcı (constructor) metodu çağrılır. Peki, türetildiği sınıfın yapıcı metodu da çağrılır mı? Bu soruya verilecek cevap evettir, türetildiği sınıfın da yapıcı metodu çağrılır. Bunun yanında, temel sınıf olduğu için ilk önce sınıfın türetildiği temel sınıfın yapıcı metodu çağrılır.
Doğru yanıt E seçeneğinde verilmiştir.
Doğru yanıt E seçeneğinde verilmiştir.
Soru 13
Aşağıdaki kod çalıştırıldığında çıktıda 10 20 görebilmemiz için "cikti()" fonksiyonunun içerisine aşağıdaki kodlardan hangisini eklememiz gerekir?
class BaseClass
{
protected int i = 20;
}
class Derived : BaseClass
{
int i = 10;
public void cikti()
{
// [*** Kodu buraya yazın ***]
}
}
class BaseClass
{
protected int i = 20;
}
class Derived : BaseClass
{
int i = 10;
public void cikti()
{
// [*** Kodu buraya yazın ***]
}
}
Seçenekler
A
Console.WriteLine(base.i + " " + i);
B
Console.WriteLine(i + " " + base.i);
C
Console.WriteLine(BaseClass.i + " " + i);
D
Console.WriteLine(i + " " + base);
E
Console.WriteLine(i + " " + this.i);
Açıklama:
Temel sınıfın metotlarına ulaşabilmek için “base” anahtar kelimesi kullanılır. O yüzden B doğru seçenektir.
Doğru yanıt B seçeneğinde verilmiştir.
Doğru yanıt B seçeneğinde verilmiştir.
Soru 14
Private ve Public hangi nesne tabanlı programlama kavramı ile doğrudan ilgilidir?
Seçenekler
A
Polymorphism (Çok biçimlilik)
B
Encapsulation (Kapsülleme)
C
Generics
D
Inheritance (Miraslama)
E
Abstraction (Soyutlama)
Açıklama:
Kapsülleme, nesne yönelimli programlamanın önemli kavramlarından biridir. Bir 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 bölüme yerleştirilir. Dış dünyaya sadece public arayüzü ile tanımlı olan üyelerin servis edilmesi şeklinde tanımlanabilir. Public
tanımlı üyeler içinde de private tanımlı üyeler ile ilgili işlemler yapılabilir
Doğru yanıt B seçeneğinde gösterilmiştir.
tanımlı üyeler içinde de private tanımlı üyeler ile ilgili işlemler yapılabilir
Doğru yanıt B seçeneğinde gösterilmiştir.
Soru 15
Bir kalıtım zincirinde, aşağıdaki temel sınıf üyelerinden hangisi türetilmiş sınıf üyeleri tarafından erişilebilir?
1. static
2. protected
3. private
4. shared
5. public
1. static
2. protected
3. private
4. shared
5. public
Seçenekler
A
1,3
B
2,5
C
3,4
D
3,5
E
1,5
Açıklama:
• public erişim belirleyicisine sahip üyelere türetilmiş sınıflardan ve bu sınıfların public olan ara yüzlerinden erişilebilir.
• private erişim belirleyicisine sahip üyelere türetilen sınıftan erişilemez. Sadece sınıfın kendi içinden ve iç içe tanımlı sınıflardan erişilebilir
• protected erişim belirleyicisine sahip üyelere sadece türetilmiş sınıflar içerisinden erişilebilir.
public
public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. C# dilinde, public
tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de
erişilebileceği anlamı taşımaktadır.
private
Kelime anlamı olarak özel demektir. C# programlama dilinde, private olarak
tanımlanan bir metoda sadece tanımlandığı sınıf içerisinden erişim mümkündür.
Başka bir sınıf içinde bu sınıftan türetilen bir nesnenin yine bu metotlara erişim izni
olmayacaktır.
internal
internal olarak tanımlanan bir metoda aynı program içerisinden erişilebilir fakat
başka bir program ya da farklı bir katmandan erişim mümkün değildir. Program
içinde herhangi bir kısıtlaması yoktur.
protected
protected kelime olarak korunan manasındadır. Protected değiş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.
protected internal Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir. Bileşik bir belirteçtir.
Bir üye, “protected internal” hariç diğer erişim belirleyicilerden sadece birini alabilir
• private erişim belirleyicisine sahip üyelere türetilen sınıftan erişilemez. Sadece sınıfın kendi içinden ve iç içe tanımlı sınıflardan erişilebilir
• protected erişim belirleyicisine sahip üyelere sadece türetilmiş sınıflar içerisinden erişilebilir.
public
public anahtar kelimesi, açık-erişilebilir anlamına gelmektedir. C# dilinde, public
tanımlanmış metotlara başka sınıflar içinden, hatta başka proje içinden de
erişilebileceği anlamı taşımaktadır.
private
Kelime anlamı olarak özel demektir. C# programlama dilinde, private olarak
tanımlanan bir metoda sadece tanımlandığı sınıf içerisinden erişim mümkündür.
Başka bir sınıf içinde bu sınıftan türetilen bir nesnenin yine bu metotlara erişim izni
olmayacaktır.
internal
internal olarak tanımlanan bir metoda aynı program içerisinden erişilebilir fakat
başka bir program ya da farklı bir katmandan erişim mümkün değildir. Program
içinde herhangi bir kısıtlaması yoktur.
protected
protected kelime olarak korunan manasındadır. Protected değiş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.
protected internal Aktif projeye ait sınıflardan ve bunların türevlerinden erişilebilir. Bileşik bir belirteçtir.
Bir üye, “protected internal” hariç diğer erişim belirleyicilerden sadece birini alabilir
Soru 16
Çoklu kalıtım (birden fazla sınıf) yapmak için C# programlama dilinde ne kullanmak faydalı olacaktır?
Seçenekler
A
Interface
B
Constructor
C
Destructor
D
Generics
E
Static
Açıklama:
C# programlama dilinde, bir sınıf sadece bir sınıftan türeyebilir. Bunun yanında bir sınıf, birden fazla arayüz (interface) yapısından da kalıtım alabilir. Çoklu kalıtımla yapmak istediğimiz işlemleri, arayüzler (interface) ile destekleyerek yapabiliriz.
Doğru yanıt A seçeneğinde görülmektedir.
Doğru yanıt A seçeneğinde görülmektedir.
Soru 17
Aşağıda verilen seçeneklerden hagisi doğrudur?
Seçenekler
A
Bir sınıfı türetirken birden fazla sınıfı kalıtımla kullanmak mümkündür.
B
Bir sınıfı türetirken sadece tek bir interface kullanılabilir.
C
Türetilmiş bir sınıfın metotları temel sınıfın üyelerine protected olarak tanıtılmışsa ulaşabilirler.
D
Bir interface'i ancak tek bir sınıf kullanabilir.
E
Her sınıf bir interface kullanmak zorundadır.
Açıklama:
protected erişim belirleyicisine sahip üyelere sadece türetilmiş sınıflar içerisinden erişilebilir.
Doğru yanıt C seçeneğinde verilmiştir
Doğru yanıt C seçeneğinde verilmiştir
Soru 18
Aşağıda verilen seçeneklerden hangisi bir generic tanımlamasıdır?
Seçenekler
A
B
&Generic&
C
>Generic>
D
#Generic#
E
*Generic*
Açıklama:
Biraz daha açacak olursak “generics”, tasarlanan arayüz, sınıf, metot ya da parametrelerin double, int, string gibi belirli bir tür yerine bir şablon yapısına uyan her bir tür için çalışmasına olanak veren bir yapıdır. Kullanımı şu şablonla ifade edebiliriz:
TürAdı
class GenelMetot<T> { public T Data { get; set; } }
Doğru yanıt A seçeneğidir
TürAdı
class GenelMetot<T> { public T Data { get; set; } }
Doğru yanıt A seçeneğidir
Soru 19
Generic sınıflarda kısıtlama koymak istediğimiz durumlarda __________ anahtar kelimesini kullanıyoruz.
Yukarıda verilen cümlede boşluğu hangi anahtar kelime ile doldurmak gerekir?
Yukarıda verilen cümlede boşluğu hangi anahtar kelime ile doldurmak gerekir?
Seçenekler
A
where
B
suchas
C
construct
D
iterate
E
compare
Açıklama:
Generic sınıflarda kısıtlama koymak istediğimiz durumlarda “where” anahtar kelimesini kullanıyoruz.
where T : struct // T referans parametresi, int, float, double, DateTime, .. struct value tipinde tanımlanabilir
where T : class // T referans parametresi, string ya da custom bir referans tipinde olmak zorundadır
where T : new() // T referans parametresi, hata alınmaması için default yapıcı metoda “constructor” sahip bir tipte olmalıdır
Doğru yanıt A seçeneğinde verilmiştir.
where T : struct // T referans parametresi, int, float, double, DateTime, .. struct value tipinde tanımlanabilir
where T : class // T referans parametresi, string ya da custom bir referans tipinde olmak zorundadır
where T : new() // T referans parametresi, hata alınmaması için default yapıcı metoda “constructor” sahip bir tipte olmalıdır
Doğru yanıt A seçeneğinde verilmiştir.
Soru 20
Nesne yönelimli programlamanın önemli kavramlarından biri olan miras alma (inheritence) ile ilgili olarak aşağıdakilerden hangisi hatalıdır?
Seçenekler
A
Üyeleri miras olarak alınan sınıfa türetilmiş sınıf (derived class) denir.
B
Miras alma yolu ile, bir sınıfın sahip olduğu özellikleri ve davranışları, farklı özellik ve davranışlar gösteren yeni sınıflar tanımlamak için kullanılır.
C
Türetilmiş bir sınıftan başka bir sınıf daha türetilebilir.
D
Türetilen sınıf hem türetildiği sınıfın hem de temel sınıfın özellik ve metotlarını kullanabilir.
E
Türetilen sınıf, temel sınıfın üyelerini erişim izinleri kuralları çerçevesinde devralır.
Açıklama:
A seçeneği doğru şıktır. Üyeleri miras olarak alınan sınıfa temel sınıf (base class) denir. (S. 165. Diğer seçenekler S.165 ve S.166’da yer alan ifadelerdir.
Soru 21
C# programlama dilinde bir sınıf neden birden fazla sınıftan miras alamaz?
Seçenekler
A
Çoklu miras alma yalnızca arayüz (interface) nesnelerinde mümkün olduğu için
B
Diğer bazı diller programlama dillerinde görülen elmas problemini önlemek için
C
Her temel sınıfın (base class) sadece bir türetilmiş sınıfı (derived class) olabileceği için
D
Türetilmiş sınıflardan başka sınıflar türetilemeyeceği için
E
Türetilmiş sınıfar, hem türetildikleri sınıfın, hem de varsa türetildikleri sınıfın türetildiği sınıfın özelliklerini miras alacağı için
Açıklama:
Doğru cevap B şıkkıdır. S. 167’de belirtildiği üzere “birden fazla arayüzden kalıtım alabiliyorken birden fazla sınıftan kalıtım ile sınıf türetemiyoruz?” sorusunun cevabı “C++, Python, Lisp, Perl gibi dillerin çoklu kalıtımı desteklerken karşılaştıkları elmas (Diamond) problemi” olarak karşımıza çıkmaktadır.
Soru 22
Nesne yönelimli bir programlama dilinde A isimli bir sınıfımız bulunmakta ve bu sınıfın X ismi ile tanımlanmış bir metodu bulunmaktadır. A sınıfından türetilen iki farklı B ve C sınıfları olduğunu düşünelim. B ve C sınıfları ataları olan A sınıfından aldıkları X metodunu tekrar yazmış (override) olabilirler. Elimizde bir tane de D sınıfı olsun ve bu D sınıfı da çoklu kalıtım ile hem B hem de C sınıfından türetilmiş olsun. Bu durumda D sınıfının X metodunu miras alması ile ilgili olarak bir belirsizlik ortaya çıkmaktadır. Çünkü bu metodu hem B hem de C sınıfından miras alması mümkündür. Bu duruma ne ad verilir?
Seçenekler
A
Türetilmiş sınıf
B
Çoklu kalıtım
C
Elmas problemi
D
Kapsülleme
E
Erişim denetimi
Açıklama:
C seçeneğinde yer alan Elmas problemi doğru yanıttır. Çoklu miras alma durumu bir şema ile gösterildiğinde ortaya çıkan şekli bir elmasa benzer. (S. 167)
Soru 23
C# programlama dilinde, temel sınıftan türetilmiş sınıf, temel sınıfın sahip olduğu değişken ve metotları kalıtım yolu ile sanki kendi içerisinde tanımlanmış gibi kullanabilir. Ancak bu değişken ve metotlara erişimleri, erişim denetleyicileri ile kısıtlanabilir. “Private” anahtar kelimesi ile tanımlanan bir metot ya da değişken için aşağıdakilerden hangisi doğrudur?
Seçenekler
A
Kalıtım ile aktarılır, her yerden erişilebilir.
B
Kalıtım ile aktarılır, tanımlandıkları ve kendisinden türetilen sınıflardan erişilebilir.
C
Internal: Kalıtım ile aktarılır, sadece bulunduğu projede erişilebilir.
D
Kalıtım ile aktarılmaz, sadece tanımlandıkları sınıf içerisinden erişilebilir.
E
Kalıtım ile aktarılır, sadece tanımlandıkları sınıf içerisinden erişilebilir.
Açıklama:
D seçeneğinde yer alan tanım, Private anahtar kelimesi ile kısıtlanan değişken ve metotları ifade etmektedir (S. 168).
Soru 24
Parametreli yapıcı metotlar içeren bir temel sınıftan türetilmiş bir sınıf, temel sınıfın sınıfa parametreli yapıcı metotlarına erişmek için hangi anahtar kelimeyi kullanır?
Seçenekler
A
Private
B
Public
C
Internal
D
Protected
E
Base
Açıklama:
E seçeneği doğru yanıttır. Elimizde parametreli kurucu metotları olduğunda temel sınıfın metotlarına ulaşabilmek için “base” anahtar kelimesi kullanılır. (S 171)
Soru 25
Bir 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 bölüme yerleştirilip, dış dünyaya sadece public arayüzü ile tanımlı olan üyelerin servis edilmesi olarak tanımlanan yapıya ne ad verilir?
Seçenekler
A
Kapsülleme (Encapsulation)
B
Generic
C
Çoklu Kalıtım
D
Miras Alma (Inheritance)
E
Sınıf Bağımlılıkları (Class Coupling)
Açıklama:
A seçeneğinde yer alan Kapsülleme (Encapsulation) doğru yanıttır. (S 177)
Soru 26
Aşağıdakilerden hangisi C# programlama dilinde bir sınıfı Generic olarak tanımlamanın faydalarından biri değildir?
Seçenekler
A
Kod üzerinde daha esnek ve güçlü bir kontrol sağlanmasına yardımcı olur.
B
İçerilen ya da sahip olunan nesnenin, sahip olan nesneden bağımsız olarak var olabilmesine olanak sağlar.
C
Hata ayıklaması kolay ve yönetilebilir kodların yazılmasına imkân verir.
D
Derleme zamanında (compile time) tip güvenli değişken kullanılması zorunlu olduğu için, çalışma zamanında oluşabilecek tür dönüşüm hatalarını engeller.
E
Çalışma zamanında (runtime) tür dönüşümü (casting, boxing-unboxing) işlemlerini önleyerek kodun daha verimli ve hızlı çalışmasını sağlar.
Açıklama:
B seçeneğinde yer alan tanım, sınıf bağımlılıkları ile ilgili Birleştirme (Aggregation) yaklaşımını tanımlamaktadır. Generic sınıf tanımlaması ile ilişkili değildir.
Soru 27
Nesne yönelimli programlama dillerine ilişkin sınıf bağımlılıkları kavramı içinde düşünüldüğünde aşağıdakilerden hangisi yanlıştır?
Seçenekler
A
Bir sistem, belli bir nesne olmadan çalışamıyorsa, ona mutlaka ihtiyaç duyuyorsa, bu duruma “sıkı bağlı” adı verilir.
B
Bir sistem, herhangi bir nesne ile çalışabilecek şekilde düzenlenmişse, buna gevşek bağlı (loosely coupled) denir.
C
Bir sınıfın üyelerinden, sınıf dışında görevi olmayan, sadece sınıf içi işlemlerde kullanılacak olanların private bölüme yerleştirilmesine sınıf bağımlılığı denir.
D
Bir sınıfın diğer sınıfı içermesine izin veren sınıflar arasındaki ilişki türüne kompozisyon (composition) denir.
E
İçerilen ya da sahip olunan nesnenin, sahip olan nesneden bağımsız olarak var olabilmesine birleştirme (aggregation) denir.
Açıklama:
C seçeneğinde verilen tanım sınıf bağımlılığı ile ilişkili olmayıp kapsülleme yaklaşımını anlatmaktadır.(S 177) Diğer seçenekler, sınıf bağımlılığı ile ilgili seviyeler ve yöntemlerdir. (S 172-176)
Soru 28
class Personel{public string isim;public string soyisim;public int dogumYili;public string cinsiyet;public string meslek;}class AkademikPersonel : Personel{public string unvan ;public string eposta ;public string birim ;}- AkademikPersonel türetilmiş sınıf, Personel temel sınıftır.
- AkademikPersonel sınıfı temel, Personel türetilmiş sınıftır.
- AkademikPersonel sınıfı Personel sınıfındaki tüm özellikleri miras alır.
- Personel sınıfı AkademikPersonel sınıfındaki tüm özellikleri miras alır.
Seçenekler
A
II ve IV
B
I ve IV
C
II ve III
D
I ve III
E
III ve IV
Açıklama:
D seçeneğinde belirtilen I. ve III. ifadelerin her ikisi de doğrudur. Soru S 166’da yer alan örneğe göre hazırlanmıştır.
Soru 29
C# programlama dilinde, temel sınıftan türetilmiş sınıf, temel sınıfın sahip olduğu değişken ve metotları kalıtım yolu ile sanki kendi içerisinde tanımlanmış gibi kullanabilir. Ancak bu değişken ve metotlara erişimleri, erişim denetleyicileri ile kısıtlanabilir. “Internal” anahtar kelimesi ile tanımlanan bir metot ya da değişken için aşağıdakilerden hangisi doğrudur?
Seçenekler
A
Kalıtım ile aktarılır, her yerden erişilebilir.
B
Kalıtım ile aktarılır, tanımlandıkları ve kendisinden türetilen sınıflardan erişilebilir.
C
Kalıtım ile aktarılmaz, sadece tanımlandıkları sınıf içerisinden erişilebilir.
D
Kalıtım ile aktarılır, sadece tanımlandıkları sınıf içerisinden erişilebilir.
E
Kalıtım ile aktarılır, sadece bulunduğu projede erişilebilir.
Açıklama:
E seçeneği Internal anahtar kelimesi ile tanımlanan metot ve değişkenleri açıklamaktadır. (S 168)
Soru 30
- Türetilen sınıflar, aynı anda sadece bir sınıftan türetilebilir.
- Türetilen sınıflar, çoklu kalıtımı destekler.
- private erişim belirleyicisine sahip üyelere türetilen sınıftan erişilemez.
- Türetilen sınıf, temel sınıfın üyelerini erişim izinleri kuralları çerçevesinde devralmaktadır.
Seçenekler
A
I ve II
B
I, II, III
C
I, II, IV
D
I, III, IV
E
I ve IV
Açıklama:
C# programlama dilinde kalıtımın yapılabilmesi için uyulması gereken kurallar: Türetilen sınıflar, aynı anda sadece bir sınıftan türetilebilir, private erişim belirleyicisine sahip üyelere türetilen sınıftan erişilemez, Türetilen sınıf, temel sınıfın üyelerini erişim izinleri kuralları çerçevesinde devralmaktadır.
I, III, IV
I, III, IV
Soru 31
Aşağıdakilerden hangisi kalıtım ile aktarılan, tanımlandıkları ve kendisinden türetilen sınıflardan erişilebilen miras alma işlemindeki erişim denetleyicilerinden biridir?
Seçenekler
A
protected erişim belirleyicisi
B
public erişim belirleyicisi
C
internal erişim belirleyicisi
D
private erişim belirleyicisi
E
external erişim belirleyicisi
Açıklama:
Protected: Kalıtım ile aktarılır, tanımlandıkları ve kendisinden türetilen sınıflardan erişilebilir.
protected erişim belirleyicisi
protected erişim belirleyicisi
Soru 32
Aşağıdakilerden hangisi C# programlama dilinde bir sınıftaki tüm sınıf üyelerini tekrar kullanan ve bunları genişleterek yeni sınıflar tanımlamayı sağlayan tekniktir?
Seçenekler
A
Kapsülleme
B
Miras Alma
C
Sınıf Bağımlılıkları
D
Generics
E
Kompozisyon
Açıklama:
Miras alma, bir sınıftaki tüm sınıf üyelerini tekrar kullanan ve bunları genişleterek yeni sınıflar tanımlamamızı sağlayan bir tekniktir.
Soru 33
Aşağıdakilerden hangisi C# programlama dilinde tanımlanmış üyelere public olarak tanımlanmış metotlara erişerek gerekli kontrol ve düzenlemeler ile değer atama işlemidir?
Seçenekler
A
Miras alma
B
Generic
C
Birleştirme
D
Kompozisyon
E
Kapsülleme
Açıklama:
Kapsülleme, private olarak tanımlanmış üyelere public olarak tanımlanmış metotlar erişerek gerekli kontrol
ve düzenlemeler ile değer atamaktadır.
ve düzenlemeler ile değer atamaktadır.
Soru 34
class Sandalye
{
public void Malzeme()
{
Console.WriteLine("Ahşap");
}
}
class Masa
{
private Sandalye _sandalye;
public Sandalye(Sandalye sandalye)
{
_sandalye = sandalye;
}
}
Aşağıdakilerden hangisi yukarıdaki C# programlama dilinde yapılan işlemi ifade etmektedir?
{
public void Malzeme()
{
Console.WriteLine("Ahşap");
}
}
class Masa
{
private Sandalye _sandalye;
public Sandalye(Sandalye sandalye)
{
_sandalye = sandalye;
}
}
Aşağıdakilerden hangisi yukarıdaki C# programlama dilinde yapılan işlemi ifade etmektedir?
Seçenekler
A
Birleştirme
B
Miras Alma
C
Generics
D
Kapsülleme
E
Kompozisyon
Açıklama:
Aggregation için örnek bir kod ise şu şekilde olacaktır:
class Sandalye
{
public void Malzeme()
{
Console.WriteLine("Ahşap");
}
}
class Masa
{
private Sandalye _sandalye;
public Sandalye(Sandalye sandalye)
{
_sandalye = sandalye;
}
}
Birleştirme
class Sandalye
{
public void Malzeme()
{
Console.WriteLine("Ahşap");
}
}
class Masa
{
private Sandalye _sandalye;
public Sandalye(Sandalye sandalye)
{
_sandalye = sandalye;
}
}
Birleştirme
Soru 35
- Tekrar kullanılabilir kod yazımına yardımcı olarak tekrarı önler.
- Kod üzerinde daha esnek ve güçlü bir kontrol sağlanmasına yardımcı olur.
- Hata ayıklaması kolay ve yönetilebilir kodların yazılmasına imkân verir.
- Alt sınıfların ve üst sınıfın kendi yaşam döngüleri vardır.
Seçenekler
A
II, III, IV
B
I, II
C
II, III
D
I, II, III
E
I, II, IV
Açıklama:
C# programlama dilinde generics ile ilgili olan ifadeler şunlardır: Tekrar kullanılabilir kod yazımına yardımcı olarak tekrarı önler, Kod üzerinde daha esnek ve güçlü bir kontrol sağlanmasına yardımcı olur, Hata ayıklaması kolay ve yönetilebilir kodların yazılmasına imkân verir.
I, II, III
I, II, III
Soru 36
Aşağıda C# programlama dilinde sınıf bağımlılıklardan hangisi spor bir şapka veya bir kasketten herkesin kendi kafasına ve zevkine uygun olanı alıp kullanmasına örnektir?
Seçenekler
A
Sıkı Bağlı
B
Miras alma
C
Gevşek Bağlı
D
Birleştirme
E
Kompozisyon
Açıklama:
Gevşek Bağlı (Loosely Coupled) kavramı da sıkı bağlılığın tam tersidir. Buna günlük hayattan şapkayı
örnek olarak verebiliriz. Spor bir şapka veya bir kasketten herkes kendi kafasına ve zevkine uygun olanı alıp
kullanır. Burada kafa ve şapkanın birbirine bağımlılığı olmadığı için gevşek bağlı olduğunu söyleyebiliriz.
örnek olarak verebiliriz. Spor bir şapka veya bir kasketten herkes kendi kafasına ve zevkine uygun olanı alıp
kullanır. Burada kafa ve şapkanın birbirine bağımlılığı olmadığı için gevşek bağlı olduğunu söyleyebiliriz.
Soru 37
- Temel fark sınıfların bağımlı olmasıdır.
- Kompozisyonda, alt sınıfların yaşam döngüsü, doğrudan üst sınıfın yaşam döngüsüne bağlıdır.
- Birleştirmede ise alt sınıfların ve üst sınıfın kendi yaşam döngüleri vardır.
Seçenekler
A
Yalnız II
B
Yalnız III
C
I, II
D
I, II, III
E
II, III
Açıklama:
Sonuç olarak aralarındaki temel fark sınıfların bağımsızlıklarıdır. Kompozisyonda, alt sınıfların yaşam
döngüsü, doğrudan üst sınıfın yaşam döngüsüne bağlıdır ve bunun tersi de geçerlidir. Birleştirmede (Aggregation) ise alt sınıfların ve üst sınıfın kendi yaşam döngüleri vardır.
II, III
döngüsü, doğrudan üst sınıfın yaşam döngüsüne bağlıdır ve bunun tersi de geçerlidir. Birleştirmede (Aggregation) ise alt sınıfların ve üst sınıfın kendi yaşam döngüleri vardır.
II, III
Soru 38
Aşağıdakilerden hangisi C# programlama dilinde her bir farklı veri türü veya sınıf için tek bir kodun kullanılmasına imkân veren nesne yapısıdır?
Seçenekler
A
Sınıf Bağımlılıkları
B
Generic
C
Birleştirme
D
Kompozisyon
E
Miras Alma
Açıklama:
Generic kavramı, genel bir şekilde kullanılması uygun görülen sınıf metot gibi yapılara uygulanmaktadır. Her
bir farklı veri türü veya sınıf için tek bir kodun kullanılmasına imkân vermektedir. Böylece nesne yönelimli
programlamanın kod tekrarını önleme amacına uygun şekilde çalışmaktadır
bir farklı veri türü veya sınıf için tek bir kodun kullanılmasına imkân vermektedir. Böylece nesne yönelimli
programlamanın kod tekrarını önleme amacına uygun şekilde çalışmaktadır
Soru 39
Aşağıdakilerden hangisi C# programlama dilinde gevşek bağlı sınıf bağımlılığına örnektir?
Seçenekler
A
Bir iş yerinde belirli işlerin yapılabilmesi için belirli bir personele ihtiyaç duyulması
B
İş ilanlarında belirli işleri yapabilecek kabiliyetteki kişilerin aranması
C
Bir kişinin her öğünde aynı yemeği yemesi
D
Bir mağazadan sadece sadece kredi kartı ile alışveriş yapılması
E
Spor bir ayakkabıdan herkesin kendi ayağına ve zevkine uygun olanı alıp kullanması
Açıklama:
Gevşek Bağlı (Loosely Coupled) kavramı da sıkı bağlılığın tam tersidir. Buna günlük hayattan şapkayı
örnek olarak verebiliriz. Spor bir şapka veya bir kasketten herkes kendi kafasına ve zevkine uygun olanı alıp
kullanır. Burada kafa ve şapkanın birbirine bağımlılığı olmadığı için gevşek bağlı olduğunu söyleyebiliriz.
Spor bir ayakkabıdan herkesin kendi ayağına ve zevkine uygun olanı alıp kullanması
örnek olarak verebiliriz. Spor bir şapka veya bir kasketten herkes kendi kafasına ve zevkine uygun olanı alıp
kullanır. Burada kafa ve şapkanın birbirine bağımlılığı olmadığı için gevşek bağlı olduğunu söyleyebiliriz.
Spor bir ayakkabıdan herkesin kendi ayağına ve zevkine uygun olanı alıp kullanması
Ünite 8
Soru 1
Türetilen sınıfın metoduna işlem önceliği verebilmek için, “virtual” olmayan bir metodu, override edebilmede hangi anahtar sözcüğünü kullanırız?
Seçenekler
A
New
B
Class
C
Foreach
D
Console
E
Ovidius
Açıklama:
Türetilen sınıfın metoduna işlem önceliği verebilmek için, “virtual” olmayan bir metodu, override edebilmek için “new” anahtar sözcüğünü kullanırız. Doğru cevap A şıkkıdır.
Soru 2
Temel sınıf sadece kalıtım amacı ile kullanılacaksa, sınıf oluşturulurken hangi anahtar kelimesini kullanırız?
Seçenekler
A
New
B
Abstract
C
Override
D
Bahse
E
Class
Açıklama:
Temel sınıf sadece kalıtım amacı ile kullanılacaksa, sınıf oluşturulurken “abstract” anahtar kelimesini kullanırız. Doğru cevap B şıkkıdır
Soru 3
Bir sınıfın içinde bir soyut metot tanımı yapıldıysa, o sınıfın da soyut olarak ne şekilde tanımlanması gerekmektedir?
Seçenekler
A
Soyut metot
B
Override
C
Abstract
D
İnterface
E
New
Açıklama:
Bir sınıfın içinde bir soyut metot tanımı yapıldıysa, o sınıfın da soyut “abstract” olarak tanımlanması gerekmektedir.
Soru 4
C# programlama dilinde, kalıtım özelliğini engellemek istediğimiz durumlarda hangi anahtar kelimesi kullanılmaktadır?
Seçenekler
A
İnterface
B
Abstract
C
Override
D
Sealed
E
Base
Açıklama:
C# programlama dilinde, bu ihtiyacı karşılamak için “sealed” anahtar kelimesi kullanılmaktadır. Doğru cevap D şıkkıdır.
Soru 5
Soyut “abstract” sınıflar ne olarak tanımlanamazlar?
Seçenekler
A
Base
B
Statik
C
Override
D
İnterface
E
Sealed
Açıklama:
Soyut “abstract” sınıflar “sealed” olarak tanımlanamazlar. Doğru cevap E şıkkıdır.
Soru 6
C# programlama dilinde arayüzlerin tanımlanması için hangi anahtar kelimesi kullanılmaktadır?
Seçenekler
A
İnterface
B
Base
C
Override
D
Abstract
E
Sealed
Açıklama:
C# programlama dilinde arayüzlerin tanımlanması için “interface” anahtar kelimesi kullanılmaktadır. Doğru cevap A şıkkıdır.
Soru 7
Arayüzde tanımlı elemanların erişim belirleyicileri ön tanımlı olarak ne şekilde tanımlıdır?
Seçenekler
A
Override
B
Public
C
Virtual
D
Abstract
E
Base
Açıklama:
Arayüzde tanımlı elemanların erişim belirleyicileri ön tanımlı olarak “public” tanımlıdır. Doğru cevap B şıkkıdır.
Soru 8
C# programlama dilinde, hataların yakalanıp yönetilmesi için hangi sınıf kullanılmaktadır?
Seçenekler
A
Convert
B
Class
C
Exception
D
Static
E
Public
Açıklama:
C# programlama dilinde, hataların yakalanıp yönetilmesi için Exception sınıfı kullanılmaktadır. Doğru cevap C şıkkıdır.
Soru 9
Bir sınıf ya da bir yapı “struct”, bir arayüzü destekliyorsa ilgili arayüz elemanlarının ne olarak tanımlanması zorunludur?
Seçenekler
A
Abstract
B
İnterface
C
New
D
Public
E
Struct
Açıklama:
Bir sınıf ya da bir yapı “struct”, bir arayüzü destekliyorsa ilgili arayüz elemanlarının “public” olarak tanımlanması zorunludur.
Soru 10
Arayüzler, fark edilebilmeleri amacıyla geleneksel olarak isimleri hangi harf ile başlatılır?
Seçenekler
A
G
B
P
C
İ
D
H
E
I
Açıklama:
Arayüzler, fark edilebilmeleri amacıyla geleneksel olarak isimleri “I” harfi ile başlatılır. Doğru cevap E şıkkıdır.
Soru 11
Aşağıdaki program parçacıklarından hangisinde Metot Üzerine Yazma vardır?
Seçenekler
A
class C1 {
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 {
public void Metod1()
{
Console.WriteLine("Merhaba Evren");
}
}
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 {
public void Metod1()
{
Console.WriteLine("Merhaba Evren");
}
}
B
class C1 {
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 : C1{
public void Metod1()
{
Console.WriteLine("Merhaba Evren");
}
}
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 : C1{
public void Metod1()
{
Console.WriteLine("Merhaba Evren");
}
}
C
class C1 {
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 {
public void Metod2()
{
Console.WriteLine("Merhaba Evren");
}
public static void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 {
public void Metod2()
{
Console.WriteLine("Merhaba Evren");
}
public static void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
D
class C1:C2 {
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 {
public void Metod2()
{
Console.WriteLine("Merhaba Evren");
}
}
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
}
class C2 {
public void Metod2()
{
Console.WriteLine("Merhaba Evren");
}
}
E
class C1 {
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
public void Metod1()
{
Console.WriteLine("Merhaba Evren");
}
}
public void Metod1()
{
Console.WriteLine("Merhaba Dünya");
}
public void Metod1()
{
Console.WriteLine("Merhaba Evren");
}
}
Açıklama:
B seçeneğinde üst sınıftan alınan aynı isimli metod değiştirilerek kullanılmıştır. A ve C seçeneğinde aynı isimli metod kullanılsa da bunlar sadece kendi sınıflarına aittir. E seçeneğinde ise derleyici hatası görülür.
Doğru yanıt B seçeneğinde verilmiştir.
Doğru yanıt B seçeneğinde verilmiştir.
Soru 12
Türetilen sınıftan gelen bazı özelliklerin değiştirilebilmesine ve nesne üzerinden
çağırılabilmesine ______________ denir.
Yukarıda verilen cümlede boşluğa ne gelmelidir?
çağırılabilmesine ______________ denir.
Yukarıda verilen cümlede boşluğa ne gelmelidir?
Seçenekler
A
Arayüz Oluşturma
B
Mühürlü Sınıflandırma
C
Soyut Sınıflandırma
D
Üzerine Yazma
E
Çok Biçimlilik
Açıklama:
Kalıtımda amaç, bir nesnenin birden fazla türün özelliklerini sergilemesini sağlamaktır. Kalıtım yoluyla türetilmiş sınıf, türetildiği sınıftan tüm özelliklerini miras alır. Türetilen sınıftan gelen bazı özelliklerin değiştirilebilmesine ve nesne üzerinden çağırılabilmesine çok biçimlilik denir. Böylece, kalıtım ile türetilen sınıflar, bir miktar da temel sınıfın biçiminde olacaktır
Doğru yanıt E seçeneğinde verilmiştir.
Doğru yanıt E seçeneğinde verilmiştir.
Soru 13
Aşağıdaki program çalıştırıldığında çıktı ne olur?


Seçenekler
A
Merhaba Arkadaş
Merhaba Evren
Merhaba Dünya
Merhaba Evren
Merhaba Dünya
B
Merhaba Arkadaş
Merhaba Evren
Merhaba Evren
Merhaba Evren
Merhaba Evren
C
Merhaba Arkadaş
Merhaba Dünya
Merhaba Dünya
Merhaba Dünya
Merhaba Dünya
D
Merhaba Arkadaş
Merhaba Dünya
Merhaba Evren
Merhaba Dünya
Merhaba Evren
E
Merhaba Arkadaş
Merhaba Arkadaş
Merhaba Arkadaş
Merhaba Arkadaş
Merhaba Arkadaş
Açıklama:
Burada Polymorphism (Çok Biçimlilik) görülerktedir. Aynı metod ismi farklı biçimlerde çalışmakta ve sonuç vermektedir.
Doğru yanıt D olmalıdır
Doğru yanıt D olmalıdır
Soru 14
Temel sınıfın virtual olmayan bir metodunu yeni türetilmiş bir metotla değiştirerek bir temel sınıfın verilerini ve davranışını değiştirmek için aşağıdaki anahtar sözcüklerden hangisi kullanılır?
Seçenekler
A
base
B
override
C
new
D
overridable
E
overloads
Açıklama:
Kalıtımla ilgili olarak, türetilen sınıfın metoduna işlem önceliği verebilmek için, “virtual” olmayan bir metodu, override edebilmek için “new” anahtar sözcüğünü kullanmak gerekir.
Doğru yanıt C seçeneğinde verilmiştir.
Doğru yanıt C seçeneğinde verilmiştir.
Soru 15
Soyut bir metot türetilmiş bir sınıf tarafından yeniden tanımlandığında aşağıdaki anahtar kelimelerden hangisi kullanılır?
Seçenekler
A
Overloads
B
Override
C
Base
D
Virtual
E
Abstract
Açıklama:
Abstract sınıftan türetilmiş bir metodu hazırlarken “override” anahtar kelimesini ekleyerek, temel sınıftaki metodun üzerine yazıldığını belirtmemiz gerekmektedir.
Doğru Yanıt B seçeneğinde verilmiştir.
Doğru Yanıt B seçeneğinde verilmiştir.
Soru 16
Aşağıdaki kod çalıştırıldığında sonuç ne olur?


Seçenekler
A
10
20
toplam:10
20
toplam:10
B
20
0
toplam:30
0
toplam:30
C
0
10
toplam:20
10
toplam:20
D
10
20
toplam:30
20
toplam:30
E
10
0
toplam:10
0
toplam:10
Açıklama:
Açıklama: Soyut yöntem uygulaması 'C2' alt sınıfında işlenir. Ayrıca soyut 'C1' sınıfının 'obj' nesnesi, i'nin değerini 10 olarak başlatır. 'C2' sınıfının nesnesi ayrıca j değerini 20 olarak başlatır. Çünkü, display() yöntemi, C1 sınıfının nesnesi kullanılarak çağrılır. 'obj' ve dolayısıyla i = 10 iken j = 0
Doğru yanıt E seçeneğinde verilmiştir.
Doğru yanıt E seçeneğinde verilmiştir.
Soru 17
Bir sınıf içerisinde bir metodun kalıtım yoluyla değiştirilmesi engellemek istenirse hangi anahtar kelimeyi kullanmak gerekir?
Seçenekler
A
Sealed
B
Override
C
Base
D
Static
E
Overloaded
Açıklama:
Mühürlü “Sealed” sınıflar, nesne yönelimli programlamanın kalıtım özelliğini engellemek istediğimiz durumlarda kullanılır. Kod yazarken kimi zaman başka sınıfların, hazırlanan sınıftan kalıtım yolu ile türetilmesini istemeyebiliriz. Sabit özelliklere ve metotlara sahip bir sınıfa ihtiyacımız olabilir. Bu duruma genellikle güvenlik konularında denk gelebiliriz.
Doğru yanıt A sçeneğidir.
Doğru yanıt A sçeneğidir.
Soru 18
Aşağıdaki önermelerden hangisi doğrudur?
Seçenekler
A
Bir Interface bir Abstract sınıftan türetilebilir.
B
Bir sınıf birden fazla Interface kullanabilir
C
Interface içerisindeki metotlar Private olarak tanımlanmalıdır.
D
Bir Interface başka bir Interface'ten türetilemez.
E
Interface ile Abstract aynı şeylerdir.
Açıklama:
Bir sınıf sadece bir sınıftan türetilebilir iken, birden fazla arayüzü destekleyebilir.
Doğru yanıt B seçeneğidir.
Doğru yanıt B seçeneğidir.
Soru 19
İstisnai durum yakalama şablonu aşağıda hangi seçenekte doğru tanımlanmıştır?
Seçenekler
A
finally
{ // Kod bloğu 1
}
try
{ // Kod bloğu 2
}
catch
{ // Kod bloğu 3
}
{ // Kod bloğu 1
}
try
{ // Kod bloğu 2
}
catch
{ // Kod bloğu 3
}
B
try
{ // Kod bloğu 1
}
catch
{ // Kod bloğu 2
}
finally
{ // Kod bloğu 3
}
{ // Kod bloğu 1
}
catch
{ // Kod bloğu 2
}
finally
{ // Kod bloğu 3
}
C
try
{ // Kod bloğu 1
}
finally
{ // Kod bloğu 2
}
catch
{ // Kod bloğu 3
}
{ // Kod bloğu 1
}
finally
{ // Kod bloğu 2
}
catch
{ // Kod bloğu 3
}
D
catch
{ // Kod bloğu 1
}
try
{ // Kod bloğu 2
}
finally
{ // Kod bloğu 3
}
{ // Kod bloğu 1
}
try
{ // Kod bloğu 2
}
finally
{ // Kod bloğu 3
}
E
catch
{ // Kod bloğu 1
}
finally
{ // Kod bloğu 2
}
try
{ // Kod bloğu 3
}
{ // Kod bloğu 1
}
finally
{ // Kod bloğu 2
}
try
{ // Kod bloğu 3
}
Açıklama:
Şablonda belirtilen “try” anahtar kelimesi ile başlayan kod bloğu, çalışma zamanı hatası olabileceği düşünülen kodların bulunduğu yerdir. Bu blok içinde oluşabilecek hatalar “catch” bloğu tarafından yakalanır ve bu kod bloğu içindeki kodun çalışmasını sağlar. “try” dan sonra “catch” bloğunun eklenmesi zorunludur. Eğer “try” bloğunda bir hata oluşmaz ise bu bloktaki kodlar çalıştırılmayacaktır. En sondaki “finally” bloğu ise isteğe bağlı olarak eklenir, zorunlu değildir. Bu bloktaki kodlar, “catch” bloğu tarafından ister hata yakalansın ister yakalanmasın yine de çalıştırılacaktır
Doğru yanıt B seçeneğidir.
Doğru yanıt B seçeneğidir.
Soru 20
Aşağıdaki seçeneklerden hangisi finally bloğu için doğru bir tanımlama içerir?
Seçenekler
A
finally bloğu içerisindeki kodlar try ve catch bloğundaki kodlar çalıştıktan sonra çalıştırılır.
B
finally bloğu içerisindeki kodlar catch bloğu içerisindeki kodlar çalıştırılmadığı takdirde çalıştırılır.
C
finally bloğu içerisindeki kodlar catch bloğundaki kodların çalışmasından bağımsız daima çalıştırılır.
D
finally bloğu içerisindeki kodlar ancak catch bloğu içerisindeki kodlar çalıştırıldıktan sonra çalıştırılır.
E
Try Catch içerisinde birden fazla finally bloğu kullanılabilir.
Açıklama:
Şablonda belirtilen “try” anahtar kelimesi ile başlayan kod bloğu, çalışma zamanı hatası olabileceği düşünülen kodların bulunduğu yerdir. Bu blok içinde oluşabilecek hatalar “catch” bloğu tarafından yakalanır ve bu kod bloğu içindeki kodun çalışmasını sağlar. “try” dan sonra “catch” bloğunun eklenmesi zorunludur. Eğer “try” bloğunda bir hata oluşmaz ise bu bloktaki kodlar çalıştırılmayacaktır. En sondaki “finally” bloğu ise isteğe bağlı olarak eklenir, zorunlu değildir. Bu bloktaki kodlar, “catch” bloğu tarafından ister hata yakalansın ister yakalanmasın yine de çalıştırılacaktır.
Doğru yanıt C seçeneğinde verilmiştir.
Doğru yanıt C seçeneğinde verilmiştir.
Soru 21
Çok kod yazarak hata almak, aşağıdakilerden hangisinde artışa neden olur?
Seçenekler
A
tecrübe
B
işletim sisteminde bozulma
C
yapısal program çalışma hızında artış
D
nesne yönelimli programların çalışma hızında artış
E
editör değiştirilmesi
Açıklama:
Çok kod yazarak hata almak, tecrübede artışa neden olur.
Soru 22
Aşağıdakilerden hangisi, kalıtım yoluyla türetilmiş sınıfın özelliğidir?
Seçenekler
A
Hiyerarşinin bozulması
B
Türetildiği sınıfın tüm özelliklerinin miras alınması
C
Üst sınıfın private özelliklerinin yeniden ve farklı olarak tanımlanması
D
Override özelliğin kaybolması
E
Süslü parantez kullanım zorunluluğunun kaybolması
Açıklama:
Türetildiği sınıfın tüm özelliklerinin miras alınması, kalıtım yoluyla türetilmiş sınıfın özelliğidir.
Soru 23
Aşağıdakilerden hangisi, tanımlanan metotları sanal metot haline getirir?
Seçenekler
A
void
B
Console.ReadLine
C
virtual
D
class
E
public
Açıklama:
Kullanılan virtual anahtar kelimesi, tanımlanan metotları sanal metot haline getirir.
Soru 24
Temel sınıf sadece kalıtım amacı ile kullanılacaksa, sınıf oluşturulurken aşağıdakilerden hangi anahtar kelime kullanılır?
Seçenekler
A
public
B
private
C
void
D
abstract
E
class
Açıklama:
Temel sınıf sadece kalıtım amacı ile kullanılacaksa, sınıf oluşturulurken abstract anahtar kelimesi kullanılır.
Yalnızca kalıtım için kullanılacak sınıflara soyut sınıflar denir. Soyut ifadesinin ingilizce karşılığı olarak "abstract" kullanılır.
Yalnızca kalıtım için kullanılacak sınıflara soyut sınıflar denir. Soyut ifadesinin ingilizce karşılığı olarak "abstract" kullanılır.
Soru 25
Nesne yönelimli programlamada kalıtım özelliği engellenmek istenildiği zaman aşağıdakilerden hangisi kullanılır?
Seçenekler
A
public
B
class
C
abstract
D
soyut sınıf
E
mühürlü sınıf
Açıklama:
Nesne yönelimli programlamada kalıtım özelliği engellenmek istenildiği zaman mühürlü sınıf kullanılır.
Soru 26
Aşağıdakilerden hangisi alt sınıflara kalıtım veremeyen sınıf oluşturmak için kullanılır?
Seçenekler
A
sealed
B
abstract
C
void
D
override
E
interface
Açıklama:
Sealed, alt sınıflara kalıtım veremeyen sınıf oluşturmak için kullanılır.
Soru 27
Arayüzde tanımlı elemanların erişim belirleyicileri, ön tanımlı olarak aşağıdakilerden hangi şekilde tanımlanmış durumdadır?
Seçenekler
A
private
B
public
C
void
D
constructor
E
destructor
Açıklama:
Arayüzde tanımlı elemanların erişim belirleyicileri, ön tanımlı olarak public olarak tanımlanmış durumdadır.
Soru 28
Aşağıdakilerden hangisi syntax yazım hatalarından kaynaklanır?
Seçenekler
A
editör çeşidi
B
arayüz
C
derleme zamanı hataları (compiler error)
D
çalışma zamanı hataları (runtime error)
E
main
Açıklama:
Derleme zamanı hataları (compiler error), syntax yazım hatalarından kaynaklanır.
Soru 29
C# programlama dilinde, hataların yakalanıp yönetilmesi için aşağıdakilerden hangisi kullanılır?
Seçenekler
A
compiler
B
library
C
public
D
exception
E
private
Açıklama:
C# programlama dilinde, hataların yakalanıp yönetilmesi için exception sınıfı kullanılır.
Birçok programlama dilinde olduğu gibi C# dilinde de exception yapısı kullanılır.
Birçok programlama dilinde olduğu gibi C# dilinde de exception yapısı kullanılır.
Soru 30
Döngüyü bitirebilecek bir kontrol şartı eklenmeyen bir while döngüsü aşağıdakilerden hangi hatayı verme potansiyeline sahiptir?
Seçenekler
A
for ifadesinin çalışmaması
B
if kullanımının zorlaşması
C
else if kullanılamaması
D
else ifadelerinin anlamını yitirmesi
E
sonsuz döngü
Açıklama:
Döngüyü bitirebilecek bir kontrol şartı eklenmeyen bir while döngüsünün, sonsuz döngü gibi bir hataya neden olma potansiyeli vardır.
Soru 31
Aşağıdakilerden hangisi nesneye yönelik programlamada türetilen sınıftan gelen bazı özelliklerin değiştirilebilmesi ve nesne üzerinden çağırılabilmesidir?
Seçenekler
A
Kapsülleme
B
Çokbiçimlilik
C
Miras alma
D
Kompozisyon
E
Soyut sınıf
Açıklama:
Türetilen sınıftan gelen bazı özelliklerin değiştirilebilmesine ve nesne üzerinden çağırılabilmesine çok biçimlilik denir.
Soru 32
- Final ve static olarak tanımlanmış metotlar “override” edilemez.
- Temel, üst sınıf içinde “private” olarak tanımlı metotlar “override” edilir.
- “override” edilecek metot tanımlanırken, “virtual” ve “override” anahtar kelimeleri kullanılır.
Seçenekler
A
I, III
B
II, III
C
I, II
D
I, II, III
E
Yalnız III
Açıklama:
Metotların üzerine yazma da belirli kuralları şunlardır: Final ve static olarak tanımlanmış metotlar “override” edilemez, Temel, üst sınıf içinde “private” olarak tanımlı metotlar “override” edilemez, “override” edilecek metot tanımlanırken, “virtual” ve “override” anahtar kelimeleri kullanılır.
I, III
I, III
Soru 33
- Soyut sınıflarda hem metot bildirimine hem de metot oluşturulmasına izin verilmektedir.
- Soyut sınıflardan sadece yeni sınıflar türetilebilir.
- Soyut sınıftan türetilen sınıflarda, bildirimi yapılan metotların tanımlanması gerekmektedir.
- Soyut sınıflarda “new” anahtar kelimesi ile yeni nesne oluşturulur.
Seçenekler
A
I,II
B
I, III
C
I, II, III
D
II, III, IV
E
I, III, IV
Açıklama:
Soyut sınıftan türetilen sınıflarda, bildirimi yapılan metotların tanımlanması da gerekmektedir.
Soyut sınıfların amacı kalıtım olduğundan, bu sınıflardan normal sınıflar gibi “new” anahtar kelimesi
ile yeni nesne oluşturulamaz. Soyut sınıflardan sadece yeni sınıflar türetilebilir. Arayüzlerde sadece metot bildirimine izin verilirken, soyut sınıflarda hem metot bildirimine hem de metot oluşturulmasına izin verilmektedir.
I, II, III
Soyut sınıfların amacı kalıtım olduğundan, bu sınıflardan normal sınıflar gibi “new” anahtar kelimesi
ile yeni nesne oluşturulamaz. Soyut sınıflardan sadece yeni sınıflar türetilebilir. Arayüzlerde sadece metot bildirimine izin verilirken, soyut sınıflarda hem metot bildirimine hem de metot oluşturulmasına izin verilmektedir.
I, II, III
Soru 34
Aşağıdakilerden hangisi sabit özelliklere ve metotlara sahip bir sınıfa ihtiyaç duyulduğunda kullanılan anahtar kelimedir?
Seçenekler
A
Interface
B
New
C
Base
D
Abstract
E
Sealed
Açıklama:
Mühürlü “Sealed” sınıflar, nesne yönelimli programlamanın kalıtım özelliğini engellemek istediğimiz
durumlarda kullanılır. Kod yazarken kimi zaman başka sınıfların, hazırlanan sınıftan kalıtım yolu ile türetilmesini istemeyebiliriz. Sabit özelliklere ve metotlara sahip bir sınıfa ihtiyacımız olabilir. Bu duruma
genellikle güvenlik konularında denk gelebiliriz. C# programlama dilinde, bu ihtiyacı karşılamak için “sealed” anahtar kelimesi kullanılmaktadır.
durumlarda kullanılır. Kod yazarken kimi zaman başka sınıfların, hazırlanan sınıftan kalıtım yolu ile türetilmesini istemeyebiliriz. Sabit özelliklere ve metotlara sahip bir sınıfa ihtiyacımız olabilir. Bu duruma
genellikle güvenlik konularında denk gelebiliriz. C# programlama dilinde, bu ihtiyacı karşılamak için “sealed” anahtar kelimesi kullanılmaktadır.
Soru 35
- Arayüzler veri elemanı içerir.
- Arayüzler diğer arayüzlerden türetilebilir.
- Bir sınıf birden fazla arayüzü destekleyebilir.
- Arayüzde tanımlı fonksiyon ve özelliklerin gövdeleri yoktur.
Seçenekler
A
I, II, III
B
II, III
C
II, III, IV
D
I, II, III, IV
E
II, IV
Açıklama:
Arayüz oluştururken uyulması gereken kısıtları da şu şekilde sıralayabiliriz: Arayüzler veri elemanı yani değişken içeremezler. Arayüzde tanımlı fonksiyon ve özelliklerin gövdeleri yoktur, sadece şablon şeklinde tanımlıdır. Bir sınıf sadece bir sınıftan türetilebilir iken, birden fazla arayüzü destekleyebilir. Arayüzler de sınıfların diğer sınıflardan türetildiği gibi diğer arayüzlerden türetilebilir.
II, III, IV
II, III, IV
Soru 36
Aşağıdakilerden hangisi C# programlama dilinde bağımsız değişken hatasıdır?
Seçenekler
A
Argument Exception
B
DivideByZeroException
C
NullReferanceException
D
IOException
E
IndexOutOfRangeException
Açıklama:
Argument Exception, C# programlama dilinde bağımsız değişken hatasıdır.
Soru 37
Aşağıdakilerden hangisi C# programlama dilinde hata sınıflarında ortak kullanılan özelliklerden hatayı gönderen uygulama ya da nesnenin adıdır?
Seçenekler
A
Source
B
InnerException
C
ToString
D
TargetSite
E
StackTrac
Açıklama:
Source: Hatayı gönderen uygulama ya da nesnenin adıdır.
Soru 38
- Yanlış sözdizimi
- Hatalı metot ve parametre kullanımı
- Erişim belirleyicilerin doğru kullanılmaması
Seçenekler
A
Yalnız I
B
Yalnız II
C
I-II
D
I-II-III
E
II-III
Açıklama:
Derleme 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.
I-II-III
erişim belirleyicilerin doğru kullanılmaması gibi “syntax” yazım hatalarından kaynaklanır.
I-II-III
Soru 39
Aşağıdakilerden hangisi C# programlama dilinde hataların yakalanıp yönetilmesi için kullanılan sınıftır?
Seçenekler
A
Arayüz sınıfı
B
Mühürlü sınıf
C
Soyut sınıf
D
Exception sınıfı
E
Çok biçimlilik sınıfı
Açıklama:
C# programlama dilinde, hataların yakalanıp yönetilmesi için Exception sınıfı kullanılmaktadır.
Soru 40
Aşağıdakilerden hangisi C# programlama dilinde hata sınıflarında ortak kullanılan özelliklerden biri değildir?
Seçenekler
A
HelpLink
B
Throw
C
ToString
D
StackTrace
E
Source
Açıklama:
Hata sınıflarında ortak kullanılan özellikler vardır. Bunlar: HelpLink, InnerException, Source, StackTrace, TargetSite, ToString.
Throw
Throw