Control#

Introducción#

Los bloques de control en VEXcode V5 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.

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.]
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 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 the screen is pressed, then stop.]
unidad [adelante v]
esperar hasta <¿pantalla presionada?>
deja de conducir

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]
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.

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
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 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ó
[Turn until the screen is pressed.]
repetir hasta <¿pantalla presionada?>
turno [derecha v]
fin
deja de conducir

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

Una pila de bloques que comienza con un bloque “cuando se inició”, seguido de un bloque de comentario que indica el tiempo transcurrido tras 2 segundos. Un bloque “esperar hasta” pausa la ejecución hasta que el temporizador alcanza o supera los dos segundos. Una vez que se cumple esta condición, un bloque de impresión muestra el valor del temporizador en pantalla.#
cuando empezó
[Display the time for one minute.]
mientras <(temporizador en segundos) [math_less_than v] [60]>
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
imprimir (temporizador en segundos) en la pantalla ▶

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ó
[Turn in a circle if the screen is pressed.]
para siempre
si <¿pantalla presionada?> entonces
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 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

si entonces si no bloque#
cuando empezó
[Display a message if the screen is being pressed.]
para siempre
pantalla clara
Coloque el cursor en la fila [1] columna [1] en la pantalla
si <¿pantalla presionada?> entonces
imprimir [Pressed!] en la pantalla ▶
demás
imprimir [Not pressed!] en la pantalla ▶
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:

  • Si 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

si entonces si no bloque#
cuando empezó
[Move the robot based on the Controller button is being pressed.]
para siempre
si <[Controller 1 v] [ presionado?> entonces
turno [derecha v]
de lo contrario si <[Controller 1 v] [ presionado?> entonces
turno [izquierda v]
demás
deja de conducir
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

Al iniciarse, gira a la derecha hasta que se presiona la pantalla y luego se detiene.#
cuando empezó
[Stop turning after the screen is pressed.]
para siempre
turno [derecha v]
si <¿pantalla presionada?> entonces
romper
fin
fin
deja de conducir

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

Al iniciarse gira a la derecha hasta presionar la pantalla, luego detiene el proyecto.#
cuando empezó
[Stop the project entirely after the screen is pressed.]
para siempre
turno [derecha v]
si <¿pantalla presionada?> entonces
detener el proyecto
fin
fin