Loops 🔁
Bisher sind unsere Programme geradlinig von oben nach unten durchgelaufen. Manchmal möchte man in einem Programm aber denselben Code häufig hintereinander ausführen. Dafür gibt es sogenannte Loops (Schleifen).
⚠️ Warnung: Wenn du eine Schleife schreibst, deren Bedingung nie
falsewird, läuft sie für immer (“Endlosschleife”). In diesem Notebook bricht der Browser nach 1 Sekunde automatisch ab — keine Sorge, dein Tab friert nicht ein.
while-Loop
Mit einem while-Loop können wir ein Stück Code ausführen, wenn eine Bedingung
gilt — genau wie mit einem if. Allerdings führt while den Code immer und
immer wieder aus, solange die Bedingung true bleibt.
Man liest allgemein while (A) { B } als “Solange A gilt, mach immer wieder B”.
Beachte die Zeile i = i + 1: ohne sie würde i immer 1 bleiben, die Bedingung
i <= 10 wäre immer true, und die Schleife würde nie aufhören. Probier es aus —
kommentiere die Zeile mit // aus und schau, was passiert.
break — Schleife abbrechen
Mit break kannst du eine Schleife sofort abbrechen, mitten im Durchlauf.
continue — eine Runde überspringen
continue ist wie break, aber bricht nur die aktuelle Runde ab und springt
zur nächsten Runde der Schleife. Beispiel: nur ungerade Zahlen ausgeben.
Übung 🎯 — Collatz-Folge
Die Collatz-Folge ist eine berühmte Zahlenreihe:
- Starte mit irgendeiner Zahl
n. - Wenn
ngerade ist: teile sie durch 2. - Wenn
nungerade ist: rechne3 * n + 1. - Wiederhole, bis du bei
1ankommst.
Es ist eine offene Frage in der Mathematik, ob die Folge immer bei 1 endet —
aber für alle bisher getesteten Zahlen tut sie das.
Schreib ein Programm, das die Collatz-Folge für die Startzahl 123 berechnet
und jede Zahl mit console.log ausgibt. Stoppe, wenn du den sich wiederholenden
Zyklus 4, 2, 1 erreicht hast.
💡 Tipp anzeigen
- Verwende
letfür deine Variable, weil sie sich verändert. - In der Schleife: prüfe mit
%, ob die Zahl gerade ist. - Stoppe mit
break, wenn die Zahl1ist (oder mach es eleganter über diewhile-Bedingung).
🧐 Lösungshinweis: Die größte Zahl, die dein Programm auf dem Weg ausgeben sollte, ist
628.
💡 Trivia: Bis heute wird zwar vermutet, dass jede ganze positive Zahl irgendwann in der
4, 2, 1-Folge landet — bewiesen ist das aber noch nicht. Mit Computerprogrammen wie deinem hat man schon sehr, sehr viele Zahlen ausprobiert und noch kein Gegenbeispiel gefunden.
Geschafft! 🚀
Du beherrschst jetzt:
while— Schleifen mit einer Bedingungbreak— Schleife sofort abbrechencontinue— eine Runde überspringen
Als Nächstes: Scopes →