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

Switch incorpora elementos familiares de la programación basada en bloques e integra cuadros de texto donde se pueden escribir comandos de texto. Vea el siguiente video para ver un ejemplo de código Python que se ingresa en un bloque de Switch.

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.

Primeros pasos con Switch Blocks

Para comenzar a codificar con Switch Blocks, debe tener:

  • Una computadora (no un dispositivo móvil).

Menú VEXCODE EXP Code Viewer con un bloque Switch que se muestra en el proyecto Blocks. La opción C++ está atenuada y etiquetada como deshabilitada. La opción Python en el Visor de código todavía está habilitada.

Cuando un Bloque se convierte en un Bloque de Conmutación, C++ en el Visor de Código se desactivará.

Conversión de bloques a conmutador

Convertir un solo bloque en interruptor

Drive for block en el VEXcode EXP Workspace con su menú contextual abierto. El menú tiene seis opciones que leen Duplicar, Desactivar bloque, Eliminar bloques, Bloquear ayuda, Convertir bloque en cambiar bloque y Leer bloque.

Haga clic con el botón derecho en el Bloque que desea convertir en un Bloque de Conmutación.

Drive for block en el VEXcode EXP Workspace con su menú contextual abierto. La opción Convertir bloque en bloque de conmutación está seleccionada.

Seleccione Convertir bloque en bloque de conmutación.

Drive para bloque que se ha convertido en un bloque Switch, y ahora tiene código Python que lee drivetrain.drive_for(ADELANTE, 10, PULGADAS).

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

Barra de herramientas VEXcode EXP con el icono Deshacer resaltado a la izquierda del icono Rehacer.

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

Drive para el bloque que está en la parte superior de una pila de bloques tiene su menú contextual abierto. Ahora hay otra opción en el menú contextual que dice Convertir pila en bloque de conmutación, esto está directamente debajo de la opción Convertir bloque en bloque de conmutación.

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

La unidad para bloque que se encuentra en la parte superior de una pila de bloques tiene su menú contextual abierto y la opción Convertir pila en bloque de conmutación seleccionada.

Seleccione Convertir pila en bloque de conmutación.

Toda la pila de tres bloques se ha convertido en un bloque de Switch en conjunto, con una línea de Python para cada comando de bloque individual.

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 una envoltura para cambiar

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

El bloque de repetición que contiene otros bloques tiene su menú contextual abierto. Las opciones Convertir en Bloque de Conmutación han cambiado porque este es un bloque C, y ahora lea Convertir Envoltorio en Bloque de Conmutación y Convertir Envoltorio y Contenido en Bloque de Conmutación.

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

El bloque de repetición que contiene otros bloques tiene su menú contextual abierto y la opción Convert Wrapper y Contents to Switch Block seleccionada.

Seleccione Convertir contenedor y contenido en bloque de conmutación.

Toda la pila con un bloque de envoltura y bloques anidados se ha convertido en un solo bloque de Switch. Hay una línea correspondiente de Python para cada comando de bloque.

Todo el contenido de la Envoltura se convertirá en un solo Bloque de Interruptores.

Usar un bloque de interruptores

Agregar un bloque de interruptor desde la caja de herramientas

Haga clic y arrastre un Bloque de Conmutación desde la Caja de Herramientas, como se muestra en este video.

Escriba un bloque de interruptores

Seleccione el campo de texto del Bloque de Conmutación, luego ingrese el comando deseado como se muestra en este video.

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, como se muestra en este video.

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 Switch 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. Mi bloque de definición de bloques de sombrero. Cambiar el bloque del sombrero. El código de Python dice def print_name.
Apilar bloques Realice los comandos principales. Tienen forma para unirse por encima o por debajo de otros bloques de apilamiento. Accionamiento para el bloque de pila. Bloque de pila de interruptores. El código de Python leedrivetrain.drive_for (FORWARD, 200, MM).
Bloques booleanos Devuelve una condición como verdadera o falsa y cabe dentro de cualquier bloque con entradas hexagonales (seis caras) para otros bloques. Presionar el bloque booleano del parachoques. Cambiar el bloque booleano. El código de Python dice left_bumper.pressed().
Bloques de informante Reporte los valores en forma de números y encaje dentro de cualquier bloque con entradas ovaladas para otros bloques. Bloque del indicador del valor del temporizador. Cambiar el bloque del informador. El código de Python lee brain.timer_time(SEGUNDOS).
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. Bloque C para siempre. Si no, bloquee C. Bloque del interruptor C. El código de Python se lee mientras es verdadero. Interruptor C bloque expansible. El código de Python se lee sileft_bumper.pressed (), else.

 

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: