Control#
Introducción#
Los bloques de control en VEXcode VR administran el flujo de un proyecto mediante el manejo de bucles, condiciones, retrasos y detenciones de ejecución.
A continuación se muestra una lista de 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 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.
esperar (1) segundos
Parámetros |
Descripción |
|---|---|
tiempo |
La cantidad de tiempo a esperar, como un entero positivo o decimal en segundos. |
Ejemplo
cuando empezó :: hat events
[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 especificada antes de continuar al siguiente bloque.
esperar hasta <>
Parámetros |
Descripción |
|---|---|
condición |
La condición que debe cumplirse antes de pasar al siguiente bloque. |
Ejemplo
cuando empezó :: hat events
[Move forward until a button is pressed, then stop.]
unidad [adelante v]
esperar hasta <[LeftBumper v] presionado?>
deja de conducir
repetir#
El bloque repetir ejecuta los bloques dentro de él una cantidad determinada de veces.
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]
unidad [adelante v] para [150] [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.
para siempre
fin
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó :: hat events
[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 los bloques incluidos repetidamente mientras la condición se evalúa como Falso.
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:
|
Ejemplo
cuando empezó :: hat events
[Move the pen until the bumper is pressed.]
unidad [adelante v]
repetir hasta <[LeftBumper v] presionado?>
mover pluma [abajo v]
esperar (0.5) segundos
mover pluma [arriba v]
esperar (0.5) segundos
fin
esperar (0.5) segundos
deja de conducir
mientras#
El bloque while ejecuta los bloques incluidos repetidamente mientras la condición se evalúa como Verdadero.
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:
|
Ejemplo
cuando empezó :: hat events
[Display a message while moving.]
unidad [adelante v] para [300] [mm v] ◀ y no esperes
mientras <¿La unidad se está moviendo?>
imprimir [Moving...] ▶
esperar (0.1) segundos
borrar todas las filas
fin
imprimir [Done!] ▶
si#
El bloque if ejecuta el bloque de código incluido si la condición se evalúa como Verdadero.
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:
|
Ejemplo
cuando empezó :: hat events
[Turn in a circle if the bumper is pressed.]
unidad [adelante v]
para siempre
si <[LeftBumper v] presionado?> entonces
unidad [atrás v] para (200) [mm v] ▶
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 adjunto se ejecuta en función de si la condición se evalúa como Verdadero o Falso.
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:
|
Ejemplo
cuando empezó :: hat events
[If bumper pressed, reverse and turn right.]
para siempre
si <[LeftBumper v] presionado?> entonces
unidad [atrás v] para (100) [mm v] ▶
girar [derecha v] por (90) grado ▶
demás
unidad [adelante v]
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.
else ejecuta su bloque de código solo si ninguna de las condiciones anteriores se evaluó como Verdadera.
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:
|
Ejemplo
cuando empezó :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
para siempre
si <[FrontEye v] detecta [rojo v]?> entonces
girar [derecha v] por (90) grado ▶
de lo contrario si <[FrontEye v] detecta [verde v]?> entonces
girar [izquierda v] por (90) grado ▶
demás
unidad [adelante v]
fin
fin
romper#
El bloque break sale de un bucle inmediatamente.
romper
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó :: hat events
[Stop turning after a button is pressed.]
para siempre
unidad [adelante v]
si <[LeftBumper v] presionado?> entonces
romper
fin
fin
deja de conducir
detener el proyecto#
El bloque detener proyecto finaliza un proyecto en ejecución.
detener el proyecto
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó :: hat events
[Stop the project entirely after a button is pressed.]
para siempre
unidad [adelante v]
si <[LeftBumper v] presionado?> entonces
detener el proyecto
fin
fin