- Algoritmayı ve yürütücüyü tanımlamak, beş özelliği tanımak ve hangisinin bozulduğunu belirlemek
- Aynı algoritmayı sözle, akış şemasıyla, sözde kodla ve Python programıyla yazmak
- Akış şeması şekillerini ve DİM kurallarını bilmek: dikdörtgende “=” atamadır, eşkenar dörtgende karşılaştırmadır
- Doğrusal bir algoritmayı izleme tablosuyla yürütüp çıktısını bulmak
Telefonundaki navigasyon uygulaması şöyle der: “300 metre düz git, sağa dön, 50 metre sonra dur.” Her komut kesindir, komutların sayısı sonludur ve onları sırayla uygulayan sürücü gideceği adrese varır. Uygulama sana aslında bir algoritma verir. Algoritmalar tüm programlamanın temelidir: 2025–2026 giriş sınavlarında bilişimin 30 sorusundan üçü doğrudan algoritmalar ve akış şemalarıyla ilgiliydi, dokuz Python sorusu da aynı düşünme biçimine dayanıyordu. Bu derste algoritmanın ne olduğunu, hangi özelliklere sahip olduğunu, nasıl gösterildiğini ve en basit türü olan doğrusal algoritmanın adım adım nasıl yürütüldüğünü öğreneceksin.
Algoritma ve yürütücü
Verilen bir problemi çözmek için yürütücünün uygulaması gereken kesin ve sonlu komutlar dizisi.
Yürütücü, algoritmayı uygulayan kişi ya da nesnedir: insan, robot, bilgisayar, hatta çamaşır makinesi. Yürütücünün anladığı ve yerine getirebildiği komutların kümesine komut sistemi denir.
Bir algoritma her zaman belirli bir yürütücü için yazılır. Bilgisayar için yazılan algoritma bir programlama dilindedir ve program adını alır. Yürütücü algoritmanın amacını “anlamaz”: komutları biçimsel olarak, yazıldığı gibi uygular. Bu yüzden algoritmanın yazarı her şeyi önceden düşünmelidir; yürütücü bir hatayı kendi başına düzeltmez.
İnsan yürütücü belirsiz bir talimatı bile çoğu zaman “tamamlayarak” anlar; bilgisayar ise aynı komutu 1000 kez tekrarlansa da aynı şekilde uygular. Bu yüzden bilişimde bir problemin çözümü üç aşamadan geçer: önce algoritma kurulur, sonra program olarak yazılır, en sonda bilgisayar programı çalıştırır. Sınavda tam olarak ilk aşama, yani algoritmayı doğru kurma ve okuma becerisi ölçülür.
Hesaplayıcının komut sisteminde iki komut vardır: 1 — 3 ekle, 2 — 2 ile çarp. Program, komut numaralarının dizisi olarak yazılır.
1) 2 sayısına 12121 programı uygulanıyor. Sonuç nedir?
2) 3’ü 39’a dönüştüren en kısa programı bulun.
Çözümü gösterÇözümü gizle
2) Sondan başlayalım. 39 tektir; 2 ile çarpmak tek sayı vermez, demek ki son komut 1’dir: 39 ← 36. 36 = 18·2, 18 = 9·2, 9 = 6 + 3, 6 = 3·2. Yani 3 → 6 → 9 → 18 → 36 → 39, program 21221 (5 komut). Dört komut yetmez; aynı uzunluktaki 11221 de doğrudur (3 + 3 = 6).
Algoritmanın özellikleri
Her talimat listesi bir algoritma değildir. Algoritma sayılması için beş özelliğe sahip olmalıdır:
- Adımlılık (ayrıklık) — algoritma ayrı adımlardan (komutlardan) oluşur; bir adım, öncekisi bittikten sonra başlar.
- Anlaşılırlık — algoritmada yalnızca yürütücünün komut sisteminde bulunan komutlar yer alır.
- Kesinlik — her komut tek bir anlama gelir; aynı giriş verileriyle algoritma her zaman aynı sonucu verir.
- Sonluluk — algoritma sonlu sayıda adımdan sonra durur ve bir sonuç üretir.
- Genellik — algoritma tek bir problemi değil, farklı giriş verileriyle aynı türden problemlerin tümünü çözer.
Bu özellikler kuru bir teori değildir; her biri bir programın çalışması için gereklidir. Kesinlik olmasaydı program aynı veriyle bir gün bir cevap, ertesi gün başka bir cevap verebilirdi. Sonluluk bozulunca program sonsuz bir döngüde “donar”. Genellik yüzünden sınav programları sayıyı kendileri seçmez, kullanıcıdan input() ile alır: aynı program her giriş için çalışmalıdır. Anlaşılırlık önemlidir, çünkü Python da kendi “komut sistemi” dışındaki bir sözcüğü tanımaz ve hata verir.
1) “Çorbaya biraz tuz ekle.”
2) “x = 1. x > 0 olduğu sürece x’i 1 artır.”
3) Yalnızca “ileri git” ve “sola dön” komutlarını bilen bir robota “sağa dön” komutu veriliyor.
4) Algoritma yalnızca kenarları 3 cm ve 5 cm olan tek bir dikdörtgenin alanını hesaplıyor.
Çözümü gösterÇözümü gizle
2) Sonluluk: x hep pozitif kalır, döngü hiç bitmez.
3) Anlaşılırlık: “sağa dön” komut sisteminde yoktur (doğrusu: üç kez “sola dön”).
4) Genellik: başka kenarlar için algoritma işe yaramaz; doğrusu “a, b’yi gir; S = a·b”.
Algoritmanın gösterim biçimleri
Aynı algoritma farklı biçimlerde yazılabilir. Hangi biçimin seçileceği kimin için yazıldığına bağlıdır: insan için sözler ve çizimler rahattır, bilgisayar içinse yalnızca program.
| Biçim | Nasıl görünür | Üstünlüğü | Zayıf yanı |
|---|---|---|---|
| Sözle | numaralı cümleler | herkes anlar | uzundur, çok anlamlı olabilir |
| Grafik (akış şeması) | şekiller ve oklar | dallanma ve döngüler açıkça görünür | büyük algoritmalarda çok yer kaplar |
| Sözde kod | “gir”, “eğer”, “olduğu sürece” gibi sözcükler | kısadır, programa yakındır | bilgisayar onu çalıştıramaz |
| Program | Python gibi bir programlama dili | bilgisayar çalıştırır | dilin kurallarını bilmek gerekir |
2025–2026 giriş sınavlarında algoritmalar iki biçimde verildi: algoritma sorularında akış şeması, programlama sorularında ise Python programı olarak. Sözle anlatım ve sözde kod düşünme araçlarıdır: akış şeması çizmeden ya da program yazmadan önce algoritmayı müsvedde kâğıdına kısaca sözle yazmak hataların yarısını önler. Dört biçim birbirine dönüştürülebilir; algoritma değişmez, yalnızca yazılışı değişir.
Bir film t dakika sürüyor. Bunu saat ve dakikayla ifade eden algoritmayı sözle yazın; sonra sözde kodunu, akış şemasını ve programını karşılaştırın (t = 135).
Çözümü gösterÇözümü gizle
1. t’yi gir.
2. t’yi 60’a böl, tam kısmı h’ye yaz (saat).
3. Bölümden kalanı m’ye yaz (dakika).
4. h ve m’yi yazdır.
t = 135 için: 135 = 2·60 + 15, yani 2 saat 15 dakika. Algoritmada koşul ve tekrar yoktur; doğrusaldır.
algoritma Süre
gir t
h = t // 60
m = t % 60
yazdır h, m
bitir// tam sayı bölmesi, % bölümden kalant = 135
h = t // 60
m = t % 60
print(h, m)▸ Beklenen çıktı
2 15
t = int(input()).Akış şeması şekilleri ve DİM kuralları
Akış şemasında her komut belirli bir şekille çizilir; şekiller de yürütme sırasını gösteren oklarla birbirine bağlanır. DİM’in bütün algoritma sorularında aynı şekiller kullanılır; onları bir bakışta tanımak zaman kazandırır.
- Akış şeması tek bir Başla ile başlar ve Bitir ile biter; oklar genellikle yukarıdan aşağı gider, geri dönen ok bir döngü demektir.
- Dikdörtgende
=işareti atamadır:a = a + 2, “a’nın yeni değeri eski değer artı 2’dir” demektir; matematiksel bir eşitlik değildir. - Eşkenar dörtgende
=bir karşılaştırmadır:a = b, “a, b’ye eşit mi?” sorusudur; çıkışlara “Evet” ve “Hayır” yazılır. - Başa yakın paralelkenar giriştir (
a, b— değerler girilir), sona yakın olan çıkıştır (S— S’nin o anki değeri yazdırılır); tırnak içindeki metin olduğu gibi yazdırılır. - Bu dersin akış şemalarında
·ya da*çarpma,/bölme,//tam sayı bölmesi,%ise kalandır; tıpkı Python’daki gibi.
Doğrusal algoritma, atama ve izleme tablosu
Komutları hiçbir koşul denetlenmeden, yazıldığı sırayla ve her biri yalnızca bir kez uygulanan algoritma. Akış şeması, eşkenar dörtgeni ve dalı olmayan tek bir “zincirdir”.
- değişkenyeni değerin yazıldığı yer; eski değer silinir
- ifadedeğişkenlerin o anki değerleriyle hesaplanır
Atama kuralı: önce sağ taraf hesaplanır, sonra sonuç soldaki değişkene yazılır
Algoritmanın her komutundan sonra değişkenlerin değerlerinin yazıldığı tablo. Her satır bir komuttur; değişmeyen değişkenin hücresi boş kalır ve değeri bir üst satırdan alınır.
1) a = 7, b = 3. Komutlar: a = a + b; b = a − b; a = a − b. Sonunda a ve b kaçtır?
2) Leyla a = 5 ve b = 8 değerlerinin yerini şöyle değiştirmek istedi: a = b; b = a. Ne oldu ve doğru yol nedir?
Çözümü gösterÇözümü gizle
2) a = b → a = 8 (5 kayboldu!); b = a → b = 8. Sonuç: a = 8, b = 8. Doğru yol üçüncü bir değişkendir: c = a; a = b; b = c → a = 8, b = 5.
| Adım | Komut | a | b |
|---|---|---|---|
| 0 | başlangıç değerleri | 7 | 3 |
| 1 | a = a + b | 10 | |
| 2 | b = a − b | 7 | |
| 3 | a = a − b | 3 |
DİM’in “Algoritma yürütüldükten sonra … değişkeninin değerini bulun” türündeki soruları hep aynı yolla çözülür:
- 1Tabloyu hazırla
Her değişken için bir sütun aç; ilk satıra başlangıç değerlerini yaz (verilmemişse “?” koy).
- 2Okları izle
Başla’dan başlayarak şekilleri okların gösterdiği sırayla geç, hiçbirini atlama.
- 3Sağ tarafı hesapla
Her dikdörtgende sağ tarafı tablodaki son değerlerle hesapla ve sonucu yeni bir satıra, soldaki değişkenin sütununa yaz.
- 4Çıktıyı oku
Çıkış paralelkenarına gelince orada adı yazılı değişkenin o anki değerini cevap olarak al.
Yukarıdaki akış şemasına göre algoritmanın yazdırdığı a değerini bulun.
A) 27 B) −2 C) 2 D) 5 E) 12
Çözümü gösterÇözümü gizle
b = 2·6 − 5 = 7
a = 6 + 3·7 = 27
b = (27 − 7) / 4 = 5 (a’nın yeni değeri 27 kullanılır!)
a = 27 − 5·5 = 2
Çıktı: 2, cevap C. “27” son komutu unutanların, “5” ise a yerine b’yi yazanların cevabıdır.
1. Eşkenar dörtgenin yalnızca bir çıkışı vardır.
2. Paralelkenar veri girişini ve çıkışını gösterir.
3. Bir akış şemasında birden çok “Başla” olabilir.
4. Dikdörtgendeki k = k + 1 komutu k’yi 1 artırır.
5. Genellik, algoritmanın aynı türden problemlerin tümünü çözmesidir.
A) 1, 2 B) 2, 4, 5 C) 2, 3 D) 3, 4, 5 E) 1, 4
Çözümü gösterÇözümü gizle
2 — doğru.
3 — yanlış: yalnızca bir başlangıç vardır.
4 — doğru: bu bir atamadır.
5 — doğru.
Doğru ifadeler 2, 4, 5; cevap B. Böyle sorularda her ifadeyi ayrı denetle ve şıkları hemen ele: 1 yanlışsa A ve E gider; 3 yanlışsa C ve D gider.
Doğrusal algoritma üç türün en basitidir. Bir koşula göre yol seçen algoritmalar «Dallanan algoritmalar» dersinde, adımları tekrarlayan algoritmalar «Döngülü algoritmalar ve izleme tablosu» dersinde işlenir. Sınavın yazılı bölümünde tam bir akış şemasını kendin çizmelisin; yöntemleri «Akış şeması oluşturma: yazılı sorular» dersindedir.
Bir kayıt t = 3725 saniye sürüyor. Bunu saat, dakika ve saniye olarak yazdıran doğrusal bir program yazın (tek satırda, boşlukla).
t = 3725
# h = hours, m = minutes, s = seconds▸ Beklenen çıktı
1 2 5
Önemli noktalar
- Algoritma, bir yürütücü için yazılmış kesin ve sonlu bir komut dizisidir; yürütücü yalnızca kendi komut sistemindeki komutları uygular.
- Beş özellik: adımlılık, anlaşılırlık, kesinlik, sonluluk, genellik.
- Gösterim biçimleri: sözle, akış şemasıyla, sözde kodla ve programla.
- Oval — başla/bitir, dikdörtgen — işlem, paralelkenar — giriş/çıkış, eşkenar dörtgen — koşul (“Evet”/“Hayır”).
- Dikdörtgende
=atamadır: sağ taraf o anki değerlerle hesaplanır ve soldaki değişkene yazılır. - Doğrusal algoritmayı izleme tablosuyla yürüt: her satır bir komut, her sütun bir değişkendir.
Kendini test et
12 soru. Her doğru cevap XP kazandırır.