for-Schleife

Aus ProgrammingWiki
Archivierte Version vom 2017-03-19T22:05:56+00:00. Aktuelle Version

Sehr oft müssen in einem Programm gleichartige Anweisungen wiederholt werden.

Beispiel:

Die Funktion print gibt auf der Konsole 5 mal das Wort "Guten Tag!" aus:

Das wiederholte Aufschreiben von Code ist sehr mühsam. Außerdem sind die so entstandenen Programme nicht sehr flexibel: Was machen wir z.B., wenn durch einen Parameter von außen vorgegeben werden soll, wie oft die Wiederholung ausgeführt wird?

Mit Hilfe der Kontrollstruktur for-Schleife können wir Wiederholungen bequemer formulieren (es gibt auch andere Arten von Schleifen, z.B. die while-Schleife, die wir hier aber nicht behandeln).

Die Funktion print lässt sich mit einer for-Schleife wie folgt schreiben:

Eine übliche allgemeine Notation einer for-Schleife sieht z.B. wie folgt aus:

for( var i = startwert; i < obergrenze; i++) {
   ...
}

Anstelle von ... werden die Anweisungen eingesetzt, die wiederholt werden sollen.

Die Anweisung i++ ist eine Abkürzung für die Anweisung i=i+1.

Eine for-Schleife durchläuft mehrere Iterationen.

Für das oben gezeigte Muster gilt:

  1. In der ersten Iteration erhält "i" den Wert "startwert". Das ist die Anfangszuweisung.
  2. Nach der Iteration wird der Wert von "i" um 1 erhöht ("i++"). Das ist die Wiederholungszuweisung.
  3. Danach wird geprüft, ob die Bedingung i<"obergrenze" erfüllt ist. Das ist die Wiederholungsbedingung
  4. Wenn die Wiederholungsbedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
  5. Die Schritte 2 bis 4 werden wiederholt, bis die Wiederholungsbedingung nicht mehr gilt. In diesem Fall wird die Schleife abgebrochen.

Sie können das an folgendem Beispiel nachvollziehen:

Für die for-Schleife gibt es verschiedene Variationen:

  • Sie dürfen anstelle von "i" andere Variablennamen einsetzen.
  • Sie dürfen für startwert und obergrenze beliebige Werte einsetzen.
  • Sie dürfen die Wiederholungszuweisung ändern. Beispiele:
    • "i=i+2" bedeutet: "i" wird nach jeder Iteration um 2 erhöht.
    • "i--" oder "i=i-1" bedeutet: "i" wird nach jeder Iteration um 1 erniedrigt.
  • Sie dürfen die Wiederholungsbedingung ändern: statt "i<5" dürfen Sie z.B. "i>5" schreiben.

Beispiele

Anderer Startwert, andere Obergrenze (5, 10):

Andere Wiederholungszuweiung (i=i+5):

Andere Wiederholungsbedingung (i>=0)

Aufgaben

Schreiben Sie eine Funktion, die 10 mal den Text "Sonne, Mond und Sterne" auf der Konsole ausgibt!


Schreiben Sie eine Funktion, die folgenden Text auf der Konsole ausgibt:

Schritt 0
Schritt 1
Schritt 2
Schritt 3
Schritt 4
Schritt 5

Schreiben Sie eine Funktion, die folgenden Text auf der Konsole ausgibt:

21. März 2017
22. März 2017
23. März 2017
...
31. März 2017

Anstelle von ... sollen die entsprechenden Tage eingesetzt werden.