ünite 3 · Tekrar Etmek
·
ders 3.4
İç içe döngü
Çarpım tablosu, satır-sütun, desen çizmek: dıştaki bir tur atarken içteki hepsini atar.
8 dk
11 / 22
tamamlandı
Çarpım tablosunda her satır için 10 sütun var. Dış döngü satırı seçer, iç döngü o satırın sütunlarını gezer. Dış döngü bir tur attığında iç döngü baştan sona çalışır.
Kaç adım?
Dış 10, iç 10 → 100 işlem. Dış 1000, iç 1000 → bir milyon. İç içe döngü hızla pahalanır; ileride "karmaşıklık" dersinde bu sayıya geri döneceğiz.
Desen
*
**
***
****
Satır i'de i tane yıldız: dış döngü i = 1..4, iç döngü j = 1..i. İç döngünün sınırı dış sayaca bağlı — iç içe döngünün gücü burada.
akış şeması
elips: başla/bitir · dikdörtgen: işlem · paralelkenar: girdi/çıktı · baklava: karar
flowchart TD
A[i = 1] --> B{i #lt;= 4 ?}
B -- Evet --> C[j = 1]
C --> D{j #lt;= i ?}
D -- Evet --> E[/* yaz/]
E --> F[j = j + 1]
F --> D
D -- Hayır --> G[/satır sonu/]
G --> H[i = i + 1]
H --> B
B -- Hayır --> I([Bitir])
sözde kod
adımlar
1i ← 12İKEN i ≤ 43 j ← 14 İKEN j ≤ i5 YAZ "*" // satır sonu yok6 j ← j + 17 DÖNGÜ SONU8 YAZ satır sonu9 i ← i + 110DÖNGÜ SONU
aynısı C# ile
C#
1for (int i = 1; i <= 4; i++)2{3 for (int j = 1; j <= i; j++)4 Console.Write("*");5 Console.WriteLine();6}
adım adım izleme
Kutuların her adımdaki değeri. Kağıtta izleme tablosu tutarken tam bunu yaparsın.
| # | satır | i | j | ekran | not |
|---|---|---|---|---|---|
| 1 | i = 1: j = 1 | 1 | 1 | * | 1 yıldız |
| 2 | i = 2: j = 1, 2 | 2 | 2 | * / ** | 2 yıldız |
| 3 | i = 3: j = 1..3 | 3 | 3 | * / ** / *** | 3 yıldız |
| 4 | i = 4: j = 1..4 | 4 | 4 | … / **** | 4 yıldız; toplam 10 iç tur |
senin sıran
1'den 10'a çarpım tablosunu satır satır yazdır. Sonra deseni ters çevir (4,3,2,1 yıldız). İç döngünün sınırını nasıl değiştirdin?
kendini sına Dış döngü 5, iç döngü 8 tur atıyorsa iç döngünün gövdesi toplam kaç kez çalışır?
40. Her dış tur için iç döngü 8 kez: 5 × 8.
tamamlandı
İşaret bu tarayıcıda kalır. XP için
giriş yap — her ders +15 XP.