Verwenden von Switch-Blöcken für den Übergang von Blöcken zur textbasierten Codierung in VEXcode EXP

Switch beinhaltet bekannte Elemente der blockbasierten Programmierung und integriert Textfelder, in die Textbefehle eingegeben werden können. Im folgenden Video sehen Sie ein Beispiel dafür, wie Python-Code in einen Switch-Block eingegeben wird.

Switch-Blöcke sind nur mitPythonkompatibel.


Switch bietet Schülern eine natürliche Brücke von Blöcken zur textbasierten Codierung. Wenn die Schüler mit der Logik und Abfolge der Befehle vertraut geworden sind, können sie beginnen, ein Projekt Block für Block zu konvertieren. 

Auf diese Weise können die Schüler weiterhin mit dem logischen Ablauf eines blockbasierten Programms arbeiten und dabei Dinge wie das Umschließen einer Schleife um andere Blöcke physisch sehen und gleichzeitig selbst mit Textbefehlen experimentieren. Sobald die Blöcke in Switch konvertiert sind, können die Schüler problemlos Parameter ändern und beginnen, die Syntax des Textbefehls zu verstehen. In diesem Abschnitt wird die Verwendung von Switch durch einen Schüler Schritt für Schritt erläutert und erklärt, wie Sie diese Blöcke in einem VEXcode-Projekt verwenden können.

Erste Schritte mit Switch-Blöcken

Um mit der Codierung mit Switch Blocks beginnen zu können, benötigen Sie:

  • Ein Computer (kein mobiles Gerät).

VEXcode EXP Code Viewer-Menü mit einem Switch-Block, der im Blockprojekt angezeigt wird. Die C++-Option ist ausgegraut und als deaktiviert gekennzeichnet. Die Python-Option im Code-Viewer ist weiterhin aktiviert.

Wenn ein Block in einen Switch-Block konvertiert wird, wird C++ im Code Viewer deaktiviert.

Konvertieren von Blöcken in Schalter

Konvertieren eines einzelnen Blocks in einen Switch

Fahren Sie mit dem Fahrzeug im VEXcode EXP Workspace mit geöffnetem Kontextmenü auf einen Block. Das Menü enthält sechs Optionen: Duplizieren, Block deaktivieren, Blöcke löschen, Blockhilfe, Block in Wechselblock umwandeln und Block lesen.

Klicken Sie mit der rechten Maustaste auf den Block, den Sie in einen Switch-Block umwandeln möchten.

Fahren Sie mit dem Fahrzeug im VEXcode EXP Workspace mit geöffnetem Kontextmenü auf einen Block. Die Option „Block in Schaltblock umwandeln“ ist ausgewählt.

Wählen Sie um den Block in den Switch-Blockumzuwandeln.

Drive-for-Block, der in einen Switch-Block umgewandelt wurde und nun Python-Code enthält, der drivetrain.drive_for(FORWARD, 10, INCHES) liest.

Der Block wird nun in einen Switch-Block mit denselben Parametern umgeschaltet.

VEXcode EXP-Symbolleiste mit hervorgehobenem Rückgängig-Symbol links neben dem Wiederherstellen-Symbol.

Um einen Switch-Block nach der Konvertierung wieder in einen Block umzuwandeln, wählen Sie die SchaltflächeRückgängig.

Mehrere Blöcke in Switch umwandeln

Wenn Sie auf den Block zugreifen, der sich ganz oben in einem Blockstapel befindet, wird dessen Kontextmenü geöffnet. Im Kontextmenü gibt es nun eine weitere Option mit der Bezeichnung „Stapel in Schaltblock umwandeln“. Diese befindet sich direkt unter der Option „Block in Schaltblock umwandeln“.

Klicken Sie mit der rechten Maustaste auf die Oberseite des Stapels, den Sie in einen Switch-Block umwandeln möchten.

Beim Fahren mit dem Laufwerk, das sich an der Spitze eines Blockstapels befindet, wird das Kontextmenü geöffnet und die Option "Stapel in Wechselblock umwandeln" ausgewählt.

Wählen SieStapel in Switch-Blockkonvertieren.

Der gesamte Stapel aus drei Blöcken wurde in einen einzigen Switch-Block umgewandelt, wobei für jeden einzelnen Blockbefehl eine Zeile Python verwendet wird.

Der Block, auf den Sie mit der rechten Maustaste geklickt haben, und alle Blöcke darunter werden in einen Schaltblock umgewandelt.

Konvertieren Sie Blöcke innerhalb eines Wrappers in Switch

Sie können einen Wrapper und seinen gesamten Inhalt mit einem Klick in Switch konvertieren.

Der Wiederholungsblock, der andere Blöcke enthält, hat sein Kontextmenü geöffnet. Die Optionen für „In Switch-Block konvertieren“ haben sich geändert, da es sich hier um einen C-Block handelt. Sie lauten nun „Wrapper in Switch-Block konvertieren“ und „Wrapper und Inhalt in Switch-Block konvertieren“.

Klicken Sie mit der rechten Maustaste auf den Wrapper, den Sie konvertieren möchten.

Der Wiederholungsblock, der andere Blöcke enthält, hat sein Kontextmenü geöffnet und die Option "Wrapper und Inhalt in Wechselblock umwandeln" ausgewählt.

Wählen SieWrapper und Inhalt in Switch-Blockkonvertieren.

Der gesamte Stack mit Wrapper-Block und verschachtelten Blöcken wurde in einen einzigen Switch-Block umgewandelt. Für jeden Blockbefehl gibt es eine entsprechende Python-Zeile.

Der gesamte Inhalt des Wrappers wird in einen einzelnen Switch-Block konvertiert.

Verwenden Sie einen Schalterblock

Einen Schalterblock aus der Toolbox hinzufügen

Klicken und ziehen Sie einen Schalterblock aus der Werkzeugpalette, wie in diesem Video gezeigt.

Geben Sie einen Switch-Block ein

Wählen Sie das Textfeld des Schalterblocks aus und geben Sie dann den gewünschten Befehl wie in diesem Video gezeigt ein.

Kopieren und Einfügen von Text in einen Schalterblock

Klicken und ziehen Sie, um Text im Schalterblock hervorzuheben. Klicken Sie mit der rechten Maustaste und wählen Sie „Kopieren“. Klicken Sie als Nächstes in einen anderen Schalterblock. Klicken Sie abschließend mit der rechten Maustaste und wählen Sie „Einfügen“, um den Text zu übertragen, wie in diesem Video gezeigt.

Zusätzliche Schalterblöcke

Für Schalterblöcke gelten die gleichen Formkonventionen wie für andere Blöcke. Die Tabelle hier zeigt den Vergleich zwischen der Blockform, ihrer Bedeutung und den Switch-Blöcken des gleichen Typs.

Blockform Beschreibung Blockbeispiele Switch-Beispiele
Hutblöcke Beginnen Sie mit einem Stapel von Blöcken und formen Sie diese so, dass Sie die Blöcke darunter anbringen können. Mein Blockdefinitions-Hutblock. Switch-Hutblock. Der Python-Code lautet def print_name.
Blöcke stapeln Führen Sie die wichtigsten Befehle aus. Sie sind so geformt, dass sie über oder unter anderen Stapelblöcken angebracht werden können. Antrieb für Stapelblock. Switch-Stack-Block. Der Python-Code liest drivetrain.drive_for(FORWARD, 200, MM).
Boolesche Blöcke Gibt eine Bedingung als „wahr“ oder „falsch“ zurück und passt in alle Blöcke mit hexagonalen (sechsseitigen) Eingaben für andere Blöcke. Drücken des Stoßdämpfer-Booleschen Blocks. Schalte einen booleschen Block. Der Python-Code liest left_bumper.pressed().
Reporterblöcke Gibt Werte in Form von Zahlen an und passt in alle Blöcke mit ovalen Eingaben für andere Blöcke. Timerwert-Berichtsblock. Reporterblockierung umschalten. Der Python-Code liest brain.timer_time(SECONDS).
C-Blöcke Führen Sie eine Schleife mit den Blöcken darin aus oder prüfen Sie, ob eine Bedingung erfüllt oder falsch ist. Sie sind so geformt, dass Stapelblöcke über, unter oder in ihnen angebracht werden können. Forever C-Block. Wenn dann sonst C-Block. Schalterblock C. Der Python-Code liest: while true. Erweiterbarer Schalterblock C. Der Python-Code liest: if left_bumper.pressed(), else.

 

1Weintrop, David und Uri Wilensky. „Wie blockbasierte, textbasierte und hybride Block-/Textmodalitäten die Programmierpraxis für Anfänger prägen.“  International Journal of Child-Computer Interaction 17 (2018): 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: