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 bloque de pila#
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 se inicia, se mueve hacia adelante durante un segundo y luego detiene todo movimiento.#
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 el bloque de pila#
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 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 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.

bloque forever c#
por 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 a la derecha 90 grados en un bucle infinito.#
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 bloquear#
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 se inicia, mantiene todos los LED rojos hasta que se presiona la pantalla y luego los apaga.#
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 que el bloque c#
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

Una pila de bloques que comienza con un bloque cuando se inicia, seguido de una lectura de bloque de comentarios Mostrar el tiempo después de que hayan pasado 2 segundos. Una espera hasta que el bloque detenga la ejecución hasta que el temporizador alcance o exceda los dos segundos. Una vez que se cumple esta condición, un bloque de impresión muestra el valor del temporizador en la pantalla.#
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 bloquea#
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.

if then else block#
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.

if else if else bloquear#
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.

romper bloque de pila#
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 bloque de proyecto#
detener proyecto

Parámetros

Descripción

Este bloque no tiene parámetros.