Schleifen-Block

Beim Schleifen-Block handelt es sich um einen Container, der eine Sequenz von Programmierblöcken enthalten kann. Der Schleifen-Block sorgt dafür, dass die enthaltene Blocksequenz wiederholt wird. Du kannst entscheiden, wie oft die Blocksequenz wiederholt werden soll. Du kannst sie aber auch unendlich wiederholen lassen – oder bis ein Sensortest oder eine andere Bedingung erfüllt ist (den Wert „Wahr“ ausgegeben hat).

Nur die Blöcke in der Schleife werden wiederholt. Nach Abschluss der Schleife wird das Programm mit den Blöcken nach der Schleife fortgesetzt.
Tipps und Tricks
Du kannst Blöcke durch Ziehen in eine Schleife verschieben. Der Schleifen-Block wird erweitert, um Platz für die Blöcke in der Schleife zu schaffen.
Wähle den Schleifenmodus.


Modus-Auswahl
Eingaben
Ausgabe „Zählen“
Schleifen-Name

Verwende die Modus-Auswahl, um festzulegen, wie oft die Schleife wiederholt wird. Mit den unterschiedlichen Modi wird bestimmt, welche Bedingung die Schleife enden lässt. Du kannst die Schleife bspw. eine bestimmte Anzahl Male oder unendlich wiederholen lassen. Sie kann aber auch wiederholt werden, bis ein Sensordatenwert eine bestimmte Schwelle erreicht hat. Die verfügbaren Eingaben sind von Modus zu Modus verschieden. Die Modi sind nachstehend beschrieben.

In das Feld „Schleifen-Name“ oben im Schleifen-Block kannst du einen Namen für die Schleife eingeben. Dieser Name wird vom Schleifen-Interrupt-Block verwendet, um dir noch eine weitere Möglichkeit zum Beenden der Schleife zu eröffnen.

Die in der Schleife enthaltenen Blöcke können die Ausgabe Zählen verwenden, um zu bestimmen, wie oft die Schleife wiederholt wurde. Weitere Informationen findest du unter Verwenden der Ausgabe „Zählen“.
Modi
Unbegrenzt


Im Endlosmodus werden die Blöcke innerhalb der Schleife endlos wiederholt. Jegliche hinter der Schleife platzierten Blöcke werden niemals erreicht.
Beispiel 1
Dieses Programm lässt einen Roboter abwechselnd geradeaus und Kurven fahren – und zwar immer und immer wieder –, bis das Programm stoppt.
Tipps und Tricks
Benutze die Taste „Zurück“ auf dem EV3-Stein, um ein Programm zu stoppen.
Beispiel 2
Jedes Mal, wenn der Berührungssensor gedrückt wird, blendet dieses Programm einen geschlossenen Mund auf dem EV3-Display ein, ansonsten ist dort ein offener Mund dargestellt. Die Schleife sorgt dafür, dass der Sensortest im Schalter-Block ständig wiederholt wird.
Zählen


Im Zählmodus gibt die Eingabe Zählen an, wie oft die in der Schleife enthaltenen Blöcke wiederholt werden sollen.
Beispiel
Dieses Programm lässt den Roboter einmal „Hello“, dann sechsmal „Go“ und anschließend einmal „Bravo“ sagen. Der Schleifen-Block enthält einen Klang-Block und ist so konfiguriert, dass er sechsmal wiederholt wird.
Zeit


Im Zeitmodus kannst du die Dauer, in der die Schleife wiederholt werden soll, in der Eingabe Sekunden festlegen. Die Zeit wird ab dem Anfang der Schleife gemessen.

Die zeitliche Beschränkung wird erst am Ende der Schleifensequenz getestet. Die Schleifensequenz wird immer mindestens einmal ausgeführt und die Schleife beginnt nur dann wieder am Anfang, wenn die in diesem Moment verstrichene Zeit unter dem Betrag liegt, der unter Sekunden festgelegt ist.
Logische Werte


Im Modus „Logischer Wert“ wird die Schleife wiederholt, bis am Ende der Schleifensequenz für die Eingabe Bis der Wert „Wahr“ gilt. Die Schleifensequenz wird immer mindestens einmal ausgeführt und die Eingabe „Bis“ wird am Ende jeder Schleifenwiederholung überprüft.

Verwende eine Datenleitung, um die Eingabe Bis mit einer Ausgabe „Logischer Wert“ in einem Programmierblock innerhalb der Schleife zu verbinden. Diese Ausgabe sollte den Wert „Wahr“ enthalten, um die Schleife zu beenden.
Beispiel
Dieses Programm lässt einen Roboter vorwärts fahren, bis der Berührungssensor gedrückt wird oder der Farbsensor die Farbe Schwarz erkennt – je nachdem, was zuerst der Fall ist. Die Ausgabe eines Blocks Logische Verknüpfungen wird für die Eingabe Bis der Schleife verwendet. Am Ende der Schleife stoppt der Roboter.
Tipps und Tricks
Viele Sensortests, die nur einen Sensor betreffen, können direkt vom Schleifen-Block durchgeführt werden, indem die unten beschriebenen Sensor-Modi verwendet werden.
Sensor-Modi
Der Schleifen-Block enthält mehrere Modi, die Sensordaten lesen und mit einem Eingabewert vergleichen. Für jeden Sensortyp gibt es unterschiedliche Modi. Manche Sensordatentypen lassen sich mit einem Schwellenwert vergleichen, andere dagegen mit bestimmten festgelegten Werten.
Sensordaten mit einem Schwellenwert vergleichen
In einem Modus mit einer Eingabe Schwellenwert wiederholt der Schleifen-Block die in der Schleife enthaltene Blocksequenz, bis für den Schwellenvergleich der Wert „Wahr“ gilt. Du könntest bspw. eine Schleife wiederholen lassen, bis der Farbsensor einen Wert für die Stärke des reflektierten Lichts erkennt, der kleiner als der von dir festgelegte Schwellenwert ist.



Modus-Auswahl
Anschlussauswahl
Eingabe „Vergleichsart“
Eingabe „Schwellenwert“

Verwende die Modus-Auswahl, um einen Sensor-Modus mit einer Eingabe Schwellenwert auszuwählen. Falls in dem Modus ein Anschluss benutzt wird, verwendest du die Anschlussauswahl, um sicherzustellen, dass dieser Anschluss dem Anschluss am EV3-Stein entspricht, an den der Sensor oder Motor angeschlossen ist.

Wähle die zu verwendende Vergleichsart aus der Liste Vergleichsart und gib den Schwellenwert ein.

Jedes Mal, wenn die in einer Schleife enthaltene Blocksequenz endet, liest der Schleifen-Block die Sensordaten und vergleicht sie mit der Schwelle. Liefert dieser Vergleich den Wert „Falsch“, dann wird die Schleife wiederholt. Liefert dieser Vergleich den Wert „Wahr“, dann macht das Programm mit dem nächsten Block nach der Schleife weiter.

Weitere Informationen über die Verwendung der verschiedenen Sensortypen und die von ihnen gelieferten Daten findest du in den Hilfe-Einträgen zur „Verwendung von Sensoren“.
Beispiel
Dieses Programm lässt einen Roboter vorwärts fahren und gleichzeitig drei verschiedene Klänge wiederholen, bis der Farbsensor eine Stärke des reflektierten Lichts von weniger als 50 erkennt, woraufhin der Roboter stoppt.
Tipps und Tricks
Erst am Ende der Schleifensequenz wird überprüft, ob die Sensorschwelle überschritten wurde. Wenn der Farbsensor im oben beschriebenen Beispiel also bspw. in der Mitte der Schleife kurzzeitig eine dunkle Farbe überquert, „sieht“ der Roboter das unter Umständen nicht und dann hält er auch nicht an.
Sensordaten mit bestimmten Werten vergleichen
Die folgenden Sensor-Modi gestatten es einer Schleife, die Sensordaten mit bestimmten Eingabewerten zu vergleichen. Die Schleife wird wiederholt, bis die Sensordaten einem bestimmten Eingabewert entsprechen.
ModusHinweise
Stein-Tasten Die Schleife wird wiederholt, bis eine der ausgewählten Tasten die ausgewählte Aktion auslöst.

Siehe Verwendung der Stein-Tasten.
Farbsensor – Farbe Die Schleife wird wiederholt, bis eine der ausgewählten Farben erkannt wird.

Siehe Verwendung des Farbsensors.
Infrarotsensor – Fernsteuerung Die Schleife wird wiederholt, bis eine der ausgewählten Tasten auf der IR-Fernsteuerung gedrückt wird.

Siehe Verwendung des Infrarotsensors im Fernsteuerungsmodus.
Berührungssensor Die Schleife wird wiederholt, bis sich der Berührungssensor im ausgewählten Zustand befindet.

Siehe Verwendung des Berührungssensors.
Ultraschallsensor – Vorhanden Die Schleife wird wiederholt, bis ein Ultraschallsignal erkannt wird.

Siehe Verwendung des Ultraschallsensors.
Nachrichtenart Die Schleife wird wiederholt, bis die festgelegte Nachrichtenart empfangen wird.

Siehe Nachrichten-Block.
Tipps und Tricks
Der Sensorwert wird erst am Ende der Schleifensequenz überprüft. Wenn die Sensordaten während der Schleifensequenz nur kurzzeitig mit dem festgelegten Eingabewert übereinstimmen, dann könnte es sein, dass die Schleife nicht gestoppt wird.
Verwendung der Ausgabe „Zählen“
Die Ausgabe Zählen am Anfang einer Schleife informiert dich darüber, wie oft die Schleifensequenz bereits ausgeführt wurde. Die kannst die Ausgabe „Zählen“ innerhalb der Schleife dazu verwenden, um die Schleife bei jeder Wiederholung etwas anderes machen zu lassen.

Während des ersten Durchlaufs der Schleife besitzt die Ausgabe „Zählen“ den Wert „0“. Mit jeder Wiederholung der Schleife erhöht sich dieser Wert um 1.
Beispiel
Dieses Programm zeigt eine Zählung an, wie oft der Berührungssensor angestoßen (gedrückt und wieder ausgelassen) wurde. Ein Warte(n)-Block innerhalb der Schleife lässt die Schleife warten, bis der Berührungssensor erneut angestoßen wird, bevor sie wiederholt wird und die Ausgabe Zählen wird als Texteingabe im Anzeige-Block verwendet.
Größe einer Schleife ändern
Der Schleifen-Block wird in der Regel automatisch erweitert, um Platz für neue Programmierblöcke zu schaffen, die du in die Schleife ziehst. Sofern dies nötig ist, kannst du die Größe einer Schleife auch manuell ändern. Um die Größe einer Schleife zu ändern, wählst du den Schleifen-Block aus und ziehst dann an den Ziehpunkten zur Größenänderung, die am Außenrand der Schleife eingeblendet werden.
Beispiel
Die Größe dieses Schleifen-Blocks wird geändert, um Platz für eine zweite Blocksequenz in dieser Schleife zu schaffen.
Eingaben und Ausgaben
Die für den Schleifen-Block verfügbaren Eingaben sind vom jeweils ausgewählten Modus abhängig. Du kannst die Eingabewerte direkt in den Block eingeben. Alternativ hierzu können als Eingabewerte auch die Ausgaben anderer Programmierblöcke dienen, die über Datenleitungen übertragen werden.
EingabeTypHinweise
Zählen Numerische WerteWie oft die Schleife im Zählmodus zu wiederholen ist.
Sekunden Numerische WerteDie Anzahl der Sekunden, in denen die Schleife im Zeitmodus wiederholt werden soll.
Bis Logische WerteIm Modus „Logischer Wert“ endet die Schleife, wenn diese Eingabe den Wert „Wahr“ enthält.
Vergleichsart Numerische WerteVergleichsart für einen Sensor-Modus mit einem Schwellenwert
0: = (Gleich)
1: ≠ (Ungleich)
2: > (Größer als)
3: = (Größer gleich)
4: < (Kleiner als)
5: = (Kleiner gleich)
Schwellenwert Numerische WerteMit den Sensordaten zu vergleichender Wert für einen Sensor-Modus mit einem Schwellenwert
(Eingaben für einzelne Sensortypen)Weitere Informationen über die Sensordaten entnimmst du den Hilfe-Beiträgen zu den einzelnen Sensortypen.
Die Ausgabe des Schleifen-Blocks ist die Anzahl der Wiederholungen dieser Schleife. Verwende eine Datenleitung, um die Ausgabe mit einem anderen Programmierblock zu verbinden.
AusgabeTypHinweise
Zählen Numerische WerteDie Anzahl der Wiederholungen dieser Schleife. Während des ersten Durchlaufs der Schleife besitzt die Ausgabe „Zählen“ den Wert „0“.
Schleife
Direktlinks