for-Schleife

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

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 oben gezeigte Funktion print lässt sich mit einer for-Schleife z.B. 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. In jeder Iteration werden alle Anweisungen zwischen den Klammern {...} ausgeführt.

Für das oben gezeigte Muster gilt:

  1. Vor 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. Es 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 erfüllt ist. In diesem Fall werden keine weiteren Iterationen durchgeführt.

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 Wiederholungszuweisung (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!

Persönliche Werkzeuge