Algoritma ve Programlamaya Giriş 2025 Vize Deneme (Güz)
Algoritma ve Programlamaya Giriş 2025 Vize Deneme (Güz)
#1. Aşağıdakilerden hangisi bir algoritmada olabilecek kontrol yapılarından değildir?
Cevap : E) Sonlu yapı
Açıklama : Algoritmaların temel kontrol yapıları şunlardır: **Sıralı yapı** (Sequential), **Seçimli/Koşullu yapı** (Selection/Conditional – if/else), **Tekrarlı yapı** (Iteration – for/while). “Sonlu yapı” bir kontrol yapısı türü değildir; algoritmanın kendisinin sonlu sayıda adımdan oluşması bir özelliktir.
#2. Kendini çağıran fonksiyonlara ne ad verilir?
Cevap : E) Özyinelemeli fonksiyon
Açıklama : Bir fonksiyonun kendi tanımı içerisinde yine kendisini çağırması işlemine özyineleme (recursion), bu tür fonksiyonlara da **Özyinelemeli Fonksiyon (Recursive Function)** denir.
#3. Alt programların kullanımı ile ilgili aşağıdaki şıklardan hangisi yanlıştır?
Cevap : C) Değer döndürmeyen alt programlarda sonucu döndürmek için return komutu kullanılırsa değer döndürülebilir.
Açıklama : Değer döndürmeyen (void) alt programlar, bir hesaplama sonucu döndürmek için tasarlanmamıştır. `return` komutu bu tür fonksiyonlarda sadece fonksiyonun çalışmasını sonlandırmak için (değersiz olarak) kullanılabilir, bir değer döndürmek için kullanılamaz. Değer döndürmek için fonksiyonun tanımının (örn: `int`, `float` vb.) değer döndürecek şekilde yapılması gerekir.
#4. 10-0 arasındaki sayıları for döngüsü kullanarak (10’dan 0’a doğru) yazdırılmak isteniliyorsa aşağıdakilerden hangisi bu yapı ile ilgili doğru bir ifade olur?
Cevap : D) Sayaç birer birer azaltılmalıdır.
Açıklama : 10’dan 0’a doğru geri sayım yapmak için döngünün başlangıç değeri 10, koşulu sayacın 0’a eşit veya büyük olması (>=0) ve her adımda sayacın birer birer **azaltılması** (`–` veya `-1`) gerekir.
#5. Aşağıdaki seçeneklerden hangisi “ders_adı” string değişkeni değerinin “algoritma” olmasını kontrol eder?
Cevap : D) ders_adı = “algoritma”
Açıklama : Çoğu programlama dilinde ve pseudocode’da, bir string değişkeninin belirli bir değere eşit olup olmadığını kontrol etmek için `==` (karşılaştırma operatörü) veya bazı durumlarda `=` (atama operatörü yerine karşılaştırma anlamında da kullanılabilir) kullanılır. String değerler genellikle çift tırnak (`” “`) içinde belirtilir. D şıkkı bu yapıya en uygun olanıdır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
BAŞLA
FOR i = 0 TO 3
FOR j = 0 TO 4
YAZ (matris[i, j])
NEXT j
NEXT i
BİTİR
#6. Yukarıda verilen kaba kod ile ilgili olarak verilen şıklardan hangisi yanlıştır?
Cevap : D) Dizinin tüm elemanları 1’dir.
Açıklama : Verilen kod, iki boyutlu (`i` ve `j` indisleri) bir matrisin elemanlarını yazdırmaktadır. Dış döngü `i = 0 TO 3` (yani 0, 1, 2, 3 indisleri – **4 satır**), iç döngü `j = 0 TO 4` (yani 0, 1, 2, 3, 4 indisleri – **5 sütun**) çalışır. Kod sadece matrisin elemanlarını yazdırır, elemanların değerinin ne olduğu hakkında bilgi vermez. Bu nedenle “Dizinin tüm elemanları 1’dir” ifadesinin doğruluğu bilinemez ve yanlıştır. Ayrıca A şıkkı (3 satır değil 4 satır) ve B şıkkı (4 sütun değil 5 sütun) da yanlıştır. Ancak D şıkkı, kodun içeriğiyle ilgili kesin olarak yanlışlanabilecek bir ifadedir.
#7. Aşağıdaki algoritmalardan hangisinde sıralama yaparken bir pivot eleman seçilir?
Cevap : D) Hızlı sıralama
Açıklama : **Hızlı Sıralama (Quick Sort)** algoritması, diziyi sıralamak için bir **pivot eleman** seçer ve diğer elemanları bu pivottan küçükler ve büyükler olarak iki alt diziye ayırır. Bu işlem özyinelemeli olarak alt dizilere uygulanır.
#8. Basit algoritma yapısında hiçbir koşul veya döngü olmadığı durumda işlemler birbirini nasıl takip eder?
Cevap : A) Ardışık olarak
Açıklama : Sıralı yapı olarak da bilinen basit algoritma yapısında, komutlar yazıldığı sırayla, **ardışık olarak** yukarıdan aşağıya doğru çalıştırılır.
#9. Hızlı sıralama algoritması ile ilgili olarak aşağıdakilerden hangisi doğrudur?
Cevap : E) Hepsi
Açıklama : **Hızlı Sıralama (Quick Sort)** algoritması; **böl ve fethet** mantığını kullanır (A doğru), sıralama için bir **pivot eleman** seçer (B doğru), ortalama zaman karmaşıklığı **O(n log n)**’dir (C doğru) ve genellikle **özyinelemeli** (recursive) olarak uygulanır (D doğru). Bu nedenle hepsi doğrudur.
#10. for döngüsü ile ilgili aşağıdakilerden hangisi yanlıştır?
Cevap : E) Artış miktarı mutlaka belirtilmelidir.
Açıklama : Çoğu programlama dilinde `for` döngüsünde artış miktarı kısmı **isteğe bağlıdır**. Belirtilmezse genellikle varsayılan olarak +1 artış yapılır veya döngü içinde manuel artış sağlanabilir. Ancak başlangıç ve bitiş koşulları genellikle gereklidir. Artış miktarı negatif de olabilir (azaltma). Akış diyagramında döngüler genellikle altıgen veya koşul (eşkenar dörtgen) ve işlem (dikdörtgen) kombinasyonlarıyla gösterilir, tek başına altıgen standart değildir.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#11. AND mantıksal operatöründe sonucun doğru (TRUE) döndürülmesi için aşağıdaki koşullardan hangisinin sağlanması gerekir?
Cevap : C) Her iki durumun doğru olması
Açıklama : AND (VE) mantıksal operatörü, birleşik koşulun sonucunun doğru (TRUE) olabilmesi için, birleştirdiği **her iki durumun da ayrı ayrı doğru (TRUE) olmasını** gerektirir.

#12. Aşağıda verilen iki boyutlu sayılar isimli dizideki, 8, 9 ve 3 elemanlarına sırasıyla erişilmek isteniyor.
Buna göre aşağıdaki şıklardan hangisi bu işlemlerin yapılmasını sağlar?
Cevap : B) sayılar[2,1] sayılar[2,2] sayılar[0,2]
Açıklama : İki boyutlu dizilerde elemanlara `dizi_adı[satır_indisi, sütun_indisi]` (veya bazı dillerde `dizi_adı[satır_indisi][sütun_indisi]`) şeklinde erişilir. İndisler genellikle 0’dan başlar.
8 elemanı: 2. satır, 1. sütun -> `sayılar[2,1]`
9 elemanı: 2. satır, 2. sütun -> `sayılar[2,2]`
3 elemanı: 0. satır, 2. sütun -> `sayılar[0,2]`
Doğru sıra B şıkkında verilmiştir.
#13. İkili arama algoritmasının ön şartı nedir?
Cevap : D) Dizinin sıralanmış olması gerekir.
Açıklama : **İkili Arama (Binary Search)** algoritmasının çalışabilmesi için temel ön şart, arama yapılacak dizinin elemanlarının **sıralanmış (sorted)** olmasıdır. Algoritma, diziyi sürekli ortadan ikiye bölerek arama yaptığı için sıralama zorunludur.
#14. Bir for döngüsünde sayaç değişkeninin artması gerektiğini ifade etmek için hangi eleman kullanılır?
Cevap : E) Artış Miktarı
Açıklama : Bir `for` döngüsünün tipik yapısı `for(başlangıç; koşul; artış/azalış)` şeklindedir. Sayaç değişkeninin her adımda nasıl değişeceğini (artacağını veya azalacağını) belirten kısım **Artış Miktarı** (increment/decrement) kısmıdır.
#15. “Test notu 65’ten düşükse, testi yapan kişi başarısız olmuş demektir.”
Yukarıdaki ifadenin tersi şıklardan hangisinde doğru ifade edilmiştir?
Cevap : B) EĞER Deniz testten 40’dan düşük alırsa YAZ(“Deniz başarısızdır.”)
Açıklama : Orijinal ifade “Not < 65 ise Başarısız” şeklindedir. Verilen şıklar, orijinal ifadenin doğrudan mantıksal tersini veya eşdeğerini sormaktan ziyade, benzer bir başarısızlık koşulunu farklı değerlerle ifade etmektedir. Sorunun kurgusu ve şıklar arasındaki ilişki net olmamakla birlikte, “40’tan düşük almak” da bir başarısızlık durumu olarak yorumlanabilir ve orijinal ifadedeki mantığa benzer bir koşul sunar.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
Alt Program
int Faktoriyel (int n)
BAŞLA
IF (n == 0) THEN
return 1
ELSE
return (n * Faktoriyel (n - 1))
END IF
BİTİR
Ana Program
BAŞLA
OKU ("Sayı giriniz:", sayı)
_______
YAZ (sonuç)
BİTİR
#16. Yukarıdaki kaba kodda kullanıcı tarafından girilen sayıya göre faktöriyel hesabı yapılmaktadır. Ana programdan alt programın çağrılması için boş bırakılan yere gelmesi gereken doğru cevap, şıklardan hangisinde verilmiştir?
Cevap : B) int sonuç = Faktoriyel(sayı)
Açıklama : `Faktoriyel` alt programı bir `int` (tamsayı) değer döndürmektedir (`return`). Ana programda bu alt program çağrılırken, kullanıcıdan alınan `sayı` değişkeni argüman olarak gönderilmeli ve alt programdan dönen değer, `sonuç` gibi bir değişkene atanmalıdır. Bu nedenle `int sonuç = Faktoriyel(sayı)` doğru çağrımdır.
#17. Bir algoritmada değer artışının ifade edilmesi için aşağıdakilerden hangi kullanılmaz?
Cevap : E) a+-1
Açıklama : A, B, C ve D şıkları bir değişkenin değerini bir artırmak için kullanılan farklı yöntemlerdir (atama, ön artırma, son artırma). E şıkkındaki `a+-1` ifadesi ise geçerli bir artırma operatörü veya ifadesi değildir, genellikle sözdizimi hatası verir.
#18. a=5, b= 8
EĞER a > 10 VE b < 5 ise YAZ("a 10'dan büyük ve b 5'ten küçüktür.")
EĞER a > 10 VEYA b < 5 ise YAZ("Ya a 10'dan büyüktür ya da b 5'ten küçüktür.")
DEĞİLSE EĞER YAZ(“Ne a 10’dan büyük ne de b 5’ten küçüktür.”)
Yukarıda verilen kaba kodun çıktısı aşağıdaki şıklardan hangisinde doğru verilmiştir?
Cevap : C) “Ne a 10’dan büyük ne de b 5’ten küçüktür.”
Açıklama : İlk EĞER koşulu (a > 10 VE b 10 Yanlış). İkinci EĞER koşulu (a > 10 VEYA b 10 Yanlış, 8<5 Yanlış, Yanlış VEYA Yanlış = Yanlış). Bu nedenle DEĞİLSE EĞER (ELSE IF gibi düşünülebilir ama burada sadece ELSE anlamında kullanılmış) bloğu çalışır ve ekrana “Ne a 10’dan büyük ne de b 5’ten küçüktür.” yazar.
#19. Diziler ile ilgili olarak aşağıdakilerden hangisi yanlıştır?
Cevap : D) Bir dizinin elemanları aynı veri tipinde olmak zorunda değildir.
Açıklama : Geleneksel dizilerin (array) temel özelliği, **tüm elemanlarının aynı veri tipinde olmasıdır** (örn: hepsi tamsayı, hepsi karakter, hepsi string). Farklı veri tiplerini bir arada tutmak için genellikle yapılar (struct) veya nesneler (object) kullanılır. Bu nedenle D şıkkı yanlıştır.
#20. Aşağıdakilerden hangisi ile ifade edilen bir algoritma performansı diğerlerine göre daha yüksektir?
Cevap : D) O(1)
Açıklama : Algoritma performansında O-notasyonu, algoritmanın çalışma süresinin girdi boyutuna göre nasıl arttığını gösterir. Daha düşük büyüme hızı, daha yüksek performans anlamına gelir. O(1) sabit zamanlıdır ve girdi boyutundan bağımsızdır, bu nedenle en yüksek performansı temsil eder. Sıralama (en iyiden en kötüye): O(1) > O(log n) > O(n) > O(n log n) > O(n³).
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
SONUÇ
Algoritma ve Programlamaya Giriş 2025 Vize Deneme Sınavı
Algoritma ve Programlamaya Giriş 2025 Vize Deneme Sınavı
Algoritma ve Programlamaya Giriş 2025 Vize Deneme (Güz)
| Algoritma ve Programlamaya Giriş – Temel Kavramlar Özeti | |
|---|---|
|
|
| @lolonolo_com |
Algoritma ve Programlamaya Giriş 2025 Vize Deneme (Güz)
Algoritma ve Programlamaya Giriş 2025 Vize Deneme Sınavı |
|
|---|---|
|
|
| @lolonolo_com |
![]() |
![]() |
Auzef sınav soruları, çıkmış sorular, deneme sınavları hepsi lolonolo’da ücretsiz.

