Använda Switch Blocks för att övergå från block till textbaserad kodning i VEXcode IQ (2:a generationen)

Switch innehåller välbekanta element från blockbaserad programmering och integrerar textrutor där textkommandon kan skrivas. Se följande video för att se ett exempel på Python-kod som matas in i ett Switch-block.

Obs: Switchblock är endast kompatibla medPython.


Switch ger eleverna en naturlig brygga från Blocks till textbaserad kodning. Allt eftersom eleverna blir bekanta med logiken och sekvenseringen av kommandon kan de börja konvertera ett projekt ett block i taget. Processen att konvertera ett block till ett Switch-block visas i den här videon.

Detta gör det möjligt för eleverna att fortsätta arbeta med logikflödet i ett blockbaserat program där de fysiskt kan se saker som hur en loop lindas runt andra block, samtidigt som de själva börjar experimentera med textkommandon. När blocken har konverterats till Switch kan eleverna enkelt ändra parametrar och börja förstå syntaxen för textkommandot. Det här avsnittet går igenom en students användning av Switch för att förklara hur du kan använda dessa block i ett VEXcode-projekt.

Komma igång med switchblock

För att komma igång med kodning med Switch Blocks måste du ha:

  • En dator (inte en mobil enhet).
  • En andra generationens IQ-hjärna.

VEXcode IQ-kodvisarens meny med C++-alternativet nedtonat och markerat som inaktiverat. Python-alternativet i kodvisaren är fortfarande aktiverat.

När ett block konverteras till ett switchblock inaktiveras C++ i kodvisaren.

Konvertera block till switch

Konvertera ett enskilt block till en switch

Kör för block i VEXcode IQ-arbetsytan med dess kontextmeny öppen. Menyn har sex alternativ som läser Duplicera, Inaktivera block, Ta bort block, Blockhjälp, Konvertera block till växelblock och Läs block.

Högerklicka på det block du vill konvertera till ett switchblock.

Kör för block i VEXcode IQ-arbetsytan med dess kontextmeny öppen. Alternativet Konvertera block till växelblock är valt.

Välj Konvertera block till växelblock.

Drive for-block som har konverterats till ett Switch-block och nu har Python-kod som läser drivetrain.drive_for(FORWARD, 10, INCHES).

Blocket kommer nu att växlas till ett växlingsblock med samma parametrar.

VEXcode IQ-verktygsfältet med Ångra-ikonen markerad till vänster om Gör om-ikonen.

För att återställa ett växlingsblock till ett block efter konvertering, välj knappenÅngra.

Konvertera flera block till Switch

Kör för block som är högst upp i en blockstapel har sin kontextmeny öppen. Det finns nu ett annat alternativ i kontextmenyn som läser Konvertera stack till växelblock, detta är direkt under alternativet Konvertera block till växelblock.

Högerklicka på toppen av stapeln som du vill konvertera till ett switchblock.

Kör för block som är högst upp i en blockstapel har sin kontextmeny öppen och alternativet Konvertera stapel till växelblock valt.

VäljKonvertera stack till switchblock.

Hela stacken med tre block har konverterats till ett Switch-block, med en rad Python för varje enskilt blockkommando.

Blocket du högerklickade på och alla block under det kommer att konverteras till ett växelblock.

Konvertera block inuti en omslag till switch

Du kan konvertera en Wrapper och allt dess innehåll till Switch med ett enda klick.

Upprepat block som innehåller andra block har sin kontextmeny öppen. Alternativen för Konvertera till växlingsblock har ändrats eftersom detta är ett C-block, och läser nu Konvertera omslag till växlingsblock och Konvertera omslag och innehåll till växlingsblock.

Högerklicka på den omslagsfil du vill konvertera.

Upprepade block som innehåller andra block har sin kontextmeny öppen och alternativet Konvertera omslag och innehåll till växelblock har valts.

VäljKonvertera omslag och innehåll till växlingsblock.

Hela stacken med ett wrapper-block och kapslade block har konverterats till ett Switch-block. Det finns en motsvarande rad i Python för varje blockkommando.

Allt innehåll i omslaget konverteras till ett enda Switch Block.

Använd ett switchblock

Lägg till ett växlingsblock från verktygslådan

Klicka och dra ett växlingsblock från verktygslådan, som visas i den här videon.

Skriv in ett växlingsblock

Markera textfältet för Switch Block och ange sedan önskat kommando som visas i den här videon.

Kopiera och klistra in text inuti ett växlingsblock

Klicka och dra för att markera text i växlingsblocket. Högerklicka och välj Kopiera. Klicka sedan inuti ett annat Switch Block. Högerklicka slutligen och välj Klistra in för att överföra texten, som visas i den här videon.

Ytterligare brytarblock

Växelblock följer samma formkonventioner som andra block. Tabellen här visar jämförelsen mellan blockformen, dess betydelse och Switch-block av samma typ.

Blockform Beskrivning Blockexempel Exempel på brytare
Hattblock Börja med en stapel med block och forma dem för att fästa block under dem. Mina block Definition hattblock. Byt hattblock. Python-koden läser def print_name.
Stapla block Utför huvudkommandon. De är formade för att fästas ovanför eller under andra stapelblock. Drivning för stapelblock. Växla stackblock. Python-koden läser drivetrain.drive_for(FORWARD, 200, MM).
Booleska block Returnerar ett villkor som antingen sant eller falskt och passar in i alla block med hexagonala (sexsidiga) indata för andra block. Trycker på bumper booleskt block. Växla booleskt block. Python-koden läser left_bumper.pressed().
Reporterblock Rapportera värden i form av siffror och passar in i valfria block med ovala indata för andra block. Block för timervärdesrapportering. Byt reporterblock. Python-koden läser brain.timer_time(SECONDS).
C-block Loopa blocket/blocken inom dem eller kontrollera om ett villkor är sant eller falskt. De är formade för att fästa stapelblock ovanför, under eller inuti dem. För alltid C-block. Om då annars C-block. Växla C-block. Python-koden läses medan den är true. Expanderbart block för brytare C. Python-koden läser if left_bumper.pressed(), else.

 

1Weintrop, David och Uri Wilensky. "Hur blockbaserade, textbaserade och hybrida block/text-modaliteter formar nybörjarprogrammeringspraxis."  Internationell tidskrift för barn-datorinteraktion 17 (2018): 83-92

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

Last Updated: