- Yazılı sorunun metninden girişi, çıkışı ve “bulunamadı” durumunu ayırmak
- N sayı okuyan sayaçlı döngünün iskeletini kurmak ve biriktiricilerin başlangıç değerlerini doğru vermek
- Bayrak, değişen işaret, “son/ilk” ve parçalı fonksiyon şablonlarını kullanmak
- Hazır bir akış şemasını örnek girişle ve sınır durumlarla izleme tablosu kullanarak denetlemek
2025–2026’daki dört giriş sınavının her birinde bilişimin 88. sorusu aynı türdendi: “… algoritmanın akış şemasını oluşturun”. Burada şık yoktur; akış şemasını cevap kâğıdına kendin çizersin. İyi haber şu: bu sorular birbirine çok benzer. Hepsinde N (ya da n) sayı okunur, sayaçlı bir döngü çalışır, birkaç biriktirici değişken bir şeyler toplar ve sonunda sonuç yazdırılır. “İskeleti” bir kez kavrayıp altı modeli öğrenirsen yeni bir soru, iskeletin boş yerlerini doldurmaktan ibaret olur.
Yazılı soru: ne isteniyor
DİM’in yazılı soruları 0, ⅓, ½, ⅔ ya da 1 puanla değerlendirilir ve puan formülünde yazılı sorunun sonucu 2 ile çarpılır; yani tam bir çözüm iki çoktan seçmeli soru değerindedir. Kısmi puan mümkündür; bu yüzden yarım kalmış ama doğru başlanmış bir akış şeması boş kâğıttan iyidir. DİM’in yayımladığı cevaplarda bir model akış şeması verilir ve “ya da eşdeğer bir akış şeması” diye eklenir: her doğru çözüm kabul edilir, tek bir “doğru resim” yoktur.
- N terimli, işareti değişen bir toplamın hesaplanması (1/2 − 1/4 + … türü diziler);
- N sayı arasında koşulu sağlayan son sayının ve sıra numarasının, yoksa bir mesajın yazdırılması;
- bir sayının diğerinin doğal kuvveti olup olmadığının denetlenmesi ve üssün yazdırılması;
- n giriş için parçalı bir fonksiyonun değerlerinin hesaplanması ve koşulu sağlayanların toplamı.
Yukarıdaki liste 2025–2026’daki dört gerçek yazılı sorunun türleridir. Bu dersteki modeller bu türlerin özgün çeşitleridir; sayılar ve koşullar farklı, yapı ise aynıdır.
Yapı taşları ve iskelet
- 1Soruyu çözümle
Ne giriliyor (N ve sayılar mı? a, b mi?), ne yazdırılmalı ve hiçbir şey bulunmazsa ne olmalı?
- 2Değişkenleri seç
Her biriktiriciye bir ad ver ve başlangıç değerini döngüden önce yaz: S = 0, c = 0, P = 1, t = 0, i = 1.
- 3İskeleti çiz
i ≤ N eşkenar dörtgeni, “Evet” dalında x girişi, gövdenin sonunda i = i + 1 ve eşkenar dörtgene dönen ok.
- 4Gövdeyi doldur
x’in işlenmesi: koşullar, hesaplamalar, biriktiricilerin güncellenmesi.
- 5Çıktıyı kur
Döngüden sonra: gerekiyorsa bayrağı denetle, sonucu ya da mesajı yazdır; sonra Bitir.
- 6Denetle
Sorudaki örnek giriş için bir izleme tablosu kur; sonra bir sınır durumunu denetle: N = 1, hiçbir sayı koşulu sağlamıyor.
| Görev | Döngüden önce | Döngüde | Ne zaman gerekir |
|---|---|---|---|
| sayaç | i = 1 | i = i + 1 | N sayıyı okumak |
| toplam | S = 0 | S = S + x | toplamlar, diziler |
| sayı | c = 0 | c = c + 1 | “kaç sayı…” |
| çarpım | P = 1 | P = P · x | çarpımlar, kuvvetler |
| işaret | k = 1 | k = −k | işareti değişen dizi |
| bayrak | t = 0 | bulununca t = 1 | “… yoksa mesaj” |
| son | — | her seferinde m = x, p = i | “son … ve numarası” |
| ilk | — | yalnızca t = 0 iken m = x, p = i | “ilk … ve numarası” |
Model 1: işareti değişen toplam
- iterimin numarası, 1’den N’ye kadar
- 2·i − 1i. terimin paydası: 1, 3, 5, 7, …
- kişaret: 1’den başlar ve her adımda −k olur (1, −1, 1, …)
İşareti değişen dizinin genel terimi: işaret ayrı bir değişkende tutulur
Girilen N doğal sayısı için S = 1 − 1/3 + 1/5 − … toplamını (N terim) hesaplayan akış şemasını kurun ve N = 3 için denetleyin.
Çözümü gösterÇözümü gizle
i = 1: S = 0 + 1/1 = 1; k = −1; i = 2
i = 2: S = 1 − 1/3 = 2/3; k = 1; i = 3
i = 3: S = 2/3 + 1/5 = 13/15; k = −1; i = 4
4 ≤ 3 — Hayır → çıktı S = 13/15 ≈ 0,867. Doğru: 1 − 1/3 + 1/5 = 13/15.
Eşdeğer bir çeşit: paydayı ayrı bir d değişkeninde tut (d = 1, her adımda d = d + 2) ve S = S + k / d yaz.
Model 2: bayrak ve “bulunamadı” çıktısı
Yalnızca iki değer alan yardımcı değişken: t = 0 — “henüz bulunmadı”, t = 1 — “en az bir kez bulundu”. Döngüden önce t = 0 yazılır, uygun sayı bulununca t = 1 olur, döngüden sonra da t’ye göre sonuç ya da mesaj yazdırılır.
1) Model 2’yi N = 5 ve 7, 4, 9, 10, 3 sayıları için denetleyin.
2) N = 3 ve 1, 5, 9 için ne yazdırılır?
3) Son değil de ilk çift sayı istenirse akış şemasında ne değişmeli?
Çözümü gösterÇözümü gizle
2) Hiçbir sayı çift değil, t 0 kalır → “Çift sayı yok”.
3) İkinci eşkenar dörtgeni “x % 2 = 0 ve t = 0” yap: t = 1 olduktan sonra m ve p artık değişmez. O zaman (1)’deki çıktı 4 2 olur.
a = [7, 4, 9, 10, 3]
t = 0
for i in range(1, len(a) + 1):
x = a[i - 1]
if x % 2 == 0:
m = x
p = i
t = 1
if t == 1:
print(m, p)
else:
print('no even numbers')▸ Beklenen çıktı
10 4
N = int(input()), sonra döngünün içinde x = int(input()).Model 3: sayı b’nin bir kuvveti mi?
a = bᵏ ise a, b’ye tam k kez kalansız bölünebilir ve sonda 1 kalır. Bu fikir bir döngüye dönüşür: a, b’ye bölündükçe a = a / b ve k = k + 1. Döngü bitince a = 1 ise a, b’nin k. kuvvetidir; değilse kuvveti değildir.
Model 3’ü üç giriş için denetleyin: 1) a = 81, b = 3; 2) a = 72, b = 6; 3) a = 64, b = 4.
Çözümü gösterÇözümü gizle
2) 72 → 12 (k = 1) → 2 (k = 2); 2 % 6 = 2 → döngü biter; a = 2 ≠ 1 → “b’nin kuvveti değil”.
3) 64 → 16 → 4 → 1, k = 3 → 3 (64 = 4³).
Eşdeğer yöntem çarpmadır: d = b, k = 1; d < a olduğu sürece d = d · b, k = k + 1; sonda d = a ise k yazdırılır. İki akış şeması da doğrudur.
Model 4: n giriş için parçalı fonksiyon
- xdöngünün her adımında girilen tam sayı
- yfonksiyonun değeri: eşkenar dörtgen iki formülden birini seçer
Görev: n sayı için y’leri hesaplayıp 20’den büyük olanların toplamını yazdırın
n = 4, sayılar: 6, 2, 10, −4. Model 4 ne yazdırır?
Çözümü gösterÇözümü gizle
x = 2: Evet → y = 2·2 + 5 = 9; 9 > 20 — Hayır, S değişmez.
x = 10: Hayır → y = 100 − 4 = 96 → S = 32 + 96 = 128.
x = −4: Evet → y = −8 + 5 = −3 → S değişmez.
Çıktı: 128. x = 3 sınır durumudur: 3 < 3 yanlıştır, bu yüzden y = 9 − 4 = 5; sınırın hangi formüle ait olduğuna daima bak.
Model 5 ve 6: ortalama ve en büyük
N sayı giriliyor. Bunlar arasındaki pozitif sayıların aritmetik ortalamasını, pozitif sayı yoksa “Pozitif sayı yok” mesajını yazdıran akış şemasını sözle anlatın ve 4, −3, 7, 0, 10 için denetleyin.
Çözümü gösterÇözümü gizle
Denetim: pozitifler 4, 7, 10 (0 pozitif değildir!) → S = 21, c = 3 → 7.
Burada ayrı bir bayrağa gerek yok: c = 0 zaten “bulunamadı” demektir. Bu denetim sıfıra bölmeyi de önler.
N sayının en büyüğünü ve sıra numarasını yazdıran akış şemasının gövdesini kurun. 3, 11, 7, 11, 2 için cevap “>” ve “≥” karşılaştırmalarında nasıl farklılaşır?
Çözümü gösterÇözümü gizle
“>” ile: 11 ikinci sırada bulunur, dördüncü 11 daha büyük değildir → 11 2 (ilk en büyük).
“≥” ile: eşit değer de üzerine yazılır → 11 4 (son en büyük).
m’yi 0’dan başlatma: bütün sayılar negatif olsaydı cevap yanlış olurdu.
Bu altı model, DİM’in akış şeması sorularının çoğunu kapsar. Sınavın diğer iki yazılı sorusu aynı fikirleri Python programı olarak ister: akış şemasındaki döngü for ya da while, eşkenar dörtgen if, paralelkenar ise input() ve print() olur. Akış şemasını akıcı kuran bir öğrenci programı da kolayca yazar.
Model 5’i Python’da yazın: a = [4, −3, 7, 0, 10] listesindeki pozitif sayıların aritmetik ortalamasını yazdırın; pozitif sayı yoksa none yazdırın.
a = [4, -3, 7, 0, 10]
# print the mean of the positive numbers, or 'none'▸ Beklenen çıktı
7.0
Önemli noktalar
- Yazılı akış şeması sorusu 0, ⅓, ½, ⅔ ya da 1 puan alır ve formülde 2 ile çarpılır; her eşdeğer doğru akış şeması kabul edilir.
- İskelet: N; i = 1; biriktiriciler döngüden önce; i ≤ N eşkenar dörtgeni; x döngünün içinde; gövdenin sonunda i = i + 1; sonuç döngüden sonra.
- Başlangıç değerleri: toplam ve sayı 0, çarpım 1, işaret 1, bayrak 0.
- “Son” — her uygun sayıda üzerine yaz; “ilk” — yalnızca t = 0 iken kaydet; “yoksa” — döngüden sonra bayrağı ya da sayıyı denetle.
- Hazır akış şemasını örnek giriş ve sınır durumuyla izleme tablosunda denetle.
Kendini test et
12 soru. Her doğru cevap XP kazandırır.