for-Schleife

Aus ProgrammingWiki
Archivierte Version vom 2017-03-20T00:04:07+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 <strong>Wiederholungsbedingung</strong>.</obergrenze>
  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.


Schreiben Sie eine Funktion, die folgendes Muster auf der Konsole ausgibt:

6
---
12
---
18
---
24
---
...
60
---

Anstelle von ... sollen die übrigen Werte eingesetzt werden.


Schreiben Sie eine Funktion, die einen Parameter anzahl erwartet. Die Funktion soll so oft den Text "Test" auf die Konsole schreiben, wie es der Wert des Parameters vorgibt. Tipp: Setzen Sie den Namen des Parameters als obergrenze in der Wiederholungsbedingung ein!


Zusatzaufgabe Lösen Sie noch einmal Aufgabe 3 aus dem Arbeitsblatt Zeichenketten. Verwenden Sie diesmal eine for-Schleife!