canlı ~/duyurular $
Algoritma müfredatı
ünite 3 · Tekrar Etmek · ders 3.1

Sayaçlı döngü

"10 kez yap" demenin yolu: başlangıç, koşul, artış.

8 dk 8 / 22

Ekrana 1'den 5'e sayıları yazmak için beş YAZ satırı yazabilirsin. 1000'e kadar? Döngü, aynı adımı sayarak tekrarlar.

Üç parça

  • Başlangıç: sayaç nereden başlar (i ← 1)
  • Koşul: ne zamana kadar devam (i ≤ 5)
  • Artış: her turda sayaç nasıl değişir (i ← i + 1)

Koşul her turun başında kontrol edilir. Yanlış olduğu an döngü biter — o tur çalışmaz.

Off-by-one: bir eksik, bir fazla

1'den 5'e yazmak isterken i < 5 yazarsan 5 yazılmaz; i ≤ 5 gerekir. Döngüyü her zaman ilk ve son tur için elle izle.

Kaç kez döndüğünü bilmek istiyorsan sayaçlı (for), "ne zamana kadar" bilmiyorsan koşullu (while) döngü.
akış şeması elips: başla/bitir · dikdörtgen: işlem · paralelkenar: girdi/çıktı · baklava: karar
flowchart TD
  A([Başla]) --> B[i = 1]
  B --> C{i #lt;= 5 ?}
  C -- Evet --> D[/i yaz/]
  D --> E[i = i + 1]
  E --> C
  C -- Hayır --> F([Bitir])
sözde kod adımlar
1i ← 12İKEN i ≤ 53  YAZ i4  i ← i + 15DÖNGÜ SONU
aynısı C# ile C#
1for (int i = 1; i <= 5; i++)2{3    Console.WriteLine(i);4}
adım adım izleme

Kutuların her adımdaki değeri. Kağıtta izleme tablosu tutarken tam bunu yaparsın.

#satıriekrannot
1 i ← 1 1 · Sayaç başladı
2 i ≤ 5 ? → Evet, YAZ 1 1 1 1. tur
3 i ← 2 … YAZ 2 2 1 2 2. tur
4 … YAZ 5 5 1 2 3 4 5 5. tur
5 i ← 6, i ≤ 5 ? → Hayır 6 1 2 3 4 5 Döngü bitti; 6 yazılmadı
senin sıran

1'den 100'e kadar 3'e bölünen sayıları yazan döngüyü yaz. Sonra aynı işi sayacı 3'er artırarak (3, 6, 9…) yap; hangisi daha az adım atıyor?

Canlı Kod'da C# ile dene
kendini sına for (int i = 0; i < 10; i++) kaç tur döner?
10 tur: i = 0,1,…,9. 10 olduğunda koşul yanlış, döngü biter.
İşaret bu tarayıcıda kalır. XP için giriş yap — her ders +15 XP.