İçeriğe geç
Educora
Orta6–9. sınıf25 dk25 / 59

Döngülü algoritmalar ve izleme tablosu

Sayaçlı, ön koşullu ve son koşullu döngüler, izleme tablosu; toplam, çarpım, sayma, en büyük ve basamaklarla ilgili tipik sorular; iç içe ve sonsuz döngüler; DİM döngü soruları: tekrar sayısı, art arda iki döngü, sonuçtan giriş.

Kendini test et
Bu derste öğreneceklerin
  • Üç döngü türünü tanımak ve akış şemalarını okumak
  • Bir döngüyü izleme tablosuyla adım adım yürütmek: toplam, çarpım, sayma, en büyük, basamaklar
  • Tekrar sayısını bir eşitsizlikle bulmak ve art arda iki döngüyü yürütmek
  • Sonuçtan başlangıç değerlerini ve en büyük girişleri bulmak

Bir öğretmen sınıftaki 30 öğrencinin puanlarını toplamalı. “Sonraki puanı toplama ekle” komutunu 30 kez yazmak yerine bir kez yazıp “30 kez tekrarla” demek yeter. Tekrarlanan adımları olan algoritma bir döngülü algoritmadır. 2025–2026 giriş sınavlarında en sık görülen konu döngülerdi: “Döngü deyimi” başlıklı Python soruları, ayrıca akış şemasında tekrar sayısı, art arda iki döngü ve “hangi giriş verilmeli ki…” türünden ters sorular. Bu derste döngüleri akış şemasında okumayı ve izleme tablosuyla hatasız yürütmeyi öğreneceksin.

Döngü ve türleri

Tanım
Döngülü algoritma, döngü gövdesi

Bir komut grubunun birkaç kez tekrarlandığı algoritma döngülü algoritmadır. Tekrarlanan komutlar döngü gövdesini oluşturur; gövdenin bir kez çalışmasına yineleme (döngünün bir adımı) denir.

  • Sayaçlı döngü — tekrar sayısı önceden bilinir: döngü değişkeni başlangıç değerinden bitiş değerine belirli bir adımla değişir. Python’da for i in range(1, 11).
  • Ön koşullu döngü — koşul gövdeden önce denetlenir ve koşul doğru olduğu sürece gövde tekrarlanır. Koşul baştan yanlışsa gövde hiç çalışmaz. Python’da while.
  • Son koşullu döngü — önce gövde çalışır, sonra koşul denetlenir; bu yüzden gövde en az bir kez çalışır. Python’da ayrı bir deyimi yoktur; while True: ve break ile yazılır.
Ön koşulluSon koşullukoşuldöngü gövdesiEvetHayırdöngü gövdesikoşulEvetHayır
Geri dönen ok döngü demektir: fark, koşulun nerede olduğudur
Text
i = 1’den 5’e kadar tekrarla
    S = S + i
son

a < b olduğu sürece
    a = a + 5
son

tekrarla
    x = x − 3
x > 0 olduğu sürece
Üç döngü türü sözde kodla

DİM akış şemalarında sayaçlı döngü de eşkenar dörtgenle çizilir: önce i = 1, sonra i ≤ n eşkenar dörtgeni gelir, gövdede de mutlaka i = i + 1 bulunur. Yukarı dönen bir ok görür görmez karşında bir döngü olduğunu bil; eşkenar dörtgenin hangi çıkışının geri döndüğüne bak: o, döngünün devam koşuludur.

İzleme tablosu ve tipik döngü soruları

Döngünün izleme tablosunda her satır koşulun bir denetimidir: koşulun cevabını, sonra gövdeden sonraki yeni değerleri yazarız. Son satırda koşul “Hayır” olur ve döngü biter. Dikkat: koşul her zaman tekrar sayısından bir fazla denetlenir.

S = S + x; P = P · x; k = k + 1
burada:
  • Stoplam; başlangıç değeri 0
  • Pçarpım; başlangıç değeri 1 (0 olsaydı hep 0 kalırdı)
  • ksayı (sayaç); başlangıç değeri 0

Döngünün üç “biriktirici” değişkeni ve başlangıç değerleri

Örnek 1. Tek sayıların karelerinin toplamı

S = 0; i = 1; i ≤ 5 olduğu sürece: S = S + i·i; i = i + 2. S yazdırılır. Ne yazdırılır?

Çözümü göster
i, 1, 3, 5 değerlerini alır (adım 2). Tabloda görüldüğü gibi S = 1 + 9 + 25 = 35. Koşul 4 kez denetlendi, gövde 3 kez çalıştı; i = 7 olunca 7 ≤ 5 yanlıştır.
Denetimi (önce)i ≤ 5S = S + i·ii = i + 2
11Evet0 + 1 = 13
23Evet1 + 9 = 105
35Evet10 + 25 = 357
47Hayır
Örnek 1’in izleme tablosu: son satırda döngü biter
Örnek 2. Çarpım ve faktöriyel

1) P = 1; i = 1’den 5’e kadar: P = P · i. Çıktı ne olur?
2) Aynı algoritmada yanlışlıkla P = 0 yazılmış. Şimdi ne yazdırılır?

Çözümü göster
1) P: 1 → 1 → 2 → 6 → 24 → 120. Bu, 5! = 1·2·3·4·5’tir (5 faktöriyel).
2) 0 · i her zaman 0’dır: P her adımda 0 kalır, çıktı 0 olur. Çarpım 1’den, toplam 0’dan başlamalıdır.
r = n % 10, n = n // 10
burada:
  • n % 10sayının son basamağı (10’a bölümden kalan)
  • n // 10son basamağı atılmış sayı (tam bölme)

Basamaklar üzerinde döngü: n > 0 olduğu sürece son basamağı al ve at

Örnek 3. Basamakların toplamı ve sayısı

n = 4072; s = 0; k = 0. n > 0 olduğu sürece: s = s + n % 10; k = k + 1; n = n // 10. s ve k yazdırılır.

Çözümü göster
4072 > 0: s = 2, k = 1, n = 407
407 > 0: s = 9, k = 2, n = 40
40 > 0: s = 9 (basamak 0), k = 3, n = 4
4 > 0: s = 13, k = 4, n = 0
0 > 0 — Hayır. Çıktı: 13 4. 0 basamağı toplamı değiştirmez ama sayılır.
Python
n = 4072
s = 0
k = 0
while n > 0:
    s = s + n % 10
    k = k + 1
    n = n // 10
print(s, k)

a = [12, 7, 25, 3, 18]
m = a[0]
for x in a:
    if x > m:
        m = x
print(m)
▸ Beklenen çıktı
13 4
25
Basamaklar üzerinde while döngüsü ve en büyüğü arama: aday m ilk öğedir, sonra her öğe onunla karşılaştırılır. Sınav programlarında n, n = int(input()) ile okunur.

DİM soruları: tekrar sayısı ve art arda iki döngü

DİM döngü sorularında döngü çoğu zaman onlarca kez tekrarlanır; her adımı yazmak hem uzun hem de risklidir. Bu yüzden düzeni bulmak gerekir: bir değişken her adımda aynı miktarda değişiyorsa k adımdan sonraki değeri bir formülle yazılabilir. Sonra döngünün durma koşulu bir eşitsizliğe dönüşür.

a₀ + p·k ≥ b₀ − q·k ⇒ k = ⌈(b₀ − a₀) / (p + q)⌉a₀ + p·k ≥ b₀ − q·k ⇒ k = ⌈(b₀ − a₀) / (p + q)⌉
burada:
  • a₀, b₀değişkenlerin başlangıç değerleri (a₀ < b₀)
  • p, qher adımda a’nın artışı ve b’nin azalışı
  • k“a < b” döngüsünün tekrar sayısı
  • ⌈ ⌉yukarı yuvarlama: 10,875 → 11

Döngü ilk kez a ≥ b olunca durur: aradaki fark her adımda p + q kadar azalır

  1. 1
    Değişkenleri bul

    Döngü koşulunda hangi değişkenler var ve gövdede her adımda ne kadar değişiyorlar?

  2. 2
    k adımdan sonra yaz

    Örneğin a = a₀ + p·k, b = b₀ − q·k; değişim sabit değilse ilk 4–5 adımı tabloya yazıp düzeni ara.

  3. 3
    Durma koşulunu çöz

    Döngü koşulunun tersini (örneğin a ≥ b) bir eşitsizlik olarak yaz ve onu sağlayan en küçük doğal k’yi bul.

  4. 4
    Sınırı denetle

    k − 1 ve k için değerleri hesapla: k − 1 adımdan sonra koşul hâlâ doğru, k adımdan sonra yanlış olmalıdır.

Örnek 4. Kaç kez tekrarlanır? (kodlanan cevap)

a = 3 ve b = 90 için algoritma: a < b olduğu sürece: a = a + 5; b = b − 3. Döngünün kaç kez çalıştığını bulun.

Çözümü göster
k adımdan sonra a = 3 + 5k, b = 90 − 3k.
Döngü 3 + 5k ≥ 90 − 3k olunca durur → 8k ≥ 87 → k ≥ 10,875 → en küçük tam k = 11.
Denetim: k = 10: a = 53, b = 60, 53 < 60, döngü sürer; k = 11: a = 58, b = 57, durur ✓.
Başlaa = −5b = 12a < 3a = a + 2b = b − 1EvetHayırb > 4b = b − 3a = a + bEvetaHayırBitir
Birinci döngüden çıkan değerler ikinci döngünün giriş değerleridir
Örnek 5. Art arda iki döngü

Yukarıdaki akış şemasına göre algoritma bittikten sonra yazdırılan a değerini bulun.

Çözümü göster
I. döngü (a < 3): a: −5 → −3 → −1 → 1 → 3; b: 12 → 11 → 10 → 9 → 8. a = 3 olunca 3 < 3 yanlıştır.
II. döngüye a = 3, b = 8 ile girilir (b > 4):
b = 8 − 3 = 5, a = 3 + 5 = 8
b = 5 − 3 = 2, a = 8 + 2 = 10
2 > 4 — Hayır. Çıktı: 10.
Dikkat: II. döngüde önce b azalır, sonra a’ya b’nin yeni değeri eklenir.
Örnek 6. Son değerden başlangıç değeri

Algoritma: S = 0; b = 25; a = ?; a < b olduğu sürece: a = a + 5; S = S + a; b = b − 2. S yazdırılır. Döngü a = 23, b = 19 olunca durdu. a’nın başlangıç değerini belirleyip S’yi bulun.
A) 31 B) 54 C) 49 D) 77 E) 36

Çözümü göster
b her adımda 2 azalır: 25’ten 19’a 3 adım gerekir.
a her adımda 5 artar: a₀ = 23 − 3·5 = 8.
Yürütme: 8 < 25 → a = 13, S = 13, b = 23; 13 < 23 → a = 18, S = 31, b = 21; 18 < 21 → a = 23, S = 54, b = 19; 23 < 19 — Hayır.
S = 54, cevap B. (“31” bir adımı atlayanların cevabıdır.)

Ters sorular: çıktılardan giriş

Örnek 7. En büyük giriş değerleri

a ve b girilir; n = 3.
I. döngü: a < 10·n olduğu sürece: “AB” yazdır; a = a + n.
II. döngü: b ≥ 20·n olduğu sürece: “BA” yazdır; b = b − n.
Yürütme sırasında 5 kez “AB”, 4 kez “BA” yazdırıldı. a ve b’nin alabileceği en büyük doğal değerlerin toplamını bulun.

Çözümü göster
I. döngü 5 kez çalıştı: 5. denetimde koşul hâlâ doğru, 6.’da yanlış.
a + 4·3 < 30 → a < 18; a + 5·3 ≥ 30 → a ≥ 15. Yani a ∈ {15, 16, 17}, en büyüğü 17.
II. döngü 4 kez çalıştı: b − 3·3 ≥ 60 → b ≥ 69; b − 4·3 < 60 → b < 72. Yani b ∈ {69, 70, 71}, en büyüğü 71.
Toplam: 17 + 71 = 88.
Başlaxx > 0x = x − 3Evetx = 0Hayır10EvetHayırBitir
Algoritma 7 kez yürütülüyor; kaç kez 1 yazdırılır?
Örnek 8. Kaç kez “1” yazdırılır?

Akış şeması 7 kez yürütülüyor; her seferinde x için sırayla 14, 27, 33, 40, 51, 8, 60 sayılarından biri giriliyor. Toplam kaç kez 1 yazdırılır?

Çözümü göster
Döngü, x ≤ 0 olana kadar x’ten 3 çıkarır. Sonda tam 0 kalması için x’in 3’e bölünmesi gerekir; yoksa x negatif olur (−1 ya da −2). Yani algoritma, pozitif x 3’e bölündüğünde 1 yazdırır.
Basamak toplamıyla denetle: 27, 33, 51, 60 bölünür; 14, 40, 8 bölünmez.
Cevap: 4. Her girişi adım adım izlemeye gerek yok; döngünün ne yaptığını anlamak yeter.
Örnek 9. Bir aralıkta sayma

k = 0; n = −50’den 50’ye kadar (adım 1): (n + 7)·(20 − n) > 0 ise k = k + 1. k yazdırılır.
A) 27 B) 26 C) 13 D) 28 E) 25

Çözümü göster
Döngü 101 kez çalışır ama her adımı yazmaya gerek yok: algoritma koşulu sağlayan n’leri sayar.
Çarpım, iki çarpan da pozitifse pozitiftir: n > −7 ve n < 20 (ikisinin birden negatif olması imkânsızdır).
Tam sayılar: −6, −5, …, 19 → 19 − (−6) + 1 = 26, cevap B. (“27”, uçlardan birini, −7’yi ya da 20’yi sayanların cevabıdır.)

İç içe döngüler ve sonsuz döngü

Bir döngünün gövdesinde başka bir döngü olabilir; buna iç içe döngü denir. Dış döngünün her adımında iç döngü baştan sona tam olarak çalışır. İç döngünün sınırları dış değişkene bağlı değilse toplam tekrar sayısı bir çarpımdır: 4 · 3 = 12. Bağlıysa (örneğin j, 1’den i’ye kadar) tekrarlar satır satır toplanır.

Örnek 10. İç içe döngüde tekrar sayısı

1) s = 0; i = 1’den 4’e kadar: j = 1’den 3’e kadar: s = s + 1. s = ?
2) s = 0; i = 1’den 4’e kadar: j = 1’den i’ye kadar: s = s + 1. s = ?

Çözümü göster
1) İç döngü her seferinde 3 adımdır, dış döngü 4 kez: s = 4 · 3 = 12.
2) i = 1: 1 adım; i = 2: 2; i = 3: 3; i = 4: 4 → s = 1 + 2 + 3 + 4 = 10.

Döngüleri okumayı öğrendin; sıradaki adım onları kendin kurmaktır. Sınavın yazılı bölümünde n sayı okuyan ve sayaçlı döngüyle çalışan tam bir akış şeması istenir; bu, «Akış şeması oluşturma: yazılı sorular» dersinin konusudur. Aynı döngülerin Python’daki yazılışı ise programlama bölümünde işlenir.

Alıştırma

Örnek 4’ün formülünü denetleyin: a = 3, b = 90 için while a < b: döngüsünde a’yı 5 artırın, b’yi 3 azaltın, tekrarları bir sayaçla sayın ve sayıyı yazdırın.

Alıştırma · Python
a = 3
b = 90
k = 0
# loop here
print(k)
▸ Beklenen çıktı
11

Önemli noktalar

  • Üç döngü türü vardır: sayaçlı, ön koşullu ve son koşullu; sonuncusunda gövde en az bir kez çalışır.
  • İzleme tablosunda her satır koşulun bir denetimidir; koşul, tekrar sayısından bir fazla denetlenir.
  • Toplam 0’dan, çarpım 1’den, sayaç 0’dan başlar; basamaklar n % 10 ve n // 10 ile ayrılır.
  • Tekrar sayısı: k adımdan sonraki değerleri yaz ve durma koşulunu bir eşitsizlik olarak çöz.
  • “k kez çalıştı” = k. denetimde koşul doğru, (k + 1).’de yanlış; bu iki eşitsizlik girişin aralığını verir.
  • İç içe döngüde iç döngü, dış döngünün her adımında tam çalışır; sınırlar bağımsızsa tekrarlar çarpılır.

Kendini test et

12 soru. Her doğru cevap XP kazandırır.

1 / 12
Gövdesi en az bir kez mutlaka çalışan döngü hangisidir?