Verzweigungen

Verzweigungen werden genutzt um Anweisungen basierend auf Bedingungen auszuführen.

Einseitige Verzweigung

Bei einer einseitigen Verzweigung wird ein Anweisungs-Block nur dann ausgeführt, wenn die angegebene Bedingung wahr ergibt, ansonsten wird nichts getan und die nachfolgenden Anweisungen ausgeführt.

Aufbau:

Wenn <Bedingung>, dann:
	<Anweisungen>.

Beispiel:

Wenn 1 gleich 1 ist, dann:
	Schreibe den Text "Bedingung erfüllt!".

Zweiseitige Verzweigung

Eine zweiseitige Verzweigung funktioniert wie die einseitige, mit dem Unterschied, dass ein sonst vorhanden ist. Sollte die Bedingung falsch ergeben, wird der Code im sonst-Block ausgeführt.

Aufbau:

Wenn <Bedingung>, dann:
	<Anweisungen>.
Sonst:
	<Anweisungen>.

Beispiel:

Wenn 1 gleich 2 ist, dann:
	Schreibe den Text "Bedingung erfüllt!".
Sonst:
	Schreibe den Text "Bedingung nicht erfüllt!".

Mehrseitige Verzweigung

Mehrseitige Verzweigungen erweitern die zweiseitige Verzweigung um beliebig viele Verzweigungen. Nach dem Wenn-Block können beliebig viele Wenn aber-Blöcke angefügt werden. Sollte die erste Bedingung im Wenn-Block falsch ergeben wird die Bedingung im ersten Wenn aber-Block überprüft, sollte diese falsch sein wird die nächste überprüft und so weiter. Wenn alle Bedingungen falsch sein sollten wird, falls vorhanden, der sonst-Block ausgeführt. Sobald ein Block ausgeführt wurde, werden alle folgenden Blöcke übersprungen.

Aufbau:

Wenn <Bedingung>, dann:
	<Anweisungen>
Wenn aber <2. Bedingung>, dann:
	<Anweisungen>.
Sonst:
	<Anweisungen>.

Beispiel:

Wenn 1 gleich 2 ist, dann:
	Schreibe den Text "Bedingung erfüllt!".
Wenn aber 2 gleich 2 ist, dann:
	Schreibe den Text "2. Bedingung erfüllt!".
Sonst:
	Schreibe den Text "Bedingung nicht erfüllt!".

Schleifen

Schleifen werden genutzt um Code basierend auf Bedingungen mehrmals auszuführen.

Kopfgesteuerte Schleife

Kopfgesteuerte Schleifen sind die einfachste Art von Schleifen. Wenn die Bedingung ‘wahr’ ergibt, wird der Code-Block ausgeführt. Das wiederholt sich so lange, wie die Bedingung ‘wahr’ ergibt.

Solange <Bedingung>, mache:
	<Anweisungen>.

Fußgesteuerte Schleife

Fußgesteuerte Schleifen ähneln stark den Kopfgesteuerten, mit dem einzigen Unterschied, dass der Code-Block mindestens einmal ausgeführt wird, und dann erst das Prüfen der Bedingung beginnt.

Mache:
	<Anweisungen>.
Solange <Bedingung>.

Wiederholung

Wiederholungen werden genutzt um einen Code-Block mehrere Male auszuführen. Sie sind eine gekürzte Version von zählenden Schleifen, sparen Text und erhöhen die Lesbarkeit des Codes wenn man die Zähler-Variable nicht benötigt.

Wiederhole:
	<Anweisungen>.
<Anzahl> Mal.

Zählende Schleife

Zählende Schleifen ermöglichen es ebenfalls Code mehrmals auszuführen, wobei gleichzeitig ein Zähler gegeben wird, der anderweitig genutzt werden kann. Bei jeder Zählenden Schleife muss ein Zähler benannt werden (Eine Variable vom Typ ‘Zahl’) und ein Start- und Endwert. Optional kann auch eine Schrittgröße angegeben werden, mit der gezählt wird.

Hochzählende Schleife

Zuerst wird der Zähler benannt und mit dem Startwert initialisiert. Dann wird (wie bei jeder Iteration) überprüft, ob der Wert des Zählers kleiner oder gleich wie der des Endwerts ist. Sollte diese Bedingung erfüllt sein, wird der Code-Block ausgeführt, und danach der Zähler um 1 erhöht. Das wird solange wiederholt wie der Zähler den Endwert nicht überschreitet. Im Code-Block kann der Zähler wie eine normale lokale Variable benutzt werden.

Aufbau

Für jede Zahl <Zähler> von <Startwert> bis <Endwert>, mache:
	<Anweisungen>.

Beispiel

Für jede Zahl i von 1 bis 100, mache:
	Schreibe die Zahl i.

Runterzählende Schleife

Eine Runterzählende Schleife funktioniert wie die Hochzählende, bloß mit dem Unterschied, dass eine Schrittgröße von -1 (oder irgendeinem negativen Wert) spezifiziert wird. Dadurch wird der Zähler am Ende nicht um 1 sondern um die angegebene Schrittgröße erhöht (bzw. verringert). Natürlich muss hierbei der Startwert größer als der Endwert sein, da es sonst eine Endlosschleife wird.

Aufbau

Für jede Zahl <Zähler> von <Startwert> bis <Endwert> mit Schrittgröße -1, mache:
	<Anweisungen>.

Beispiel

Für jede Zahl i von 100 bis 1 mit Schrittgröße -1, mache:
	Schreibe die Zahl i.

Eigene Schrittgröße

Wie oben erwähnt, kann auch eine beliebige Schrittgröße n angegeben werden. Das sorgt dafür, das anstatt 1 der angegebene Wert zum Zähler addiert wird.

mit Schrittgröße n ist optional. Standardmäßig ist die Schrittgröße +1.

Aufbau

Für jede Zahl <Zähler> von <Startwert> bis <Endwert> mit Schrittgröße <n>, mache:
	<Anweisungen>.

Beispiel

Für jede Zahl i von 1 bis 100 mit Schrittgröße 5, mache:
	<Anweisungen>.

Iterierende Schleifen

Es ist auch möglich mit Schleifen durch jedes Element einer Liste durchzulaufen.

Die Zahlen Liste liste ist eine leere Zahlen Liste.

Für jede Zahl element in liste, mache:
	<Anweisungen>.

Abbrechen/Fortführen von Schleifen

Schleifen können auch abgebrochen bzw. zur nächsten Iteration geführt werden (in anderen Sprachen entspricht das den Schlüsselwörtern break und continue).

Abbrechen

[Schreibt "1 2" in die Konsole]
Für jede Zahl i von 1 bis 5, mache:
	Wenn i gleich 3 ist, dann:
    	Verlasse die Schleife. [break]
    Schreibe i.
    Schreibe ' '.

Fortführen

[Schreibt "1 2 4 5" in die Konsole]
Für jede Zahl i von 1 bis 5, mache:
	Wenn i gleich 3 ist, dann:
    	Fahre mit der Schleife fort. [continue]
    Schreibe i.
    Schreibe ' '.

Tipp

Fast jede der hier aufgelisteten Verzweigungen und Schleifen kann auch auf einer einzigen Zeile geschrieben werden, falls nur eine Anweisung ausgeführt werden muss.

Beispiele

Wenn 1 gleich 1 ist, Schreibe den Text "Bedingung erfüllt!".

Wenn 1 gleich 2 ist, Schreibe den Text "Bedingung erfüllt!".
Sonst Schreibe den Text "Bedingung nicht erfüllt".

Wenn 1 gleich 2 ist, Schreibe den Text "Bedingung erfüllt!".
Wenn aber 1 kleiner als 2 ist, Schreibe den Text "Zweite Bedingung erfüllt!".
Sonst Schreibe den Text "Bedingung nicht erfüllt".


Solange i gleich 5 ist, Rufe eine Funktion auf, die i erhöht.

Schreibe den Text "Hi!" 5 Mal.


Für jede Zahl i von 1 bis 100, Schreibe die Zahl i.

Für jede Zahl i von 100 bis 1 mit Schrittgröße -1, Schreibe die Zahl i.