Control#

Introducción#

Los bloques de control en VEXcode AIM gestionan el flujo de un proyecto manejando bucles, condiciones, retrasos y deteniendo la ejecución.

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

  • 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 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ó
[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ó
[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ó
[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ó
[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ó
[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ó
[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ó
[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 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

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ó
[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 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

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
[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ó
[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ó
[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