- Üç 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
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:vebreakile yazılır.
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üreceDİ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.
- 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
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Çözümü gizle
| Denetim | i (önce) | i ≤ 5 | S = S + i·i | i = i + 2 |
|---|---|---|---|---|
| 1 | 1 | Evet | 0 + 1 = 1 | 3 |
| 2 | 3 | Evet | 1 + 9 = 10 | 5 |
| 3 | 5 | Evet | 10 + 25 = 35 | 7 |
| 4 | 7 | Hayır |
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Çözümü gizle
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.
- 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
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Çözümü gizle
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.
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
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₀, 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
- 1Değişkenleri bul
Döngü koşulunda hangi değişkenler var ve gövdede her adımda ne kadar değişiyorlar?
- 2k 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.
- 3Durma 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.
- 4Sı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.
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Çözümü gizle
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 ✓.
Yukarıdaki akış şemasına göre algoritma bittikten sonra yazdırılan a değerini bulun.
Çözümü gösterÇözümü gizle
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.
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Çözümü gizle
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ş
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Çözümü gizle
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.
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Çözümü gizle
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.
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Çözümü gizle
Ç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.
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Çözümü gizle
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.
Ö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.
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.