Control#

Introducción#

Los bloques de control en VEXcode EXP gestionan el flujo de un proyecto mediante el manejo de bucles, condiciones, retrasos y la detención de la ejecución.

A continuación se muestra una lista de los bloques disponibles:

  • espera – Pausa la ejecución durante una duración específica.

  • esperar hasta – Pausa la ejecución hasta que se cumpla una condición específica.

  • repetir – Repite los bloques encerrados un número específico de veces.

  • para siempre – Repite los bloques encerrados indefinidamente.

  • repetir hasta – Repite los bloques encerrados hasta que se cumpla una condición.

  • mientras – Repite los bloques encerrados mientras una condición siga siendo verdadera.

  • if – Ejecuta los bloques encerrados si una condición es verdadera.

  • if / else – Ejecuta un conjunto de bloques si una condición es verdadera, de lo contrario ejecuta otro.

  • if / else if / else – Ejecuta diferentes conjuntos de bloques dependiendo de múltiples condiciones.

  • break – Sale inmediatamente de un bucle repeat, forever, repeat until o while.

  • detener proyecto – Finaliza la ejecución del proyecto.

esperar#

El bloque de espera se detiene durante un tiempo específico antes de pasar al siguiente bloque.

bloque de pila de espera#
esperar (1) segundos

Parámetros

Descripción

tiempo

El tiempo de espera, expresado como un número entero positivo o decimal en segundos.

Ejemplo

Al ponerse en marcha, avanza durante un segundo y luego detiene todo movimiento.#
cuando empezó
[Move forward for one second, then stop.]
unidad [adelante v]
esperar (1) segundos
deja de conducir

esperar hasta#

El bloque esperar hasta pausa la ejecución hasta que se cumpla una condición específica antes de pasar al siguiente bloque.

esperar hasta que se bloquee la pila#
esperar hasta <>

Parámetros

Descripción

condición

La condición que debe cumplirse antes de pasar al siguiente bloque.

Ejemplo

Una vez iniciada, avanza hasta que se pulsa la pantalla, momento en el que detiene todo movimiento.#
cuando empezó
[Move forward until the screen is pressed, then stop.]
unidad [adelante v]
esperar hasta <¿pantalla presionada?>
deja de conducir

repetir#

El bloque repeat ejecuta los bloques que contiene un número determinado de veces.

repetir bloque c#
repetir [10]
fin

Parámetros

Descripción

veces

Un número entero que indica cuántas veces se ejecuta el bloque repetir.

Ejemplo

cuando empezó
[Move in a square path.]
repetir [4]
unidad [adelante v] para [150] [mm v] ▶
girar [derecha v] por [90] grado ▶
fin

para siempre#

El bloque para siempre sigue ejecutando los bloques que contiene una y otra vez sin parar.

bloque C para siempre#
para siempre
fin

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Una vez puesto en marcha, se mueve continuamente en una trayectoria cuadrada avanzando 50 mm y girando 90 grados a la derecha en un bucle infinito.#
cuando empezó
[Move in a square path forever.]
para siempre
unidad [adelante v] para [150] [mm v] ▶
girar [derecha v] por [90] grado ▶
fin

repetir hasta#

El bloque repetir hasta ejecuta repetidamente los bloques que contiene mientras la condición se evalúa como falsa.

repetir hasta bloquear#
repetir hasta <>
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa antes de cada iteración. Si se evalúa como:

  • Falso - El bucle continúa
  • Verdadero - El bucle se detiene

Ejemplo

Al encenderse, mantiene todos los LED en rojo hasta que se pulsa la pantalla, momento en el que se apagan.#
cuando empezó
[Turn until the screen is pressed.]
repetir hasta <¿pantalla presionada?>
turno [derecha v]
fin
deja de conducir

mientras#

El bloque while ejecuta repetidamente los bloques que contiene mientras la condición se evalúa como verdadera.

mientras que el bloque c#
mientras <>
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa antes de cada iteración. Si se evalúa como:

  • Verdadero - El bucle continúa
  • Falso - El bucle se detiene

Ejemplo

Una pila de bloques que comienza con un bloque when started, seguido de un bloque de comentarios que indica que se mostrará el tiempo transcurrido después de 2 segundos. Un bloque wait until pausa la ejecución hasta que el temporizador alcance o supere los dos segundos. Una vez que se cumple esta condición, un bloque print muestra el valor del temporizador en la pantalla.#
cuando empezó
[Display the time for one minute.]
mientras <(temporizador en segundos) [math_less_than v] [60]>
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
imprimir (temporizador en segundos) en la pantalla ▶

si#

El bloque if ejecuta el bloque de código que contiene si la condición se evalúa como verdadera.

si se bloquea#
si <> entonces
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa cuando se ejecuta la instrucción. Si se evalúa como:

  • Verdadero - El código dentro del bloque if se ejecuta
  • Falso - El bloque se omite

Ejemplo

Al encenderse, comprueba continuamente si se pulsa la pantalla. Si se pulsa, el robot patea un objeto con fuerza media.#
cuando empezó
[Turn in a circle if the screen is pressed.]
para siempre
si <¿pantalla presionada?> entonces
girar [derecha v] por [360] grado ▶
fin
deja de conducir
fin

si / de lo contrario#

El bloque if / else determina qué bloque de código incluido se ejecuta en función de si la condición se evalúa como verdadera o falsa.

si entonces si no bloque#
si <> entonces
demás
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa cuando se ejecuta la instrucción. Si se evalúa como:

  • Verdadero - El código dentro del bloque if se ejecuta
  • Falso - El código dentro del bloque else se ejecuta en su lugar

Ejemplo

si entonces si no bloque#
cuando empezó
[Display a message if the screen is being pressed.]
para siempre
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿pantalla presionada?> entonces
imprimir [Pressed!] en la pantalla ▶
demás
imprimir [Not pressed!] en la pantalla ▶
fin

si / si no si / si no#

La estructura de bloque if / else if / else selecciona qué bloque de código incluido se ejecuta en función de las condiciones:

  • Si la condición se evalúa como verdadera, ejecuta su bloque de código.

  • La instrucción else if comprueba las condiciones adicionales solo si todas las condiciones anteriores se evaluaron como falsas. Se pueden utilizar varias instrucciones else if.

  • De lo contrario, ejecuta su bloque de código solo si ninguna de las condiciones anteriores se evaluó como verdadera.

si si no si no bloque#
si <> entonces
de lo contrario si <> entonces
demás
fin

Parámetros

Descripción

condición

Una expresión o variable que se evalúa cuando se ejecuta la instrucción. La primera condición que se evalúa como:

  • Verdadero - Determina qué bloque de código se ejecuta
  • Falso - Si ninguna es Verdadero, se ejecuta el else bloque de código

Ejemplo

si entonces si no bloque#
cuando empezó
[Move the robot based on the Controller button is being pressed.]
para siempre
si <[Controller 1 v] [ presionado?> entonces
turno [derecha v]
de lo contrario si <[Controller 1 v] [ presionado?> entonces
turno [izquierda v]
demás
deja de conducir
fin

romper#

El bloque break sale de un bucle inmediatamente.

bloque de pila de ruptura#
romper

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Al arrancar, gira a la derecha hasta que se pulsa la pantalla, momento en el que se detiene.#
cuando empezó
[Stop turning after the screen is pressed.]
para siempre
turno [derecha v]
si <¿pantalla presionada?> entonces
romper
fin
fin
deja de conducir

proyecto detenido#

El bloque detener proyecto finaliza un proyecto en ejecución.

Bloqueo de proyecto de parada#
detener el proyecto

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Al iniciarse, gira a la derecha hasta que se pulsa la pantalla, momento en el que detiene el proyecto.#
cuando empezó
[Stop the project entirely after the screen is pressed.]
para siempre
turno [derecha v]
si <¿pantalla presionada?> entonces
detener el proyecto
fin
fin