Uso de bloques de conmutación para la transición de bloques a codificación basada en texto en VEXcode GO

Switch incorpora elementos familiares de la programación basada en bloques e integra cuadros de texto donde se pueden escribir comandos de texto.

Nota: Los bloques de conmutación solo son compatibles con Python.


Switch proporciona a los estudiantes un puente natural entre los bloques y la codificación basada en texto. A medida que los estudiantes se familiarizan con la lógica y la secuencia de comandos, pueden comenzar a convertir un proyecto de un bloque a la vez. 

Esto permite a los estudiantes continuar trabajando con el flujo lógico de un programa basado en bloques donde pueden ver físicamente cosas como la envoltura de un bucle alrededor de otros bloques y al mismo tiempo comenzar a experimentar con comandos de texto. Una vez que los bloques se convierten a Switch, los estudiantes pueden cambiar fácilmente los parámetros y comenzar a comprender la sintaxis del comando de texto. Esta sección lo guiará a través del uso de Switch por parte de un estudiante para explicar cómo puede usar estos bloques en un proyecto VEXcode.

Conversión de bloques a conmutador

Nota: Para comenzar a codificar con Switch Blocks, debe tener una computadora (no un dispositivo móvil).

Convertir un solo bloque en interruptor

avance para el bloque de 100 mm con el menú contextual abierto. Contiene duplicados, deshabilita los bloques, elimina los bloques, bloquea la ayuda, convierte el bloque en un bloque de cambio y lee el bloque

Haga clic con el botón derecho en el bloque que desea convertir en un bloque de conmutación.

avance para el bloque de 100 mm con el menú contextual abierto. Contiene duplicados, deshabilita bloques, elimina bloques, bloquea la ayuda, convierte el bloque en un bloque de cambio y lee el bloque. El bloque Convertir a Conmutar está resaltado.

Seleccione Convertir bloque en bloque de conmutación.

drivetrain.drive_for hacia adelante 100 mm en el bloque de interruptores

El bloque ahora se cambiará a un bloque de conmutación con los mismos parámetros.

Menú superior VEXcode GO con el botón deshacer resaltado.

Para volver a convertir un Bloque de Conmutación en un bloque después de la conversión, seleccione el botón Deshacer.

Convertir varios bloques en switch

VEXcode GO con el menú contextual abierto en el primer bloque, avance 100 mm.

Haga clic con el botón derecho en la parte superior de la pila que desea convertir en un Switch Block.

La misma imagen que la anterior, resaltó la pila de conversión al bloque de conmutación

Seleccione Convertir pila en bloque de conmutación.

VEXcode GO, cuando se inicia, drivetrain.drive_for forward, 100, mm. drivetrain.turn_for right 90 grados y console.print VEXcode

El bloque en el que hizo clic con el botón derecho y todos los bloques debajo de él se convertirán en un bloque de conmutación.

Convertir bloques dentro de un bloque C para cambiar

Puedes convertir un bloque C y todo su contenido a Switch con un solo clic.

Un bloque C con el menú contextual abierto

Haga clic con el botón derecho en el bloque C que desea convertir.

Misma imagen que la anterior, con el bloque Convertir C resaltado y su contenido al bloque Cambiar

Seleccione Convertir bloque C y su contenido en bloque de conmutación.

VEXcode GO Python, cuando se inicia, para repeat_count en el rango(4), las tres líneas a continuación son drivetrain.drive_for (ADELANTE, 100, MM),drivetrain.turn_for (DERECHA, 90) y luego espere(5, MSEC)

Todo el contenido del Bloque C se convertirá en un solo Bloque de Conmutación.

Usar un bloque de interruptores

Agregar un bloque de interruptor desde la caja de herramientas

Haga clic y arrastre un Bloque de Interruptor desde la Caja de Herramientas

Escriba un bloque de interruptores

Seleccione el campo de texto del Bloque de Conmutación, luego ingrese el comando deseado.

Copiar y pegar texto dentro de un bloque de interruptor

Haga clic y arrastre para resaltar el texto en el Bloque de Conmutación. Haga clic con el botón derecho y seleccione Copiar. A continuación, haga clic dentro de otro Bloque de Interruptores. Finalmente, haga clic con el botón derecho y seleccione Pegar para transferir el texto.

Bloques de interruptores adicionales

Los bloques de conmutación siguen las mismas convenciones de forma que otros bloques. La tabla aquí muestra la comparación entre la forma del bloque, su significado y los bloques de conmutación del mismo tipo.

Forma del bloque Descripción Ejemplos de bloques Ejemplos de interruptores
Bloques de sombrero Inicie una pila de bloques y estén conformados para unir los bloques debajo de ellos. definir bloque de nombre de impresión. def print_name() en un bloque de interruptor de sombrero
Apilar bloques Realice los comandos principales. Tienen forma para unirse por encima o por debajo de otros bloques de apilamiento. avance para el bloque de 100 mm drivetrain.drive_for(ADELANTE, 100, MM) en el bloque Switch.
Bloques booleanos Devuelve una condición como verdadera o falsa y cabe dentro de cualquier bloque con entradas hexagonales (seis caras) para otros bloques. bloque prensado de parachoques bumper.is_pressed() en un bloque de interruptores
Bloques de informante Reporte los valores en forma de números y encaje dentro de cualquier bloque con entradas ovaladas para otros bloques. temporizador en bloque de segundos timer.time(SEGUNDOS) en el bloque Switch
Bloques C Enrolle los bloques dentro de ellos o verifique si una condición es verdadera o falsa. Están conformados para unir bloques de apilamiento por encima, por debajo o dentro de ellos. bloquear para siempre y si no bloquear  mientras que el bloque verdadero en un bloque en forma de C. Si bumper.is_pressed() y else: en un bloque en forma de E

 

1  Weintrop, David y Uri Wilensky. "Cómo las modalidades basadas en bloques, basadas en texto e híbridas de bloque/texto dan forma a las prácticas de programación novatas".  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: