ünite 3 · Tekrar Etmek
·
ders 3.3
Biriktirme: toplam, sayaç, en büyük
Döngünün en sık kullanıldığı üç kalıp.
8 dk
10 / 22
tamamlandı
Döngü tek başına bir şey üretmez; döngü içinde biriken bir değişken üretir. Üç kalıp neredeyse her programda:
1. Toplam
toplam ← 0
her sayı için: toplam ← toplam + sayı
2. Sayaç
adet ← 0
her sayı için: EĞER sayı çift İSE adet ← adet + 1
3. En büyük
enBüyük ← ilk sayı
her sayı için: EĞER sayı > enBüyük İSE enBüyük ← sayı
Ortak nokta: biriktirici döngüden önce başlatılır (0, 0, ilk eleman), döngü içinde güncellenir, döngüden sonra kullanılır.
En büyüğü bulurken
enBüyük ← 0 ile başlamak hatadır: bütün sayılar negatifse cevap 0 çıkar. İlk elemanla başla.
akış şeması
elips: başla/bitir · dikdörtgen: işlem · paralelkenar: girdi/çıktı · baklava: karar
flowchart TD
A[enBuyuk = ilk sayı] --> B{sayı kaldı mı?}
B -- Evet --> C[/sonraki sayıyı oku/]
C --> D{sayı #gt; enBuyuk ?}
D -- Evet --> E[enBuyuk = sayı]
D -- Hayır --> B
E --> B
B -- Hayır --> F[/enBuyuk yaz/]
sözde kod
adımlar
1OKU ilk2enBüyük ← ilk3sayaç ← 14İKEN sayaç < 55 OKU sayı6 EĞER sayı > enBüyük İSE enBüyük ← sayı7 sayaç ← sayaç + 18DÖNGÜ SONU9YAZ enBüyük
aynısı C# ile
C#
1int[] sayilar = { 12, -4, 37, 5, 21 };2int enBuyuk = sayilar[0];3for (int i = 1; i < sayilar.Length; i++)4{5 if (sayilar[i] > enBuyuk) enBuyuk = sayilar[i];6}7Console.WriteLine("En büyük: " + enBuyuk);
adım adım izleme
Kutuların her adımdaki değeri. Kağıtta izleme tablosu tutarken tam bunu yaparsın.
| # | satır | enBüyük | sayı | not |
|---|---|---|---|---|
| 1 | enBüyük ← 12 | 12 | · | İlk elemanla başla |
| 2 | -4 > 12 ? | 12 | -4 | Hayır |
| 3 | 37 > 12 ? | 37 | 37 | Evet → güncelle |
| 4 | 5 > 37 ? | 37 | 5 | Hayır |
| 5 | 21 > 37 ? | 37 | 21 | Hayır |
| 6 | YAZ enBüyük | 37 | · | Ekranda: 37 |
senin sıran
Bir sınıfın notlarını okuyup (0 girilince dur) ortalamayı, 50 altı kalan sayısını ve en yüksek notu tek döngüde bulan algoritmayı yaz. Üç biriktirici gerekiyor — hangileri?
kendini sına En küçüğü bulurken karşılaştırma işareti ne olur, başlangıç değeri ne olur?
sayı < enKüçük; başlangıç yine ilk eleman (ya da çok büyük bir sayı, ama ilk eleman daha güvenli).
tamamlandı
İşaret bu tarayıcıda kalır. XP için
giriş yap — her ders +15 XP.