PMG10 2122/Zählschleifen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<font color = grey>Diese Beispiele sind z.T. dem ''Brückenkurs Webapps der HS Zittau/Görlitz entnommen.''</font>
Das wiederholte Aufschreiben von Code ist sehr mühsam. Außerdem sind die so entstandenen Programme nicht sehr flexibel.
== Syntax ==
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:
# Vor der ersten Iteration erhält ''i'' den Wert ''startwert''. Das ist die '''Anfangszuweisung'''.
# Nach der Iteration wird der Wert von ''i'' um 1 erhöht (''i++''). Das ist die '''Wiederholungszuweisung'''.
# Es wird geprüft, ob die Bedingung ''i<obergrenze'' erfüllt ist. Das ist die '''Wiederholungsbedingung'''.
# Wenn die Wiederholungsbedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
# Die Schritte 2 bis 4 werden wiederholt, bis die Wiederholungsbedingung nicht mehr erfüllt ist. In diesem Fall werden keine weiteren Iterationen durchgeführt.
Beispiel:
<code id="61f0f89743500">
function print(){
for(var i=0; i<5; i++){
console.log(i);
}
}
</code>
<run id="61f0f8974823a">
print();
</run>
Für die for-Schleife gibt es verschiedene Variationen:
* anstelle von ''i'' andere Variablennamen einsetzen
* für ''startwert'' und ''obergrenze'' beliebige Werte einsetzen.
* 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.
* Wiederholungsbedingung ändern: statt ''i<5'' z.B. ''i>5'' schreiben
== Beispiele ==
Andere Wiederholungszuweisung (i=i+5):
<code id="61f0f89745514">
function print(){
for(var i=0; i< 55; i = i + 5){
console.log(i);
}
}
</code>
<run id="61f0f8974b3b3">
print();
</run>
Andere Wiederholungsbedingung (i>=0)
<code id="61f0f8974563c">
function print(){
for(var i=10; i>=0; i--){
console.log(i);
}
}
</code>
<run id="61f0f8974eb57">
print();
</run>
== Aufgaben ==
''Berechnung mehrerer Quadratzahlen''
Es sollen die ersten 5 (10, 20, ...), also n beliebigen Quadratzahlen in einer Funktion ''QZ_n'' berechnet und ausgegeben werden.<br>
{| border="0"
|-
| <code id="61f0f89746beb"> </code> || || [[Bild:Thomas_N_QZ.jpg|right|thumb|190px|Struktogramm]]
|-
| <run id="61f0f8974ed77"></run> || ||
|}
''Berechnung beliebiger Anzahl ausgewählter Quadratzahlen''
Verändere Dein Programm nun so, dass die Quadratzahlen von n bis m in einer Funktion ''QZ_nm'' berechnet und ausgegeben werden.
<code id="61f0f89747920">
</code>
<run id="61f0f89751893">