Schleifen
Der Bereich "Steuerung"Schleifen" enthält Blöcke, die steuern, ob andere Blöcke, die in ihrem Inneren platziert sind, ausgeführt werden. Es gibt zwei Arten von Steuerungsblöcken: wenn-sonst-Blöcke (die auf einer eigenen Seite beschrieben werden) und Blöcke, die steuern, wie oft ihr Inneres ausgeführt wird. Letztere werden Schleifen genannt, da ihr Inneres, auch als Schleifenkörper oder Körper bezeichnet, (möglicherweise) mehrfach wiederholt wird. Jeder Durchlauf einer Schleife wird als Iteration bezeichnet.
Blöcke zur Erstellung von Schleifen
dauerhaft wiederholen
Der dauerhaft wiederholen-Block führt den Code in seinem Körper so lange aus, bis das Programm endet.
wiederhole
Der wiederhole-Block führt den Code in seinem Körper, so häufig wie angegeben aus. Der folgende Block gibt zum Beispiel zehnmal "Hallo!" aus:
wiederhole-solange
Stelle dir ein Spiel vor, bei dem ein Spieler einen Würfel wirft und alle geworfenen Werte addiert, solange die Summe kleiner als 30 ist. Die folgenden Blöcke implementieren dieses Spiel:
- Eine Variable namens insgesamt erhält einen Anfangswert von 0.
- Die Schleife beginnt mit einer Überprüfung, ob insgesamt kleiner als 30 ist. Wenn ja, werden die Blöcke im Körper durchlaufen.
- Eine Zufallszahl im Bereich von 1 bis 6 wird erzeugt (um einen Würfelwurf zu simulieren) und in einer Variablen namens gewürfelt gespeichert.
- Die gewürfelte Zahl wird ausgegeben.
- Die Variable insgesamt wird um gewürfelt erhöht.
- Wenn das Ende der Schleife erreicht ist, geht die Steuerung zurück zu Schritt 2.
Nach Beendigung der Schleife werden alle nachfolgenden Blöcke (nicht dargestellt) durchlaufen. Im Beispiel endet der Schleifendurchlauf, nachdem eine gewisse Anzahl von Zufallszahlen im Bereich von 1 bis 6 ausgegeben wurde, und die Variable insgesamt hat dann als Wert die Summe dieser Zahlen, die mindestens 30 beträgt.
wiederhole-bis
wiederhole solange-Schleifen wiederholen ihren Körper, solange eine Bedingung erfüllt ist. wiederhole bis-Schleifen sind ähnlich, mit dem Unterschied, dass sie ihren Körper so lange wiederholen, bis eine bestimmte Bedingung erfüllt ist. Die folgenden Blöcke sind äquivalent zum vorherigen Beispiel, weil die Schleife läuft, bis insgesamt größer oder gleich 30 ist.
zählen-von-bis
Die zählen-von-bis-Schleife erhöht einer Variable den Wert, beginnend mit einem ersten Wert, endend mit einem zweiten Wert und in Schritten von einem dritten Wert, wobei der Körper für jeden Wert der Variable einmal ausgeführt wird. Das folgende Programm gibt zum Beispiel die Zahlen 1, 3 und 5 aus.
Wie die beiden folgenden Schleifen zeigen, die jeweils die Zahlen 5, 3 und 1 ausgeben, kann dieser erste Wert größer sein als der zweite. Das Verhalten ist das gleiche, egal ob der Inkrementbetrag (dritter Wert) positiv oder negativ ist.
für jeden
Der für jeden-Block ist ähnlich wie die zählen-von-bis-Schleife, nur dass er statt der Schleifenvariable in einer numerischen Reihenfolge die Werte aus einer Liste der Reihe nach verwendet. Das folgende Programm gibt jedes Element der Liste "alpha", "beta", "gamma" aus:
Schleifenabbruchblöcke
Die meisten Schleifen werden so lange durchlaufen, bis die Abbruchbedingung (bei wiederhole-Blöcken) erfüllt ist oder bis alle Werte der Schleifenvariable angenommen wurden (bei zählen mit- und für jeden-Schleifen). Zwei selten benötigte, aber gelegentlich nützliche Blöcke bieten zusätzliche Möglichkeiten zur Steuerung des Schleifenverhaltens. Sie können bei jeder Art von Schleife verwendet werden, auch wenn die folgenden Beispiele ihre Verwendung bei der für jeden-Schleife zeigen.
fahre-mit-nächster-Iteration-fort
fahre-mit-nächster-Iteration-fort bewirkt, dass die restlichen Blöcke im Schleifenkörper übersprungen werden und die nächste Iteration der Schleife beginnt.
Das folgende Programm gibt bei der ersten Iteration der Schleife "alpha" aus. Bei der zweiten Iteration wird der Block fahre mit nächster Integration fort ausgeführt, wodurch die Ausgabe von "beta" übersprungen wird. Bei der letzten Iteration wird "gamma" gedruckt.
Schleifenabbruch
Der schleifenabbruch-Block ermöglicht einen vorzeitigen Ausstieg aus einer Schleife. Das folgende Programm gibt bei der ersten Iteration "alpha" und bricht bei der zweiten Iteration aus die Schleife ab, wenn die Schleifenvariable gleich "beta" ist. Der dritte Punkt in der Liste wird nie erreicht.