Control#

Introducción#

Los bloques de control en VEXcode AIM gestionan el flujo de un proyecto mediante la gestión de bucles, condiciones, retrasos y la detención de la ejecución. A continuación, se muestra una lista de los bloques disponibles:

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

  • esperar hasta – Pausa la ejecución hasta que se cumpla una condición especificada.

  • repeat – Repite los bloques encerrados una cantidad específica de veces.

  • para siempre – Repite los bloques encerrados indefinidamente.

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

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

  • if – Ejecuta bloques cerrados 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 espera se detiene durante un período de tiempo específico antes de pasar al siguiente bloque.

bloque de pila de espera#
esperar (1) segundos

Parámetros

Descripción

tiempo

La cantidad de tiempo a esperar, como un entero positivo o decimal en segundos.

Ejemplo

Cuando se inicia, avanza durante un segundo y luego detiene todo movimiento.#
cuando empezó :: hat events
[Move forward for one second, then stop.]
movimiento [adelante v]
esperar (1) segundos
detener todo movimiento

Esperar hasta#

El bloque esperar hasta pausa la ejecución hasta que se cumpla una condición especificada antes de continuar al siguiente bloque.

esperar hasta que se acumule el bloque#
esperar hasta <>

Parámetros

Descripción

condición

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

Ejemplo

Cuando se inicia, avanza hasta que se presiona la pantalla y luego detiene todo movimiento.#
cuando empezó :: hat events
[Move forward until screen pressed, then stop.]
movimiento [adelante v]
esperar hasta <¿pantalla presionada?>
detener todo movimiento

repetir#

El bloque repetir ejecuta los bloques dentro de él una cantidad determinada de veces.

repetir bloque c#
repetir [10]
fin

Parámetros

Descripción

veces

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

Ejemplo

cuando empezó :: hat events
[Move in a square path.]
repetir [4]
mover [adelante v] por [50] [mm v] ▶
girar [derecha v] por [90] grado ▶
fin

para siempre#

El bloque por siempre sigue ejecutando los bloques dentro de él una y otra vez sin detenerse.

bloque c para siempre#
para siempre
fin

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, se mueve continuamente en una trayectoria cuadrada avanzando 50 mm y girando 90 grados a la derecha en un bucle infinito.#
cuando empezó :: hat events
[Move in a square path forever.]
para siempre
mover [adelante v] por [50] [mm v] ▶
girar [derecha v] por [90] grado ▶
fin

repetir hasta#

El bloque repetir hasta ejecuta los bloques incluidos repetidamente mientras la condición se evalúa como Falso.

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

Cuando se inicia, mantiene todos los LED rojos hasta que se presiona la pantalla y luego los apaga.#
cuando empezó :: hat events
[Repeat until the screen is pressed before turning off the LEDs.]
repetir hasta <¿pantalla presionada?>
Establezca el color del LED [lightall v] en [rojo v]
fin
Establezca el color del LED [lightall v] en [apagado v]

mientras#

El bloque while ejecuta los bloques incluidos repetidamente mientras la condición se evalúa como Verdadero.

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

Al iniciarse, avanza 200 mm con todos los LED en verde. Los LED se apagan al detenerse el movimiento.#
cuando empezó :: hat events
[Keep the LEDs green while the robot is moving.]
mover [adelante v] por [200] [mm v] ◀ y no esperes
mientras <¿mover activamente?>
Establezca el color del LED [lightall v] en [verde v]
fin
Establezca el color del LED [lightall v] en [apagado v]

si#

El bloque if ejecuta el bloque de código incluido si la condición se evalúa como Verdadero.

si bloque#
si <> entonces
fin

Parámetros

Descripción

condición

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

  • Verdadero: Se ejecuta el código dentro del bloque if
  • Falso: Se omite el bloque

Ejemplo

Al iniciarse, comprueba continuamente si la pantalla está presionada. Si se presiona, el robot patea un objeto con fuerza media.#
cuando empezó :: hat events
[Kick when the screen is pressed.]
para siempre
si <¿pantalla presionada?> entonces
patear objeto [medio v]
fin
fin

si/de lo contrario#

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

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 al ejecutar la instrucción. Si se evalúa como:

  • Verdadero - Se ejecuta el código dentro del bloque if
  • Falso - Se ejecuta el código dentro del bloque else

Ejemplo

Al iniciarse, comprueba continuamente si la pantalla está presionada. Si se presiona, muestra un emoji de emoción mirando hacia adelante; de lo contrario, muestra un emoji de aburrimiento mirando hacia adelante.#
cuando empezó :: hat events
[Show one emoji when the screen is touched and a different one when it's not.]
para siempre
si <¿pantalla presionada?> entonces
mostrar [emoji_excited v] mirando [adelante v]
demás
mostrar [emoji_bored v] mirando [adelante v]
fin
fin

si/si no si/si no#

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

  • if ejecuta su bloque de código si la condición se evalúa como Verdadero.

  • else if verifica condiciones adicionales solo si todas las condiciones anteriores se evaluaron como falsas. Se pueden usar varias sentencias else if.

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

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 al ejecutar la instrucción. La primera condición que se evalúa como:

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

Ejemplo

Cuando la posición del eje 1 del controlador cambia, se mueve hacia adelante si se lo empuja hacia adelante, se mueve hacia atrás si se lo tira hacia atrás y se detiene cuando está en punto muerto.#
Cuando se cambia el eje [1 v] del controlador :: hat events
[Move the robot forward or reverse based on the position of the joystick.]
si <(posición del eje [1 v] del controlador) [math_greater_than v] [0]> entonces
movimiento [adelante v]
de lo contrario si <(posición del eje [1 v] del controlador) [math_less_than v] [0]> entonces
movimiento [atrás v]
demás
detener todo movimiento
fin

romper#

El bloque break sale de un bucle inmediatamente.

romper bloque de pila#
romper

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, los LED parpadean en rojo y verde cada 0,5 segundos hasta que se presiona la pantalla y luego se detiene.#
cuando empezó :: hat events
[Flash LEDs until the screen is pressed.]
para siempre
Establezca el color del LED [lightall v] en [rojo v]
esperar [0.5] segundos
Establezca el color del LED [lightall v] en [verde v]
esperar [0.5] segundos
si <¿pantalla presionada?> entonces
romper
fin
fin

detener el proyecto#

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

detener el bloqueo del proyecto#
detener el proyecto

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, los LED parpadean en rojo y verde cada 0,5 segundos hasta que se presiona la pantalla, luego se detiene el proyecto.#
cuando empezó :: hat events
[Stop the project once the screen is pressed.]
para siempre
Establezca el color del LED [lightall v] en [rojo v]
esperar [0.5] segundos
Establezca el color del LED [lightall v] en [verde v]
esperar [0.5] segundos
si <¿pantalla presionada?> entonces
detener el proyecto
fin
fin