Control#
Introducción#
Los bloques de control en VEXcode administran el flujo de un proyecto mediante el manejo de bucles, condiciones y retrasos en la ejecución de los bloques.
Un bucle es cuando una computadora repite el mismo paso o grupo de pasos una y otra vez hasta que se le dice que se detenga. Una condición es una regla que la computadora verifica para decidir qué hacer a continuación. Por ejemplo, una luz puede encenderse si el brazo está moviendo un objeto.
A continuación se muestra una lista de bloques disponibles:
wait – Pausa los bloques para que no se ejecuten durante un tiempo específico.
espere hasta – Pausa los bloques para que no se ejecuten hasta que se cumpla una condición especificada.
repeat – Repite un conjunto de bloques un número específico de veces.
Forever: repite un conjunto de bloques indefinidamente.
repetir hasta – Repite un conjunto de bloques hasta que se cumpla una condición.
while: repite un conjunto de bloques mientras una condición sigue siendo cierta.
if – Ejecuta un conjunto de bloques si una condición es verdadera.
if / else – Ejecuta un conjunto de bloques si una condición es verdadera, de lo contrario ejecuta otra.
if / else if / else – Ejecuta diferentes conjuntos de bloques dependiendo de múltiples condiciones.
break: sale de un bucle de * * repeat * *, * * forever * *, * * repeat until * * o while de inmediato.
detener proyecto – Finaliza el proyecto.
esperar#
El bloque de pila wait pausa la ejecución de los bloques durante un tiempo determinado antes de pasar al siguiente bloque.
esperar (1) segundos
Parámetros |
Descripción |
|---|---|
tiempo |
La cantidad de tiempo para esperar, como un número entero positivo o decimal en segundos. |
Ejemplo
cuando inicie
[Move to the left, then the right after one second.]
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
esperar (1) segundos
incrementar posición de [brazo v] en x:[-100] y:[0] z:[0] [mm v] ▶
esperar hasta#
El bloque de pila * * espera hasta que * * detenga la ejecución de los bloques hasta que se cumpla una condición especificada antes de pasar al siguiente bloque.
esperar hasta <>
Parámetros |
Descripción |
|---|---|
condición |
La condición que debe cumplirse antes de pasar al siguiente bloque. |
repetir#
El bloque repeat C ejecuta los bloques dentro de él un número determinado de veces.
repetir [10]
fin
Parámetros |
Descripción |
|---|---|
veces |
Un número entero que indica cuántas veces se ejecuta el bloque repetir. |
Ejemplo
cuando inicie
[Move in a square pattern.]
repetir [4]
incrementar posición de [brazo v] en x:[2] y:[0] z:[0] [pulgadas v] ▶
incrementar posición de [brazo v] en x:[0] y:[2] z:[0] [pulgadas v] ▶
incrementar posición de [brazo v] en x:[-2] y:[0] z:[0] [pulgadas v] ▶
incrementar posición de [brazo v] en x:[0] y:[2] z:[0] [pulgadas v] ▶
fin
para siempre#
El bloque C * * Forever * * sigue ejecutando los bloques dentro de él una y otra vez sin detenerse.
por siempre
fin
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando inicie
[Move in a square path forever.]
por siempre
incrementar posición de [brazo v] en x:[2] y:[0] z:[0] [pulgadas v] ▶
incrementar posición de [brazo v] en x:[0] y:[2] z:[0] [pulgadas v] ▶
incrementar posición de [brazo v] en x:[-2] y:[0] z:[0] [pulgadas v] ▶
incrementar posición de [brazo v] en x:[0] y:[2] z:[0] [pulgadas v] ▶
fin
repetir hasta#
El bloque repetir hasta que C ejecute los bloques dentro de él repetidamente mientras no se cumpla la condición especificada.
repetir hasta <>
fin
Parámetros |
Descripción |
|---|---|
condición |
Una expresión o variable que se comprueba antes de cada bucle. Si es Falso, los bloques continúan repitiéndose. Si es Verdadero, el bucle se detendrá. |
Ejemplo
cuando inicie
[Increment along the x-axis until it's no longer possible.]
repetir hasta <no <¿[brazo v] incrementar posición en x:[100] y:[0] z:[0] [mm v]?>>
incrementar posición de [brazo v] en x:[100] y:[0] z:[0] [mm v] ▶
fin
establecer [brazo v] en control detenido
mientras#
El bloque while de C ejecuta repetidamente los bloques que contiene mientras se cumpla la condición especificada.
mientras <>
fin
Parámetros |
Descripción |
|---|---|
condición |
Una expresión o variable que se comprueba antes de cada bucle. Si es Verdadero, los bloques continúan repitiéndose. Si es Falso, el bucle se detendrá. |
Ejemplo
cuando inicie
[Display the 6-Axis Arm's position as it moves.]
mover [brazo v] a la posición x:(-100) y:(200) z:(100) [mm v] ◀ y no esperar
mientras <no <¿[brazo v] terminó de moverse?>>
imprimir (posición [y v] de [brazo v] en [mm v]) en consola ◀ y mover cursor a la siguiente fila
esperar [0.25] segundos
si#
El bloque if C ejecuta los bloques en el interior si la condición es True.
si <> entonces
fin
Parámetros |
Descripción |
|---|---|
condición |
Una expresión o variable que se comprueba al ejecutar la instrucción. Si es Verdadera, se ejecutarán los bloques dentro del bloque if. Si es Falsa, los bloques se omiten. |
Ejemplo
cuando inicie
[Check if the 6-Axis Arm can move to a position.]
si <no <¿puede [brazo v] moverse a la posición x:[0] y:[0] z:[0] [mm v]?>> entonces
imprimir [The 6-Axis Arm can't move to this position.] ◀ y mover cursor a la siguiente fila
if / else#
El bloque if / else C determina qué conjunto de bloques se ejecuta en función de si la condición es True o False.
si <> entonces
si no
fin
Parámetros |
Descripción |
|---|---|
condición |
Una expresión o variable que se comprueba al ejecutar la instrucción. Si es Verdadera, se ejecutarán los bloques dentro del bloque if. Si es Falsa, se ejecutarán los bloques dentro del bloque else. |
Ejemplo
cuando inicie
[Check if the 6-Axis Arm can or can't move to a position.]
si <no <¿puede [brazo v] moverse a la posición x:[100] y:[100] z:[100] [mm v]?>> entonces
imprimir [The 6-Axis Arm can't move to this position.] en consola ◀ y mover cursor a la siguiente fila
si no
imprimir [The 6-Axis Arm can move to this position.] en consola ◀ y mover cursor a la siguiente fila
if / else if / else#
El bloque C expandible if / else if / else selecciona qué conjunto de bloques se ejecuta en función de las condiciones:
if ejecuta su bloque de código si la condición se evalúa como True.
else if comprueba condiciones adicionales solo si todas las condiciones anteriores se evaluaron como falsas. Se pueden utilizar varias sentencias else if.
else ejecuta su bloque de código solo si ninguna de las condiciones anteriores se evaluó como True.
si <> entonces
si no, si <> entonces
si no
fin
Parámetros |
Descripción |
|---|---|
condición |
Una expresión o variable que se comprueba al ejecutar la instrucción. La primera condición que sea Verdadera ejecuta ese conjunto de bloques. Si todas las condiciones se evalúan como Falsas, se ejecutarán los bloques dentro del bloque else. |
Ejemplo
cuando inicie
[Move until the 6-Axis Arm is at the corner of the tile.]
si <¿[brazo v] incrementar posición en x:[50] y:[0] z:[0] [mm v]?> entonces
incrementar posición de [brazo v] en x:[50] y:[0] z:[0] [mm v] ▶
si no, si <¿[brazo v] incrementar posición en x:[0] y:[50] z:[0] [mm v]?> entonces
incrementar posición de [brazo v] en x:[0] y:[50] z:[0] [mm v] ▶
si no
imprimir [The 6-Axis Arm has reached the corner.] en consola ◀ y mover cursor a la siguiente fila
pausa#
El bloque de pila break * * sale de un bucle inmediatamente. Este bloque se puede usar dentro de los bloques repeat * *, * * repeat until * *, * * while * * y * * forever * *. Break es útil cuando un bucle necesita detenerse temprano en función de algo que sucede durante el proyecto, como un botón que se presiona o un sensor que detecta un objeto.
interrumpir
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
detener proyecto#
El bloque de pila * * detener proyecto * * finaliza un proyecto en ejecución.
detener proyecto
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |