Ara Sınav (Vize) 2024-2025 20 soru

Algoritmalar ve Programlamaya Giriş 2024-2025 Ara Sınav (Vize)

Kaynak: https://lolonolo.com/2026/04/09/algoritmalar-ve-programlamaya-giris-2024-2025-vize-sorulari-bahar/

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

Algoritmalar ve Programlamaya Giriş 2025 Vize Soruları (Bahar)

Algoritmalar ve Programlamaya Giriş 2025 Vize Soruları (Bahar)

Algoritma, Kaba Kod ve Akış Diyagramları

Algoritma geliştirilmesine yardımcı olan, bilgisayar tarafından çalıştırılmayan ve programlama dilinin yazım kurallarına bağlı kalınmasını zorunlu kılmayan o yarı biçimsel metne Kaba kod (Pseudocode) denir. Akış diyagramları ise problemi görsel olarak ifade eden, standartlaştırılmış elemanlardan oluşan ve seçimli/döngüsel yapıları gösterebilen araçlardır. Ancak bu diyagramların evrensel bir mantığı olduğu için Akış diyagramlarının ifade şekli programlama dillerine göre değişkenlik gösterir (III) ifadesi yanlıştır (Doğru olanlar I, II ve IV’tür). Ayrıca, bir akış diyagramında mantıksal olarak yalnızca bir kez kullanılabilecek (başlangıç noktasını gösteren) eleman Başla sembolüdür.

Bir algoritmanın veri miktarı (n) arttıkça tamamlaması gereken maksimum adım sayısını (ve çalışma süresinin nasıl arttığını) ifade eden ölçüte ise Zaman karmaşıklığı (Time complexity) adı verilir.

Veri Tipleri, Değişkenler ve Sabitler

Algoritmalarda tek tırnak içerisinde yazılan tek bir harf veya sembol karakter (char) veri tipidir. Bu nedenle ‘e’ geçerli bir karakter veri tipi örneğidir (3.14 float, 205 integer, True booleandır). Programın çalışması boyunca değeri hiçbir şekilde değişmeyen ve önceden belirlenmiş verilere (örneğin %25 yıllık kira artış oranı) programlamada sabit denir; dolayısıyla bu tür bir verinin saklanmasıyla ilgili Veri, sabitte saklanır ifadesi kesin olarak söylenebilir.

Atama işlemlerinde, örneğin “bölüm_adı” değişkenine “bilgisayar_Programcılığı” string değerini atamak için çoğu dilde standart olan bölüm_adı = “bilgisayar_Programcılığı” sözdizimi (eşitlik ve tırnak işaretleriyle) kullanılır.

Seçimli (Koşullu) Yapılar ve Mantıksal İfadeler

Koşullu yapılar (If-Else), sıralı bir algoritmadaki bazı adımların atlanmasını (I) ve bir seçim yapılmasını (II) sağlar. Ancak bu yapılar ardışık işlemi zorunlu kılmaz veya döngüleri ortadan kaldırmazlar. Bir kişinin yaşının 65 ve üzerinde olup olmadığını kontrol eden mantıksal koşul ifadesi “büyük veya eşittir” (≥) operatörü ile yas ≥ 65 şeklinde yazılmalıdır.

Günlük hayattan koşul örneklerinde; “Ödevini bitirdiysen dışarı çıkabilirsin” veya “Hava soğuduysa üzerine kalın bir kazak giy” cümleleri if/then mantığında kurulmuştur ve sadece koşulun gerçekleşmesi durumunda ne yapılacağı belirtilmiştir. Bu nedenle “ödevin bitmemesi” veya “havanın sıcak olması” durumlarında (else durumu) ne yapılacağına dair alternatif bir adım belirtilmediği için Ödevin bitmemesi durumunda ne yapılacağı bellidir ve Havanın sıcak olması durumunda ne yapılacağı bellidir ifadeleri yanlıştır.

Döngüler (Loop) ve Kaba Kod Analizi

Bir FOR döngüsünde 1’den 5’e kadar (FOR i=1 TO 5) dönülüp “YAZ (isim)” komutu çalıştırıldığında, ekrana 5 defa “isim” yazdırılır ancak sayaç olan “i” hiçbir zaman yazdırılmaz. Bu nedenle Sayaç değeri olan i birden fazla kez yazdırılmaktadır ifadesi yanlıştır. Öte yandan, 0 2 4 6 8 10 çıktı değerlerini elde etmek için (ikişer ikişer artırmak için) FOR i = 0 TO 10 STEP 2 / YAZ i / NEXT i kodu doğru yazılmıştır.

Kullanıcı çıkış kelimesini girmediği müddetçe çalışan (DO WHILE kelime != “çıkış”) bir kaba kodda, döngünün sonsuz döngüye girmemesi ve her adımda yeni girişi kontrol etmesi için döngü bloğu içine tekrardan OKU kelime komutu getirilmelidir. Ayrıca, i=10 ile başlayıp her adımda “i = i – 2” şeklinde azalan ve i’nin 0’dan büyük olması (i > 0) koşuluyla çalışan bir döngüde i sırasıyla 10, 8, 6, 4, 2 değerlerini alır ve döngü tam 5 kez çalıştırılır.

Bir akış diyagramında döngü adımı sabit olarak “i = 1, 6” şeklinde tanımlanmışsa, kelime tam 6 kez yazdırılacak demektir. Çıktı sayısını kullanıcı belirlemediği için Girilen kelime kullanıcının istediği kadar yazdırılacaktır ifadesi yanlıştır.

Aritmetik ve Kaba Kod Çıktı Hesaplamaları

Basit aritmetik işlemlerin yer aldığı kaba kodlarda adım adım hesaplama yapılır. Örneğin; A=2 ve B=10 ile başlanıp, A=A+2 (A=4) ve C=B-8 (C=2) işlemleri yapıldıktan sonra D=(AC)^2 formülü uygulanırsa D=(42)^2 = 8^2 = 64 bulunur ve çıktı D’nin değeri: 64 olur.

Benzer şekilde; kullanıcıdan X=10 ve Y=5 girildiğinde, X++ komutuyla X=11 olur. Ardından Y = X * 5 formülünde yeni X (11) yerine konulduğunda Y = 11 * 5 = 55 olur. YAZ(X) ve YAZ(Y) komutlarıyla ekrana sırasıyla 11 ve 55 çıktıları basılır.

A_sayısı=10 ve B_sayısı=50 olduğu bir kaba kodda; (10 > 50) koşulu sağlanmaz, ancak ikinci koşul olan (10 < 50) doğru olduğu için sadece altındaki B, A’dan büyüktür. metni ekrana yazdırılır.

Son olarak, vize ve finalin belli yüzdelerinin hesaplanıp “gecmePuani” isimli değişkene atandığı bir kaba kodda, sonucu kullanıcıya göstermek için YAZ komutunun içerisine soru işareti olan yere bu değişkenin adı olan gecmePuani yazılmalıdır.

Algoritmalar ve Programlamaya Giriş 2025 Vize Soruları (Bahar)

Algoritmalar ve Programlamaya Giriş 2025 Vize Soruları (Bahar)

20 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
BAŞLA
OKU (isim)
FOR i=1 TO 5
YAZ (isim)
NEXT I
BİTİR
Yukarıda verilen kod ile ilgili aşağıdakilerden hangisi yanlıştır?
ADoğru cevap
Açıklama
Verilen kaba kodda bir FOR döngüsü 1’den 5’e kadar dönmektedir. Ancak YAZ (isim) komutu kullanılarak ekrana 5 defa “isim” değişkeni yazdırılmaktadır. Sayaç değişkeni olan “i” hiçbir zaman ekrana yazdırılmamıştır. Bu nedenle A şıkkı yanlıştır.
Soru 2
Yukarıdaki kaba kodda basit aritmetik işlemler yapılmaktadır. Aşağıdaki seçeneklerin hangisinde ekrana yazdırılan çıktı doğru olarak verilmiştir?
ADoğru cevap
Açıklama
Adım adım gidersek: Başlangıçta A=2 ve B=10. Sonra A=A+2 işlemi ile A’nın yeni değeri 4 olur. C=B-8 işlemi ile C’nin değeri 10-8=2 olur. D=(AC)^2 formülünde yerine koyarsak: D=(4*2)^2 = 8^2 = 64 bulunur. Çıktı: D’nin değeri: 64 olacaktır.
Soru 3
Aşağıdakilerden hangisi algoritmalarda geçerli bir karakter veri tipi örneğidir?
ADoğru cevap
Açıklama
Karakter (char) veri tipleri genellikle tek tırnak içerisinde yazılan tek bir harf, rakam veya sembolden oluşur. ‘e’ geçerli bir karakter veri tipidir. 3.14 ondalıklı sayı (float/double), 205 tam sayı (integer), True ise mantıksal (boolean) veri tipidir.
Soru 4
“…… algoritma geliştirilmesine yardımcı olan, formal olmayan, bilgisayar tarafından çalıştırılmayan, herhangi bir programlama dilinin yazım kurallarına bağlı kalınmasını zorunlu kılmayan bir nitelik taşımaktadır.”
Yukarıdaki cümlede boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
CDoğru cevap
Açıklama
Kaba kod (Pseudocode), bir algoritmanın adımlarını programlama dillerinin katı sözdizimi kurallarına uymadan, insanların kolayca anlayabileceği günlük konuşma diline yakın, yarı biçimsel bir metinle yazılmasıdır. Doğrudan bilgisayar tarafından derlenip çalıştırılamaz.
Soru 5
I. Akış diyagramlarında seçimli yapılar ve döngü yapıları ifade edilebilir.
II. Akış diyagramları problemin görsel olarak ifade edilmesini sağlar.
III. Akış diyagramlarının ifade şekli programlama dillerine göre değişkenlik gösterir.
IV. Akış diyagramı, standartlaştırılmış elemanlardan oluşur.
Akış diyagramları ile ilgili olarak yukarıdaki ifadelerden hangisi ya da hangileri doğrudur?
EDoğru cevap
Açıklama
Akış diyagramları uluslararası düzeyde standartlaştırılmış geometrik şekiller (paralelkenar, eşkenar dörtgen, elips vb.) kullanılarak problemin çözüm adımlarını görselleştirir. Bu standartlar programlama dilinden bağımsızdır ve her dilde aynı mantığı ifade eder. Bu nedenle III. öncül yanlıştır. I, II ve IV numaralı ifadeler ise akış diyagramlarının doğru özellikleridir.
Soru 6
Bir programda yıllık kira hesabı yapılmaktadır. Buna göre programda yıllık kira artış oranı yüzde25 olarak belirlenmiştir ve bu değer programın hiçbir yerinde değiştirilmemektedir.
Yukarıdaki örnekte kullanılan verinin saklanmasıyla ilgili aşağıdakilerden hangisi kesin olarak söylenebilir?
CDoğru cevap
Açıklama
Programın çalışması boyunca değeri hiçbir şekilde değişmeyen, önceden belirlenmiş ve sabit kalacak olan verilere programlamada “sabit” (constant) adı verilir. Veri hiçbir yerde değiştirilmediği için sabitte saklanması en doğru yaklaşımdır.
Soru 7
BAŞLA
OKU (A_sayısı, B_sayısı)
EĞER (A_sayısı > B_sayısı)
YAZ (“B, A’dan küçüktür.”)
EĞER (A_sayısı < B_sayısı)
YAZ (“B, A’dan büyüktür.”)
BİTİR
Yukarıdaki kaba koda göre A_sayısı = 10, B_sayısı = 50 olduğu durumda aşağıdaki çıktılardan hangisi elde edilir?
EDoğru cevap
Açıklama
A_sayısı yerine 10, B_sayısı yerine 50 koyduğumuzda ilk koşul olan (10 > 50) sağlanmaz ve altındaki işlem atlanır. İkinci koşul olan (10 < 50) ise doğrudur. Bu nedenle altındaki YAZ (“B, A’dan büyüktür.”) komutu çalıştırılarak ekrana aynen bu metin yazdırılır.
Soru 8
Aşağıdakilerden hangisi bir akış diyagramında sadece bir kez kullanabilecek elemanlardandır?
ADoğru cevap
Açıklama
Standart bir algoritma veya akış diyagramı mantıksal olarak tek bir başlangıç noktasına sahip olmalıdır. Bu nedenle “Başla” (Start) sembolü akış diyagramında yalnızca bir kez yer alır ve programın yürütülmeye başlanacağı yeri gösterir.
Soru 9
I. Bu yapılar sayesinde sıralı bir algoritmadaki bazı adımlar atlanır.
II. Bu yapılar bir seçim yapılmasını sağlar.
III. Bu yapıların kullanımı bir algoritmada ardışık işlem yapılmasını zorunlu kılar.
IV. Bu yapılar sayesinde döngü kullanımı ortadan kalkar.
Koşullu yapılar ile ilgili olarak yukarıdaki ifadelerden hangisi ya da hangileri doğrudur?
BDoğru cevap
Açıklama
Koşullu yapılar (If-Else), bir şarta bağlı olarak programın akışını yönlendiren yapılardır. Bu sayede bazı koşullar sağlandığında belirli kod blokları çalıştırılırken (seçim yapma), sağlanmadığında o bloklar atlanmış olur. Bu yapılar ardışık işlemi zorunlu kılmaz veya döngüleri ortadan kaldırmazlar. Bu yüzden I ve II doğrudur.
Soru 10
BAŞLA
OKU (vize)
OKU (final)
gecmePuani = vize * 0.4 + final * 0.6
YAZ (?)
BİTİR
Bir öğrenci ders kapsamında iki farklı sınava girmektedir. Vize sınavının yüzde40’ını, final sınavının yüzde 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?
EDoğru cevap
Açıklama
Kaba kod incelendiğinde, hesaplanan not ortalaması “gecmePuani” isimli değişkene atanmaktadır. Sonucu kullanıcıya göstermek için YAZ komutunun içerisine bu değişkenin adı, yani gecmePuani yazılmalıdır.
Soru 11
BAŞLA
OKU (yaş)
EĞER (?)
YAZ (“Otobüse ücretsiz binebilirsiniz.”)
BİTİR
Bir kişinin yaşını kullanıcıdan girmesini isteyen ve buna göre kişi 65 yaş ve üzerindeyse ekrana mesaj yazdıran kod aşağıda verilmiştir.
Bu programda soru işareti olan yere aşağıdaki seçeneklerden hangisi gelmelidir?
CDoğru cevap
Açıklama
Metinde “65 yaş ve üzerindeyse” koşulu istenmektedir. Mantıksal operatörlerde bu durum “büyük veya eşittir” (≥) işareti ile ifade edilir. Dolayısıyla koşul (yas≥ 65) olmalıdır.
Soru 12
0 2 4 6 8 10
Yukarıdaki çıktı değerlerini elde etmek için aşağıdaki kodlardan hangisi doğru yazılmıştır?
CDoğru cevap
Açıklama
İstenen çıktıda sayılar 0’dan başlayıp 10’a kadar (10 dahil) ikişer ikişer artarak ekrana yazdırılmaktadır. FOR döngülerinde sayacın ikişer artmasını sağlamak için STEP 2 ifadesi kullanılır. C şıkkındaki döngü yapısı bu işlemi eksiksiz gerçekleştirmektedir.
Soru 13
BAŞLA
i = 10
DO WHILE (i > 0)
YAZ (“algoritma”)
i = i – 2
LOOP
BİTİR
Yukarıda verilen kaba koddaki döngü çalıştırılma adedi aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama
i’nin ilk değeri 10’dur. Döngü koşulu i’nin 0’dan büyük olmasıdır ve her adımda i değişkeni 2 azaltılır. i’nin alacağı değerler sırasıyla 10, 8, 6, 4, 2 olacaktır (toplam 5 adım). i değeri 0 olduğunda koşul sağlanmaz ve döngü sonlanır. Dolayısıyla döngü tam 5 kez çalışır.
Soru 14
Aşağıdaki seçeneklerden hangisi “bölüm_adı” değişkenine “bilgisayar_Programcılığı” değerinin atanmasını sağlar?
DDoğru cevap
Açıklama
Çoğu programlama dilinde atama operatörü “=” dir. Metinsel (string) bir değer atanırken değer tırnak işaretleri içine alınır. Değişken adı olan “bölüm_adı” tam olarak kullanılmalı ve string değer eşittir operatörü ile bu değişkene atanmalıdır.
Soru 15
“Ödevini bitirdiysen dışarı çıkabilirsin.” cümlesi ile ilgili aşağıdakilerden hangisi yanlıştır?
EDoğru cevap
Açıklama
Cümlede sadece ödevin bitmesi durumunda (koşulun gerçekleşmesi) ne olacağı (dışarı çıkabileceği) belirtilmiştir. Eğer ödev bitmezse (koşul sağlanmazsa) sonucun veya cezanın ne olacağına dair alternatif bir adım (else durumu) cümlede tanımlanmamıştır.
Soru 16
Yukarıdaki örnek kaba kodda kullanıcıdan X ve Y değerlerini girmesi istenmekte ve buna göre bir çıktı elde edilmektedir. X’in 10, Y’nin 5 girildiği bir durumda kaba kodun çıktısı aşağıdaki hangi şıkta doğru verilmiştir?
BDoğru cevap
Açıklama
Kullanıcı X=10 ve Y=5 olarak girdiğinde kod işlemeye başlar. X++ komutu X değerini 1 arttırır, yeni X değeri 11 olur. Ardından Y = X * 5 formülünde güncel X değeri yerine konur: Y = 11 * 5 = 55 olur. YAZ komutları sırasıyla güncel X (11) ve güncel Y (55) değerlerini ekrana basar.
Soru 17
BAŞLA
OKU kelime
DO
YAZ (kelime)
…….
LOOP WHILE (kelime != “çıkış”)
BİTİR
Kullanıcı, çıkış kelimesini girmediği müddetçe çalışan ve girilen kelimeyi ekrana yazdıran ve tekrardan kullanıcıdan kelime girmesini isteyen bir kaba kodda boş bırakılan satıra aşağıdaki ifadelerden hangisi getirilmelidir?
BDoğru cevap
Açıklama
Döngünün kendi içinde sonsuz bir döngüye girmemesi ve her adımda kullanıcının girdiği yeni değeri kontrol etmesi için döngü bloğu içinde kullanıcıdan tekrardan bir giriş alınmalıdır. Soru metninde de belirtildiği gibi “tekrardan kullanıcıdan kelime girmesini isteyen” adımı sağlamak üzere boş yere OKU kelime komutu yazılmalıdır.
Soru 18
“Hava soğuduysa üzerine kalın bir kazak giy.” cümlesi ile ilgili aşağıdakilerden hangisi yanlıştır?
BDoğru cevap
Açıklama
Cümle, if/then mantığında kurulmuştur ve sadece “hava soğuduysa” (if koşulu) yapılacak aksiyon (kazak giymek) tanımlanmıştır. Havanın sıcak olması durumunda (else koşulu) ne giyileceği veya ne yapılacağı algoritmik olarak bu cümlede belirtilmemiştir.
Soru 19
“….., bir algoritmanın veri miktarı arttıkça tamamlaması gereken maksimum adım sayısını ifade eder.”
Yukarıdaki cümlede boş bırakılan yere aşağıdakilerden hangisi getirilmelidir?
DDoğru cevap
Açıklama
Bilgisayar bilimlerinde, bir algoritmanın işlem yapacağı giriş verisi (n) büyüdükçe çalışma zamanının, yani harcanan adım sayısının (ve dolayısıyla sürenin) nasıl artış gösterdiğini analiz eden ölçüte “Zaman karmaşıklığı” (Time complexity) adı verilir ve genellikle Big O notasyonuyla ifade edilir.
Soru 20
Algoritmalar ve Programlamaya Giriş 2025 Vize Soruları (Bahar) 20. soru
Yukarıdaki akış diyagramında gösterilen program ile ilgili olarak aşağıdakilerden hangisi yanlıştır?
DDoğru cevap
Açıklama
Kaba kod incelendiğinde döngü adımında “i = 1, 6” şeklinde bir tanım görülmektedir. Bu, döngünün sabit bir şekilde 1’den 6’ya kadar döneceği, yani kelimenin tam olarak 6 kez yazdırılacağı anlamına gelir. Çıktı sayısını kullanıcı belirlemediği için D seçeneğindeki “kullanıcının istediği kadar” ifadesi yanlıştır.