Brückenkurs Websites und Webapps/for-Schleife
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
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:
<code id="58cef5ddc3c1e">
function print(){
console.log("Guten Tag!");
console.log("Guten Tag!");
console.log("Guten Tag!");
console.log("Guten Tag!");
console.log("Guten Tag!");
}
</code>
<run id="58cef5ddc3cf4">
print();
</run>
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:
<code id="58cef5ddc3c88">
function print(){
for(var i=0; i<5; i++){
console.log("Guten Tag!");
}
}
</code>
<run id="58cef5ddc3d57">
print();
</run>
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:
# In der ersten Iteration hat i den Wert "startwert".
# Nach der Iteration wird der Wert von i um 1 erhöht ("i++").
# Danach wird geprüft, ob die Bedingung ''i<"obergrenze"'' erfüllt ist.
# Wenn die Bedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
# Die Schritte 2 bis 4 werden wiederholt, bis die Bedingung ''i<"obergrenze"'' nicht mehr gilt. In diesem Fall wird die Schleife abgebrochen.
Sie können das an folgendem Beispiel nachvollziehen:
<code id="58cef85107e61">
function print(){
for(var i=0; i<5; i++){
console.log(i);
}
}
</code>
<run id="58cef85107f12">
print();
</run>
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):
<code id="58cefc1ebc44a">
function print(){
for(var i=5; i<10; i++){
console.log(i);
}
}
</code>
<run id="58cefc1ebc5b2">
print();
</run>
Andere Wiederholungszuweiung (i=i+5):
<code id="58cefc1ebc4c2">
function print(){
for(var i=0; i< 55; i = i + 5){
console.log(i);
}
}
</code>
<run id="58cefc1ebc620">
print();
</run>
Andere Wiederholungsbedingung (i>=0)
<code id="58cefc1ebc52f">
function print(){
for(var i=10; i>=0; i--){
console.log(i);
}
}
</code>
<run id="58cefc1ebc689">
print();
</run>