Switch Blocks gebruiken om over te stappen van blokken naar tekstgebaseerde codering in VEXcode EXP

Switch bevat bekende elementen van blokgebaseerd programmeren en integreert tekstvakken waarin tekstopdrachten kunnen worden getypt. Bekijk de onderstaande video voor een voorbeeld van Python-code die in een Switch-blok wordt ingevoerd.

Switch Blocks zijn


Switch biedt studenten een natuurlijke brug van Blocks naar tekstgebaseerde codering. Naarmate leerlingen vertrouwd raken met de logica en volgorde van opdrachten, kunnen ze een project blok voor blok omzetten. 

Hierdoor kunnen leerlingen blijven werken met de logische stroom van een op blokken gebaseerd programma, waarbij ze fysiek dingen kunnen zien zoals de wikkeling van een lus rond andere blokken, terwijl ze ook zelf beginnen te experimenteren met tekstopdrachten. Zodra de blokken zijn omgezet naar Switch, kunnen studenten eenvoudig parameters wijzigen en de syntaxis van de tekstopdracht beginnen te begrijpen. In dit gedeelte laten we zien hoe een student Switch gebruikt en hoe je deze blokken in een VEXcode-project kunt gebruiken.

Aan de slag met Switch Blocks

Om te beginnen met coderen met Switch Blocks, moet u over het volgende beschikken:

  • Een computer (geen mobiel apparaat).

VEXcode EXP Code Viewer-menu met een Switch-blok weergegeven in het blokkenproject. De C++-optie is grijs en gemarkeerd als uitgeschakeld. De Python-optie in de Code Viewer is nog steeds ingeschakeld.

Wanneer een blok wordt geconverteerd naar een Switch-blok, wordt C++ in de Codeviewer uitgeschakeld.

Blokken omzetten naar schakelaars

Converteer een enkel blok naar een schakelaar

Rijd naar het blok in de VEXcode EXP-werkruimte met het contextmenu geopend. Het menu heeft zes opties: Dupliceren, Blok uitschakelen, Blokken verwijderen, Blokhulp, Blok converteren naar schakelblok en Blok lezen.

Klik met de rechtermuisknop op het blok dat u wilt converteren naar een Switch-blok.

Rijd naar het blok in de VEXcode EXP-werkruimte met het contextmenu geopend. De optie Blok converteren naar schakelblok is geselecteerd.

Selecteer Converteer blok naar schakel blok.

Drive for-blok dat is omgezet naar een Switch-blok en nu Python-code heeft die drivetrain.drive_for(FORWARD, 10, INCHES) leest.

Het blok wordt nu omgeschakeld naar een schakelblok met dezelfde parameters.

VEXcode EXP-werkbalk met het pictogram Ongedaan maken gemarkeerd links van het pictogram Opnieuw.

Om een Switch Block na conversie weer in een Block te veranderen, selecteert u de knopOngedaan maken.

Meerdere blokken omzetten naar switch

Als je op een blok rijdt dat zich bovenaan een stapel blokken bevindt, wordt het contextmenu geopend. Er is nu nog een andere optie in het contextmenu, namelijk Stapel converteren naar Switch-blok. Deze optie bevindt zich direct onder de optie Blok converteren naar Switch-blok.

Klik met de rechtermuisknop bovenaan de stapel die u wilt converteren naar een Switch Block.

Als u op een blok rijdt dat zich bovenaan een stapel blokken bevindt, wordt het contextmenu geopend en is de optie Stapel converteren naar ander blok geselecteerd.

SelecteerConverteer stapel naar schakelblok.

De volledige stapel van drie blokken is omgezet naar één Switch-blok, met één regel Python voor elk afzonderlijk blokcommando.

Het blok waarop u met de rechtermuisknop hebt geklikt en alle blokken daaronder worden omgezet in een schakelblok.

Converteer blokken in een wrapper naar een switch

Met één klik kunt u een Wrapper en alle bijbehorende inhoud naar Switch converteren.

Voor het blok Herhaal dat andere blokken bevat, is het contextmenu geopend. De opties Converteren naar Switch-blok zijn gewijzigd omdat dit een C-blok is. Ze luiden nu Wrapper converteren naar Switch-blok en Wrapper en inhoud converteren naar Switch-blok.

Klik met de rechtermuisknop op de wrapper die u wilt converteren.

Voor het blok Herhaal dat andere blokken bevat, is het contextmenu geopend en is de optie Wrapper en inhoud converteren naar schakelblok geselecteerd.

SelecteerConverteer wrapper en inhoud naar schakelblok.

De volledige stapel met een wrapper-blok en geneste blokken is omgezet in één Switch-blok. Voor elk blokcommando is er één overeenkomstige Python-regel.

Alle inhoud van de Wrapper wordt geconverteerd naar één Switch Block.

Gebruik een schakelaarblok

Voeg een schakelblok toe vanuit de gereedschapskist

Klik en sleep een Switch Block vanuit de Toolbox, zoals getoond in deze video.

Typ een Switch Block

Selecteer het tekstveld van het Switch-blok en voer vervolgens de gewenste opdracht in, zoals getoond in deze video.

Tekst kopiëren en plakken in een schakelblok

Klik en sleep om tekst in het schakelblok te markeren. Klik met de rechtermuisknop en selecteer Kopiëren. Klik vervolgens in een ander Switch Block. Klik ten slotte met de rechtermuisknop en selecteer Plakken om de tekst over te zetten, zoals in deze video wordt getoond.

Extra schakelblokken

Switch-blokken volgen dezelfde vormconventies als andere blokken. In de tabel hier wordt de vergelijking weergegeven tussen de blokvorm, de betekenis ervan en de Switch-blokken van hetzelfde type.

Blokvorm Beschrijving Voorbeelden van blokken Schakelvoorbeelden
Hoed blokken Maak een stapel blokken en vorm deze zo dat je er blokken onder kunt bevestigen. Mijn Blokken Definitie hoed blok. Wissel van hoedblok. De Python-code luidt def print_name.
Stapel blokken Voer de belangrijkste opdrachten uit. Ze zijn zo gevormd dat ze boven of onder andere stapelblokken kunnen worden bevestigd. Rijd naar stapelblok. Schakel stapelblok. De Python-code leest drivetrain.drive_for(FORWARD, 200, MM).
Booleaanse blokken Retourneert een voorwaarde als waar of onwaar en past binnen alle blokken met hexagonale (zeszijdige) invoer voor andere blokken. Bumper Booleaans blok indrukken. Booleaanse blok wisselen. De Python-code leest left_bumper.pressed().
Verslaggever blokkeert Rapporteer waarden in de vorm van getallen en pas ze aan in blokken met ovale invoer voor andere blokken. Blok voor het rapporteren van timerwaarden. Reporterblok wisselen. De Python-code leest brain.timer_time(SECONDEN).
C-blokken Herhaal de blokken binnen de blokken of controleer of een voorwaarde waar of onwaar is. Ze zijn zo gevormd dat er boven, onder of in de blokken gestapeld kan worden. Voor altijd C-blok. Als dan anders C-blok. Schakelaar C-blok. De Python-code leest while true. Uitbreidbaar blok van schakelaar C. De Python-code leest if left_bumper.pressed(), else.

 

1Weintrop, David en Uri Wilensky. "Hoe blokgebaseerde, tekstgebaseerde en hybride blok/tekstmodaliteiten de programmeerpraktijk van beginners beïnvloeden."  Internationaal tijdschrift voor interactie tussen kind en computer 17 (2018): 83-92

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

Last Updated: