Auzef Yönetim Bilişim Sistemleri 2024 Ocak Final Sına soruları
Auzef Bilgisayar Programcılığı Final soruları
Python Programlama ve Nesneye Yönelik Tasarımın Etkisi
Python, son yıllarda popülerliğini giderek artıran, yüksek seviyeli, genel amaçlı bir programlama dilidir. Ocak 2024’te yapılan Python Programlama Final Sınavı, bu dilin çeşitli yönlerini ve kullanım alanlarını gözler önüne seriyor. Sınav soruları, Python’un nesneye yönelik programlama özelliklerinden veri yapılarına, fonksiyon tanımlamadan veri analizine kadar geniş bir yelpazeyi kapsıyor. Bu makalede, sınav sorularından hareketle Python programlamanın temel prensiplerini ve nesneye yönelik programlamanın önemini irdeleyeceğiz.
20 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Nesneye yönelimli programlama gerçek dünyadaki … programlama ortamında modellenmesi şeklinde ifade edilebilir.
Yukarıda … ile verilen boşluğa aşağıdaki seçeneklerden hangisinin gelmesi en uygundur?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Nesneye yönelik programlama, gerçek dünyadaki hem canlı (öğrenci, hayvan) hem de cansız (araba, hesap) nesneleri özellikleri ve davranışlarıyla birlikte programlama ortamında modeller. Bu yaklaşım yalnızca canlılarla ya da yalnızca cansız nesnelerle sınırlı değildir.
Soru 2
Python’da A = [“Python”, “programlama”, “dersini”, “çok”, “seviyorum”] şeklinde tanımlanıyor. Buna göre; A[0 : len(A) : 2]
Python kodu aşağıdaki seçeneklerden hangisini döndürür?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
len(A) 5'tir, dolayısıyla A[0:5:2] ifadesi 0. indeksten başlayıp ikişer atlayarak 0, 2 ve 4. indeksleri alır. Bu indeksler sırasıyla 'Python', 'dersini' ve 'seviyorum' elemanlarına karşılık gelir. Bitiş indeksi (5) dilime dahil edilmez.
Soru 3
Yukarıda verilen Python kodlarına göre sonuc değişkeninin veri tipi nedir?
CDoğru cevap
Soru 4
Python’da adSoyad = (“elif”, “kartal”) şeklinde tanımlanıyor. Buna göre; del adSoyad
Python kodu ile ilgili aşağıdakilerden hangisi doğrudur?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
adSoyad = ("elif", "kartal") parantezle tanımlandığı için bir demettir (tuple). del adSoyad komutu değişkeni, yani demetin tamamını siler; sonrasında adSoyad kullanılırsa NameError alınır. Demetler değiştirilemez olduğu için tek bir elemanı da silinemez.
Soru 5
Yukarıda verilen Python kodları ile ilgili aşağıdaki seçeneklerden hangisi doğrudur?
ADoğru cevap
Soru 6
array ([[2,7],
[1,1],
[0,7],
[7,6],
[8,9]]) Yukarıda “a” adlı bir NumPy dizisi tanımlanıyor. Buna göre a.ndim kod satırı çalıştırıldığında aşağıdaki seçeneklerden hangisi elde edilir?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
ndim özelliği bir NumPy dizisinin boyut (eksen) sayısını verir. Bu dizi 5 satır ve 2 sütundan oluşan bir matristir, bu yüzden a.ndim değeri 2'dir. (5, 2) değeri a.shape'e, 10 değeri a.size'a, int32 ise a.dtype'a karşılık gelir.
Soru 7
Yukarıda Python kodlarında verilen while döngüsü ile bir “sonsuz döngü” elde edilebilmesi için kaç numaralı kod satırı kaldırılabilir?
ADoğru cevap
Soru 8
Yukarıda verilen Python kod satırları çalıştırıldığında aşağıdaki seçeneklerden hangisi gerçekleşir?
DDoğru cevap
Soru 9
Aşağıdaki seçeneklerden hangisinde Python değişken tanımlama kurallarına uygun bir tanımlama işlemi gerçekleştirilmemiştir?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
for, Python'da ayrılmış bir anahtar kelimedir (döngü yapısında kullanılır) ve değişken adı olarak kullanılamaz; for = 3 satırı SyntaxError verir. Diğer tanımlar geçerlidir: kar_43 harfle başlar ve alt çizgi içerebilir, myNum ise camelCase yazımla tanımlanmıştır.
Soru 10
Yukarıda verilen Python kod satırları çalıştırıldığında aşağıdakilerden hangisi döndürülür?
BDoğru cevap
Soru 11
Python’da sınıf (class) kavramı ile ilgili verilenlerden hangisi yanlıştır?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Soru yanlış olan ifadeyi soruyor. Python'da bir nesnenin özelliklerine ve metotlarına nokta (.) operatörüyle erişilir (ör. ogr.ad). Dolar ($) sembolünün Python'da böyle bir görevi yoktur; değişkenlere $ ile erişmek PHP'ye özgüdür. Diğer ifadeler doğrudur.
Soru 12
a = 50
b = 90.50
c = “Beşiktaş”
d = “E”
e = False
biçiminde veriliyor. Buna göre isinstance(…. , float)
Python kod satırında … ile belirtilen yere aşağıdaki seçeneklerde verilen değişken adlarından hangisi ya da hangileri getirilirse sonuç True elde edilir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
isinstance(nesne, float), nesne float türündeyse True döndürür. Değişkenler arasında yalnızca b = 90.50 ondalıklı sayıdır, yani float'tur. a bir int, c ve d birer str, e ise bool türündedir.
Soru 13
Yukarıda verilen Python kod satırlarında yer alan pass deyimi hakkında aşağıdaki seçeneklerden hangisi doğrudur?
DDoğru cevap
Soru 14
“veri” adlı bir pandas DataFrame’inin V1 ve V2 adlı iki sütunu bulunmaktadır. Sütun adlarının sırasıyla ad ve soyad olarak değiştirilebilmesi için aşağıdakilerden hangisi kullanılabilir?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
pandas'ta sütun adlarını değiştirmek için rename() metodu kullanılır. Bu metoda columns parametresiyle eski adı yeni ada eşleyen bir sözlük verilir: veri.rename(columns={"V1": "ad", "V2": "soyad"}). setname, usename ve relevel adında DataFrame metotları yoktur.
Soru 15
ad, soyad, yas, cinsiyet, gelir şeklinde 5 sütundan oluşan “calisan” adlı bir pandas DataFrame’i tanımlanıyor. Eğer tüm çalışanların ad ve soyadları elde edilmek istenirse aşağıdaki seçeneklerden hangisi kullanılabilir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Bir DataFrame'den birden fazla sütun seçmek için sütun adları bir liste olarak verilir, bu yüzden çift köşeli parantez kullanılır: calisan[["ad", "soyad"]]. calisan["ad", "soyad"] biçiminde tek parantez kullanılırsa pandas bunu tek bir (tuple) sütun adı olarak arar ve KeyError verir. calisan[1:3] ise sütun değil satır seçer.
Soru 16
Aşağıdaki seçeneklerden hangisi Spyder’daki “değişken gezgini” (variable explorer) olarak bilinen pencereyi tarif eder?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Spyder'daki değişken gezgini (Variable Explorer), çalışma sırasında oluşturulan değişkenlerin, listelerin, dizilerin ve DataFrame'lerin adını, türünü, boyutunu ve değerini gösterir. Bu nesneler buradan incelenip düzenlenebilir. Kodlar editörde yazılır, grafikler ise Plots bölmesinde görüntülenir.
Soru 17
python -m venv sOrtam
Yukarıda verilen kod satırı “Spyder Terminal” ekranında çalıştırılıyor. Buna göre, aşağıdakilerden hangisi gerçekleştirilmek istenmektedir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
python -m venv sOrtam komutu, venv modülünü çalıştırarak "sOrtam" adlı bir Python sanal ortamı oluşturur. Sanal ortam, projeye özel paketlerin sistemdeki Python kurulumundan bağımsız olarak yüklenmesini sağlar. Burada -m bir modülü çalıştırır; venv ve sOrtam değişken değildir.
Soru 18
… özelliklerin ve metotların tek bir sınıf içinde paketlenmesini ifade eder.
Yukarıdaki tanım, aşağıdaki seçeneklerden hangisindeki kavrama aittir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Kapsülleme (encapsulation), bir nesneye ait özelliklerin (veri) ve metotların tek bir sınıf içinde bir araya getirilmesidir. Böylece verilere dışarıdan doğrudan erişim de kontrol altına alınabilir. Kalıtım bir sınıfın başka bir sınıftan özellik devralmasıdır, çok biçimlilik ise aynı arayüzün farklı biçimlerde davranmasıdır.
Soru 19
Aşağıda verilen seçeneklerden hangisi Python’da kullanıcı tarafından tanımlanan bir fonksiyon (user defined function) oluşturmak için kullanılır?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Python'da kullanıcı tanımlı fonksiyonlar def anahtar kelimesiyle oluşturulur: def selamla(ad):. if ve else koşul ifadeleridir, break döngüyü sonlandırır, pass ise hiçbir işlem yapmayan bir yer tutucudur.
Soru 20
Yukarıda verilen sorunun doğru şıkkını işaretleyiniz.