ü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
tamamlandı
"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ır | toplam | sayı | 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.
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ü.
tamamlandı
İşaret bu tarayıcıda kalır. XP için
giriş yap — her ders +15 XP.