am Beispiel von Teilbarkeitsüberprüfungen
Im folgenden findet ihr ein Tutorial, indem ich die for-Schleife mittels Debugging genauer erläutere.
Das Video startet zu der Zeit, bei der die for-Schleife erklärt wird. Wer noch nicht mit dem debuggen von Programmen vertraut ist, der sollte sich das Video von Anfang an anschauen.
am Beispiel von Fakultäten
for
-Schleifen sind einfache Zählschleifen. Man legt eine Zählvariable fest, die bei jedem Schritt zum Beispiel um eins erhöht wird und lässt die in der Schleife enthaltenen Anweisung solange durchführen, bis man ein vorher festgelegtes Ende erreicht hat.
Ein Beispiel für den Nutzen einer Zählschleife ist das Berechnen der Fakultät.
Die Fakultät von n ist dadurch definiert, dass alle Zahlen von 1 bis einschließlich n miteinander multipliziert werden:
Um diese Fakultät zu berechnen müssen wird also alle Zahlen von 1 bis n multiplizieren. Das kann der Rechner jedoch nur Schrittweise, also:
1 ⋅ 2 = 2
2 ⋅ 3 = 6
6 ⋅ 4 = 24
⋮
Der erste Wert ist eine Art Zwischenwert, den wir immer aus der vorherigen Rechnung übernehmen, der zweite Wert ist die aktuelle Zählvariable und der letzte Wert ist unser Ergbenis der jetzigen Rechnung, also der Zwischenwert für die nächste Rechnung. Dafür müssen wir also das Ergebnis der Rechnung immer wieder zwischenspeichern und mit dem neuen Zähler wieder multiplizieren. Eine Umsetzung mit einer for-Schleife würde so aussehen:
1
2
3
4
5
6
7
8
9
10
11
/* Startwert muss neutral bezüglich der Multiplikation sein */
Int64 Zwischenwert = 1;
/* Ziel: Fakultät von 5 berechnen */
int Ende = 5;
for (int i = 1; i <= Ende; i = i + 1)
{
/* Wird ausgeführt, solange die Schleife durchlaufen wird */
Zwischenwert = Zwischenwert * i;
}
/* Fakultät = letztes Zwischenergebnis, ausgeben */
Console.WriteLine(Zwischenwert);
Der Schleifen-“Kopf“ for (int i = 1; i <= Ende; i = i + 1)
bedeutet folgendes:
int i = 1 |
deklariere die Zählvariable i und beginne mit i = 1 |
i <= Ende |
durchlaufe die Schleife solange, wie i <= Ende ist |
i = i + 1 |
erhöhe das i nach dem durchlaufen der Schleife jedes Mal um 1 |