Final 2025-2026 18 soru

Algoritmalar ve Programlamaya Giriş 2025-2026 Final

Kaynak: https://lolonolo.com/2026/01/21/algoritmalar-ve-programlamaya-giris-2025-2026-final-sorulari-guz/

📖 Konu özeti (sınav öncesi tekrar)

Algoritmalar ve Programlamaya Giriş 2025-2026 Final Soruları (Güz)

Algoritma ve Programlamaya Giriş 2025 Final Soruları

Viddeo Özet İzle

18 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Yukarıdaki kaba kodda verilen işlemin en son adımındaki çıktısı aşağıdakilerden hangisidir?
BDoğru cevap
Açıklama
Bu algoritma, matematikteki “Faktöriyel” işlemini hesaplamaktadır. Döngü 1’den 5’e kadar döner ve her adımda `carpim` değişkenini `i` ile çarpar.
1. Adım: carpim = 1 * 1 = 1
2. Adım: carpim = 1 * 2 = 2
3. Adım: carpim = 2 * 3 = 6
4. Adım: carpim = 6 * 4 = 24
5. Adım: carpim = 24 * 5 = 120
Döngü bittiğinde ekrana yazılan son değer 120’dir (5!).
2.
BAŞLA 
? 
YAZ(kullanıcı_sifre) 
BİTİR
Soru 2
Yukarıdaki örnek programda kullanıcıdan şifresini girmesi istenmektedir. Bunun için soru işareti olan yere gelmesi gereken satır hangi şıkta doğru yazılmıştır?
CDoğru cevap
Soru 3
Bir kullanıcıdan alınan A sayısının üç katının 4 fazlası ile yine kullanıcıdan alınan B sayısının beş eksiğinin 2 katı birbiriyle toplanmaktadır. Bu işlemler sonucunda elde edilen toplam, önce C değişkenine atanmaktadır. Ardından C değişkeni yazdırılmaktadır. Verilen kaba kodda soru işareti bulunan satırlara hangi şıktaki ifadeler gelmelidir?
CDoğru cevap
Açıklama
Sözel ifadeyi matematiksel formüle dökersek:
1. Kısım: “A sayısının üç katının 4 fazlası” -> (A * 3 + 4). (İşlem önceliğinde çarpma önce yapılır, sonra toplama).
2. Kısım: “B sayısının beş eksiğinin 2 katı” -> Önce çıkarma işlemi yapılmalı, sonra çarpılmalıdır. Bu yüzden parantez şarttır: ((B – 5) * 2).
Bu iki ifade toplanıp C’ye atanır: C = (A*3+4) + ((B-5)*2). D şıkkı yanlıştır çünkü “B’nin 5 eksiğinin 2 katı” ifadesinde parantez kullanmazsanız işlem önceliği gereği önce çarpma yapılır (5*2) sonra çıkarma yapılır, bu da sonucu değiştirir.
Soru 4

I. Böl ve fethet mantığına göre çalışan bir algoritma özyinelemeli olarak çalışabilir.
II. Bu mantığa göre, problem tek bir adımda çözülmeye çalışılmaz.
III. Bu mantığa göre çalışan bir algoritma kullanıldığında, farklı alt kümelerden elde edilen sonuçlar birleştirilerek nihai sonuç elde edilir.
IV. Tüm sıralama algoritmaları böl ve fethet mantığına göre çalışır.
Böl ve fethet mantığına göre çalışan algoritmalar için yukarıdaki ifadelerden hangisi veya hangileri doğrudur?
EDoğru cevap
Açıklama
Böl ve Fethet (Divide and Conquer) yaklaşımı; büyük bir problemi daha küçük alt problemlere bölmeyi (II), bunları çözmeyi (genellikle özyinelemeli/recursive olarak – I) ve sonuçları birleştirerek (III) ana çözüme ulaşmayı hedefler. Merge Sort ve Quick Sort bu mantıkla çalışır. Ancak IV. madde yanlıştır; çünkü tüm sıralama algoritmaları bu mantığı kullanmaz. Örneğin “Bubble Sort” (Kabarcık Sıralama) veya “Selection Sort” (Seçmeli Sıralama) böl ve fethet yöntemini kullanmaz, iteratif yöntemler kullanır.
5.
i 0 1 2 3 4 5
satis (TL) 250 150 600 90 450 700
Soru 5
Bir mağazada çalışan işçilerin günlük satış miktarları bir dizide tutulmaktadır.
300 TL’den fazla satış yapan işçilerin indislerini yazdırmak için aşağıda verilen kaba kodlardan hangisi doğrudur?
EDoğru cevap
Açıklama
Sorudaki dizi tablosuna bakıldığında indisler 0’dan başlayıp 5’e kadar gitmektedir (Toplam 6 eleman).
– Döngü aralığı: Dizinin tüm elemanlarını taramak için 0’dan 5’e kadar olmalıdır.
– Koşul: “300 TL’den fazla” denildiği için satis(i) > 300 olmalıdır.
– Çıktı: “İşçilerin indislerini yazdırmak” istendiği için ekrana satış miktarı değil, sayaç değişkeni olan i yazdırılmalıdır.
Bu şartları sağlayan tek seçenek E şıkkıdır.
Soru 6
I. Diziler sayısal olmayan değerleri tutabilir.
II. Diziler mantıksal değerleri tutabilir.
III. Dizideki elemanların pozisyonunu işaret etmek için indis değeri kullanılır. IV. Aynı dizinin içinde farklı tiplerde eleman bulunabilir. Diziler ile ilgili olarak yukarıdaki ifadelerden hangisi veya hangileri doğrudur?
BDoğru cevap
Açıklama
Diziler (Arrays) hakkında:
– I. Doğru: Karakter (String) dizileri metin tutabilir.
– II. Doğru: Boolean dizileri mantıksal (True/False) değer tutabilir.
– III. Doğru: Dizinin elemanlarına ulaşmak için sıra numarası yani “indis” (index) kullanılır.
– IV. Yanlış: Klasik programlama dillerinde (C, Java, Pascal vb. algoritma mantığında) diziler homojen yapılardır; yani bir dizi tanımlandığında sadece tek bir veri tipini (sadece sayı veya sadece metin) tutabilir. Farklı tipler aynı dizide barınamaz.
Soru 7
Aşağıdakilerden hangisi bir akış diyagramında sadece bir kez kullanabilecek elemanlardandır?
EDoğru cevap
Açıklama
Akış diyagramlarında karar yapıları (koşul), döngüler veya alt programlar mantık gereği birden fazla kez kullanılabilir. Ancak bir algoritmanın mantıksal akışının tek bir başlangıç noktası vardır. “Başla” (Start) sembolü, akışın giriş kapısıdır ve diyagramda sadece bir kez bulunur. (Not: “Bitir” sembolü bazen birden fazla yerde olabilir ama “Başla” tektir).
Soru 8
Sipariş No (101, 203, 345, 567, 789, 890).

Yukarıdaki dizinin (indis değeri 0’dan başlamak üzere) Sipariş_No(3) değeri aşağıdaki seçeneklerin hangisinde doğru verilmiştir?
EDoğru cevap
Açıklama
Dizilerde indis saymaya 0’dan başlanır:
– İndis 0 -> 101
– İndis 1 -> 203
– İndis 2 -> 345
– İndis 3 -> 567
Dolayısıyla Sipariş_No(3) değeri 567’dir.
Soru 9
I. Özyinelemeli fonksiyonlar, geri değer döndürmeyen alt programlarda kullanılırlar.
II. Bu yapı, kodun uzamasına sebep olur.
III. Programın kendi kendisini çağırdığı bir yapı söz konusudur.
IV. Programın kendisini çağırması bir noktada sonlanmalı, programın sonsuz döngüye düşmemesine dikkat edilmelidir.
Yukarıda özyinelemeli alt programlar ile ilgili bazı ifadeler yer almaktadır. Bu ifadelerden hangisi veya hangileri yanlıştır?
ADoğru cevap
Açıklama
Özyineleme (Recursion) hakkında:
– III. Doğru: Fonksiyonun kendini çağırmasıdır.
– IV. Doğru: Mutlaka bir durdurma koşulu (Base Case) olmalıdır, yoksa sonsuz döngüye girer (Stack Overflow).
– I. Yanlış: Özyinelemeli fonksiyonlar (Faktöriyel, Fibonacci gibi) genellikle bir hesaplama yapıp geriye değer döndürürler (return). Sadece void fonksiyonlarda kullanılır demek yanlıştır.
– II. Yanlış: Özyineleme, genellikle karmaşık döngüsel problemleri daha az satırla ve daha temiz bir kodla çözmeyi sağlar; kodun uzamasına değil, aksine kısalmasına ve mantığın sadeleşmesine yarar.
10.algoritmalar ve programalamay giriş sor 10
Soru 10
Y = (2*i + i^2) işlemi yapılan ve i değerinin -5 ile 18 arasında 2’şer artarak değiştiği akış diyagramında, döngü parametreleri boş bırakılan yere hangisi gelmelidir?
CDoğru cevap
Açıklama
Akış diyagramlarında döngü (altıgen) sembolünün içine yazılan parametrelerin sırası genellikle şöyledir:
Değişken = Başlangıç Değeri, Bitiş Değeri, Artış Miktarı
Soruda verilen bilgilere göre:
– Başlangıç: -5
– Bitiş: 18
– Artış: 2
Bu nedenle doğru gösterim: i = -5, 18, 2 şeklindedir.
Soru 11
Bir bilgisayar programı, 1’den N’ye kadar olan sayıların içinden sadece çift olanları ekrana yazdırmaktadır.
Programın her sayıyı kontrol ederken hangi adımları izlemesi gerektiğini ve nasıl çalıştığını en iyi açıklayan seçenek aşağıdakilerden hangisidir?
ADoğru cevap
Açıklama
Bir sayının çift olup olmadığını anlamanın algoritmik yolu, o sayının 2 ile bölümünden kalana (Modülüs işlemine) bakmaktır. Eğer Sayi MOD 2 = 0 ise (kalan sıfırsa), o sayı çifttir. Program döngü içinde her sayıyı bu kontrolden geçirir ve koşulu sağlayanları yazdırır.
12.

BASLA
OKU (vize)
OKU (final)
gecmePuani = vize*0.4 + final*0.6
YAZ (?)
BITIR
Soru 12
Bir öğrenci ders kapsamında iki farklı sınava girmektedir.
Vize Sınaının %40’ını, final sınavını %60’ını hesaplayıp toplam geçme puanını hesaplayan ve sonucu kullanıcıya gösteren programda soru işareti ile ifade edilen alana ne yazılmalıdır?
DDoğru cevap
Açıklama
Algoritmada bir işlem yapıldığında, sonucun saklandığı değişkenin adı önemlidir. Soruda hesaplama sonucu `gecmePuani` adlı değişkene atanmıştır. Kullanıcıya sonucu göstermek için (YAZ komutuyla), içinde sonucun bulunduğu bu değişkenin adı yazılmalıdır. Yani YAZ (gecmePuani) doğru komuttur.
Soru 14

I. Algoritma yardımı ile bir problemin çözümüne dair adımlar tek tek veya aşama aşama ifade edilemez.
II. Bir arama algoritması, istenen elemanı dizide arayabilmek için, dizi elemanlarının sıralanmış olmasını gerektirebilir.
III. Arama algoritmalarının performansı algoritmadan algoritmaya farklılık gösterir.
IV. Sıralama algoritmalarından bazıları, elemanların karşılaştırılarak sıralanması mantığına göre çalışır.
Algoritmalar ile ilgili olarak yukarıdaki ifadelerden hangisi ya da hangileri yanlıştır?
BDoğru cevap
Açıklama
Algoritmanın tanımı gereği; bir problemin çözümü için gerekli olan adımların tek tek, sıralı ve aşamalı olarak ifade edilmesidir. I. maddedeki “ifade edilemez” yargısı, algoritmanın doğasına ve tanımına tamamen terstir ve yanlıştır. Diğer maddeler (II: İkili arama için sıralı dizi gerekir, III: Algoritmaların hızları/Big O farklıdır, IV: Karşılaştırmalı sıralama vardır) doğrudur.
15.
Alt Program:

...... sirala(A, B)
BAŞLA
EĞER (A > B)
YAZ ("İlk sayı daha büyük")
EĞER (B > A)
YAZ ("İkinci sayı daha büyük")
BİTİR

Üst Program :

BAŞLA
OKU A, B
...... sirala (A, B)
BİTİR

A) function, call
B) return, main
C) void, call
D) main, return
E) return, void
16.
imt carpma (A, B)
BASLA
sonuc = A * B
........ sonuc
BİTİR
Soru 15
Yukarıdaki geri değer döndüren bir alt programın kaba kodunda boş bırakılan yere aşağıdakilerden hangisi getirilmelidir?
BDoğru cevap
Açıklama
Bir alt program (fonksiyon) bir işlem yapıp (örneğin çarpma), bulduğu sonucu ana programa geri gönderecekse, bu işlem için “return” (döndür) komutu kullanılır. Kodda `sonuc` değişkeni hesaplanmış ve bu değerin dışarı aktarılması gerekmektedir.
Soru 17
“Herhangi bir öğrencinin final sınav notu 40’a eşit ve 40’tan düşükse, final sınavı geçersiz sayılır.” Yukarıdaki ifadenin tersi şıklardan hangisinde verilen kaba kodda doğru ifade edilmiştir?
DDoğru cevap
Açıklama
Orijinal ifade: Not <= 40 ise GEÇERSİZ. Bu mantığın tam tersi (değili): Not > 40 ise GEÇERLİ.
D şıkkı, “40’tan yüksek alırsa… geçerli sayılır” diyerek bu ters mantığı (Validasyon kuralını) doğru ifade etmektedir.
Soru 18
Bir arama algoritması için aşağıdaki ifadelerden hangisi doğrudur?
DDoğru cevap
Açıklama
Özellikle Doğrusal Arama (Linear Search) gibi algoritmalarda, aranan eleman dizide yoksa, algoritma dizinin başından sonuna kadar tüm elemanlarına bakmak zorunda kalır. Bu durum, maksimum işlem sayısına ulaşılması anlamına gelir ve “En Kötü Durum” (Worst Case) senaryosudur. Diğer şıklar yanlıştır (İlk eleman olabilir, her algoritma tek tek taramaz -örn: binary search-, eleman bulunmak zorunda değildir).
Soru 19
I.
BAŞLA
OKU sayı
EĞER (sayı % 2 =0) İSE
YAZ (sayı !)
BİTİR

II.
BAŞLA
OKU sayı
EĞER (sayı %2 = 0) İSE
(sayı * sayı)
YAZ sayı
BİTİR

III.
BAŞLA
OKU sayı
EĞER (sayı %2)İSE
YAZ (sayı * 3+5)
YAZ sayı
BİTİR

IV.
BAŞLA
OKU sayı
EĞER (sayi %<>0) İSE
YAZ (sayı * 3 + 5)
YAZ sayı
BİTİR

Tasarlanan iki ayrı kaba kodda şu işlemler yapılmaktadır:
– İlk işlemde sayı çift sayı ise sayının karesi hesaplanır.
Bu işlemin sonucunda sadece sayının değeri ekrana yazdırılır.
– İkinci işlemde sayı çift sayı değilse (tekse) üç ile çarpılır ve kendisine 5 eklenir, bu işlemin sonucunda sırasıyla önce yapılan işlemin sonucu ve ardından sayının değeri ekrana yazdırılır.
Bahsedilen bu iki işlemi gerçekleştiren kaba kodlar yukarıdaki seçeneklerden hangisi ya da hangilerinde doğru olarak verilmiştir?
ADoğru cevap
Açıklama

İşlem 1 (Çift Sayı): Çift kontrolü yapılmalı (Mod 2 = 0) ve ekrana “sayı” yazdırılmalı (Sonuç değil, sayı). II numaralı kodda `sayı%2==0` kontrolü var, kare hesaplanıyor ama `YAZ sayı` denilerek orijinal sayı yazdırılıyor. Bu, tanıma uyar.
İşlem 2 (Tek Sayı): Tek kontrolü yapılmalı (Mod 2 != 0 veya <> 0). İşlem sonucu (3 katının 5 fazlası) ve sayı yazdırılmalı. IV numaralı kodda `sayı%2<>0` kontrolü var, işlem yapılıyor ve `YAZ (işlem sonucu)`, `YAZ sayı` komutları var. Bu da tanıma uyar.
Doğru eşleşme II ve IV kod bloklarıdır.
Soru 21
Başla -> OKU kelime -> i=1,6 -> YAZ kelime -> Bitir akış diyagramı ile ilgili olarak aşağıdakilerden hangisi yanlıştır?
ADoğru cevap
Açıklama
Akış diyagramında döngü parametreleri `i=1,6` olarak sabitlenmiştir. Bu, döngünün 1’den başlayıp 6’ya kadar döneceği ve kelimeyi tam olarak 6 kez yazdıracağı anlamına gelir. Kullanıcıdan bir sayı istenmemekte, sadece kelime istenmektedir. Dolayısıyla yazdırma sayısı kullanıcının isteğine (keyfine) bağlı değildir, programda sabitlenmiştir. A şıkkı yanlıştır.