(Programmierung mit JavaScript) 4 - Schleifen

4.A1_a - Fakultät

Das HTML

Zur Berechnung der Fakultät gibt es aufseiten des HTML keine Neuerungen zu den vorangegangenen Aufgaben.

Ausgabe im Browser

Die Aufgabe Fakultät teilt sich mit der nächsten Aufgabe - der Gaußschen Summenformel - das Einstiegsbeispiel zum Gebrauch von Schleifen. Hast du die Aufgabe verstanden, solltest du die zweite im Anschluss einmal komplett selber versuchen.

Beschreibung des JavaScript

Das Besondere dieser Art von Aufgaben ist, dass ein und dieselbe Anweisung ständig wiederholt werden muss: 1 mal 2, das Ergenis wieder mal 3, das Ergebnis wieder mal 4, usw. Da es nun erstens nicht sinnvoll ist, ständig dieselbe Programmanweisung zu schreiben und du zweitens auch nicht weist, wie oft du das Ganze wiederholen sollst - der Benutzer bestimmt das mit seiner Eingabe - gibt es als Lösung das Hilfsmittel Schleife.
Innerhalb einer Schleife wird eine Anweisung eine bstimmte Anzahl mal wiederholt. Schleifen sind wie auch die Bedingungen das Grundwerkzeug jeder Programmiersprache. Schauen wir dazu auf die Aufgabe Fakultät, Zeile 10.

Die for Schleife funktionier so: for/für( soundsooft ) { mache etwas }.

Dabei wird das "soundsooft" in einer for-Schleife meist wie folgt umgesetzt: Man definiert eine Variable var i, sagt wo sie anfängt var i = 1, wo sie aufhört i < fakultaetBis und zuletzt noch wie sie hochgezählt werden soll i++. Dabei ist i++ eine Kurzschreibweise für i = i + 1 und heißt, i wird jedesmal um 1 erhöht. i ist also 1, dann 2, dann 3, usw. Den Wert der Variable fakultaetBis hat der Benutzer zuvor durch seine Eingabe bestimmt.

Programmablauf: Berechnung der Fakultät bis 5

for( 1; 1 <= 5?; ) { produkt = 1 * 1;} | podukt = 1
for( 2; 2 <= 5?; ) { produkt = 1 * 2;} | podukt = 2
for( 3; 3 <= 5?; ) { produkt = 2 * 3;} | podukt = 6
for( 4; 4 <= 5?; ) { produkt = 6 * 4;} | podukt = 24
for( 5; 5 <= 5?; ) { produkt = 24 * 5;} | podukt =120
for( 6; 6 <= 5?) NEIN - Schleife wird nicht mehr ausgeführt und im nächsten Schritt wird das podukt = 120 ausgegeben.

Aufgabe Lösung
Was passiert wenn in der for-Schleife das i nicht Schrittweise um 1 erhöht wird sondern um 2: i = i + 2;?
Was geschieht wenn die Schleife so abgeändert würde:
for( i = 0; i < fakultaetBis; i++) { ... }?