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

Koşullu döngü

Kaç kez döneceğini bilmediğin zaman: doğru cevap gelene kadar sor.

7 dk 9 / 22

"Kullanıcı doğru şifreyi girene kadar sor." Kaç deneme? Bilinmez. Koşullu döngü koşul doğru olduğu sürece döner.

Sonsuz döngü tuzağı

Koşulu değiştirecek satır döngünün içinde olmalı. Hata Avcısı'ndaki "program neden bitmiyor" tam bu: i ← i + 1 döngünün dışındaydı, koşul hiç yanlış olmuyordu.

Bekçi değer

"Sayıları oku, 0 girilince dur, toplamı yaz." 0 burada veri değil, bekçi — durmanın işareti. Bekçiyi toplamamaya dikkat.

Koşullu döngüye girmeden önce koşulun anlamlı olduğundan emin ol: İKEN sayı ≠ 0 diyorsan sayı döngüden önce okunmuş olmalı.
akış şeması elips: başla/bitir · dikdörtgen: işlem · paralelkenar: girdi/çıktı · baklava: karar
flowchart TD
  A[toplam = 0] --> B[/sayı oku/]
  B --> C{sayı != 0 ?}
  C -- Evet --> D[toplam = toplam + sayı]
  D --> B
  C -- Hayır --> E[/toplamı yaz/]
sözde kod adımlar
1toplam ← 02OKU sayı3İKEN sayı ≠ 04  toplam ← toplam + sayı5  OKU sayı6DÖNGÜ SONU7YAZ toplam
aynısı C# ile C#
1int toplam = 0;2int sayi = int.Parse(Console.ReadLine());3while (sayi != 0)4{5    toplam += sayi;6    sayi = int.Parse(Console.ReadLine());7}8Console.WriteLine("Toplam: " + toplam);
adım adım izleme

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

#satırtoplamsayınot
1 toplam ← 0, OKU sayı 0 4 Girdi: 4
2 sayı ≠ 0 → Evet, toplam ← 4 4 6 Sonra yeni sayı: 6
3 sayı ≠ 0 → Evet, toplam ← 10 10 0 Sonra yeni sayı: 0
4 sayı ≠ 0 → Hayır 10 0 Bekçi geldi, 0 toplanmadı
5 YAZ toplam 10 · Ekranda: 10
senin sıran

Sayı tahmin oyunu: bilgisayar 1–100 arası bir sayı tutsun; kullanıcı tutana kadar "büyük" / "küçük" ipucu alsın; sonunda kaç denemede bildiği yazılsın. Sözde kodu yaz, sonra Canlı Kod'da C# ile dene.

Canlı Kod'da C# ile dene
kendini sına Bekçi değer örneğinde OKU sayı neden hem döngüden önce hem içinde var?
Öncekisi koşulun ilk kontrolü için ilk değeri sağlar; içindeki her turda yenisini okur. İçindekini silersen aynı sayı hep okunur — sonsuz döngü.
İşaret bu tarayıcıda kalır. XP için giriş yap — her ders +15 XP.