Operadores#
Introducción#
Los bloques del operador en VEXcode AIR ayudan al dron a trabajar con números y palabras. Estos bloques pueden resolver problemas matemáticos, comparar valores, evaluar si las condiciones son verdaderas o falsas y trabajar con cadenas. Las cadenas se pueden usar para imprimir valores y palabras.
A continuación se muestra una lista de bloques disponibles:
operador matemático: realiza sumas, restas, multiplicaciones o divisiones.
operador DE comparación — Compara dos valores usando operadores mayores que, menores que o iguales a.
operador lógico — Evalúa múltiples condiciones usando and o or.
not operator — Invierte un valor booleano.
operador DE rango — Comprueba si un número se encuentra dentro de un rango.
pick random — Genera un número aleatorio dentro de un rango especificado.
Round number — Redondea un número al número entero más cercano.
funciones matemáticas: aplica operaciones como la raíz cuadrada, la trigonometría, los logaritmos y la exponenciación.
atan2 — Calcula la tangente inversa de Y/X.
Remanente — Informa el resto de una operación de división.
join – Combina dos cadenas en una.
letter – Extrae un carácter de una cadena por posición.
length – Informa el número de caracteres en una cadena.
contiene – Comprueba si una cadena incluye una palabra o carácter específico.
convert – Convierte un número en texto, un número entero o un decimal.
operador matemático#
El bloque indicador * * operador matemático * * realiza operaciones matemáticas básicas en los valores colocados a cada lado del operador. Devuelve un resultado basado en la precisión de impresión del proyecto, que por defecto es 0 decimales, pero se puede ajustar utilizando los bloques set print precision on screen o set print precision on console.
([0] [math_plus v] [0])
Parámetros |
Descripción |
|---|---|
value 1 |
El primer número utilizado en la operación. |
operador |
El operador matemático a utilizar:
|
value 2 |
El segundo número utilizado en la operación. |
Ejemplo
cuando inicie
[Perform basic addition and show two decimal places.]
establecer precisión de impresión a [0.01 v] en consola
imprimir ([10] [math_plus v] [10.5]) en consola ▶
operador de comparación#
El operador de comparación bloque booleano informa si la comparación entre dos valores es Verdadero o Falso.
Verdadero: la comparación es correcta (por ejemplo, 5 > 3 devuelve Verdadero).
Falso: la comparación es incorrecta (por ejemplo, 2 ≥ 5 devuelve Falso).
<[0] [math_equal v] [0]>
Parámetro |
Descripción |
|---|---|
value 1 |
El primer valor a comparar. |
operador |
La comparación para usar:
|
value 2 |
El segundo valor a comparar. |
Ejemplo
cuando inicie
[Fly to position (0, 300, 500).]
despegar a [500] [mm v] ▶
esperar (1) segundos
mover [adelante v]
esperar hasta <(posición de [y v] en [mm v]) [math_greater_than v] [300]>
esperar (1) segundos
aterrizar ▶
operador lógico#
El operador lógico bloque booleano informa si la condición lógica entre múltiples valores es Verdadero o Falso.
Verdadero: se cumple la condición lógica.
Falso: no se cumple la condición lógica.
<<> [y v] <>>
Parámetro |
Descripción |
|---|---|
condición 1 |
La primera condición booleana a evaluar. |
operador |
El operador lógico a utilizar: y informa Verdadero si ambas condiciones son Verdadero. o informa Verdadero si al menos una condición es Verdadero. |
condición 2 |
La segunda condición booleana a evaluar. |
Ejemplo
cuando inicie
[Display when buttons 5 and 7 are pressed together.]
esperar hasta <<¿botón [5 v] del control presionado?> [y v] <¿botón [7 v] del control presionado?>>
imprimir [Both buttons pressed!] en consola ▶
no operador#
El bloque booleano * * not operator * * invierte el resultado de un bloque booleano. Si la entrada es Verdadero, informa Falso, y si la entrada es Falso, informa Verdadero.
Verdadero: la condición de entrada normalmente informaría Falso.
Falso: la condición de entrada normalmente informaría Verdadero.
<no <>>
Parámetro |
Descripción |
|---|---|
condición |
La condición booleana a invertir. |
Ejemplo
cuando inicie
[Move with controller while button 5 is not pressed.]
despegar a [500] [mm v] ▶
mientras <no <¿botón [5 v] del control presionado?>>
mover con el control
fin
aterrizar ▶
operador de rango#
El bloque booleano operador de rango indica si un valor se encuentra dentro de un rango especificado.
Verdadero – Si el valor está dentro del rango.
Falso – Si el valor está fuera del rango.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parámetro |
Descripción |
|---|---|
primer operador |
El operador de comparación a utilizar:
|
value |
El valor a verificar. |
segundo operador |
El operador de comparación a utilizar:
|
Ejemplo
cuando inicie
[Hover at approximately 1000mm then land.]
despegar a [500] [mm v] ▶
ascender [arriba v]
esperar hasta <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
flotar
esperar (3) segundos
aterrizar ▶
elegir al azar#
El bloque de informe selección aleatoria genera un número aleatorio positivo o negativo entre un mínimo y un máximo. Puede devolver tanto el valor mínimo como el máximo. Por ejemplo, al seleccionar un valor entre 1 y 10, se puede devolver cualquier número entero del 1 al 10.
número aleatorio entre [1] y [10]
Parámetros |
Descripción |
|---|---|
min |
El número más bajo posible que se puede elegir. |
max |
El número más alto posible que se puede elegir. |
Ejemplos
cuando inicie
[Display a number between 1 and 10.]
imprimir (número aleatorio entre [1] y [10]) en consola ▶
cuando inicie
[Display a decimal number between 1 and 10.5.]
establecer precisión de impresión a [Todos los dígitos v] en consola
imprimir (número aleatorio entre [1] y [10.5]) en consola ▶
número redondo#
El bloque de reportero * * número redondo * * informa el número dado redondeado al número entero más cercano, siguiendo las reglas de redondeo estándar:
Si el decimal es 0.5 o mayor, el número se redondea.
Si el decimal es menor que 0.5, el número se redondea hacia abajo.
(redondear [0] a [0] decimales)
Parámetro |
Descripción |
|---|---|
número |
El número a redondear. |
posiciones decimales |
La cantidad de decimales a redondear. |
Ejemplo
cuando inicie
[Display the rounded result of 10 / 3.]
establecer precisión de impresión a [0.01 v] en consola
imprimir (redondear ([10] [math_division v] [3]) a [1] decimales) en consola ▶
funciones matemáticas#
El bloque indicador * * funciones matemáticas * * aplica una función matemática seleccionada a un número determinado y devuelve el resultado. Admite operaciones como valor absoluto, redondeo, raíces cuadradas, funciones trigonométricas, logaritmos y exponenciación.
[abs v] de [0]
Parámetro |
Descripción |
|---|---|
función |
La operación matemática a aplicar al valor de entrada:
|
número |
El número al que aplicar la función. |
Ejemplo
cuando inicie
[Display the square root of 16.]
imprimir ([sqrt v] de [16]) en consola ▶
atan2#
El bloque indicador * * atan2 * * informa de la tangente inversa de Y/X como un ángulo en grados, que representa el ángulo entre el eje X positivo y el punto (X, Y).
(atan2 de[4] x: y:[3])
Parámetro |
Descripción |
|---|---|
x |
La posición horizontal del punto, medida desde el origen (0,0). |
y |
La posición vertical del punto, medida desde el origen (0,0). |
Ejemplo
cuando inicie
[Calculate the angle from current position (4, 3).]
imprimir (atan2 de[4] x: y:[3]) en consola ▶
resto#
El bloque de informe resto informa el resto de la operación de división entre dos valores.
resto de [0] / [0]
Parámetro |
Descripción |
|---|---|
dividendo |
El número a dividir. |
divisor |
El número por el que dividir. |
Ejemplo
cuando inicie
[Display the remainder of 10 / 3.]
imprimir (resto de [10] / [3]) en consola ▶
unirse#
El bloque de informe join informa una única cadena que combina dos cadenas de entrada.
(unir [apple] [banana])
parámetro |
descripción |
|---|---|
cadena 1 |
La primera cadena en combinar. |
cadena 2 |
La segunda cadena a combinar. |
Ejemplo
cuando inicie
[Display "VEXcode" on the Console.]
imprimir (unir [VEX] [code]) en consola ▶
carta#
El bloque reportero * * letter * * informa de una cadena de un solo carácter desde la posición especificada en la cadena dada.
(letra [1] de [apple])
parámetro |
descripción |
|---|---|
cargo |
La posición del carácter en la cadena (a partir de 1). |
cadena |
La cadena de la que extraer una letra. |
Ejemplo
cuando inicie
[Display the first letter of "drone".]
imprimir (letra (1) de [drone]) en consola ▶
longitud#
El bloque de informe length informa el número de caracteres en la cadena especificada, incluidos los espacios.
(longitud de [apple])
parámetro |
descripción |
|---|---|
cadena |
La cadena para medir la longitud de. |
Ejemplo
cuando inicie
[Count the number of characters in "VEX Robotics".]
imprimir (longitud de [VEX Robotics]) en consola ▶
contiene#
El bloque booleano * * contiene * * informes sobre si la cadena especificada incluye la palabra o el carácter dados.
Verdadero: la cadena incluye esa palabra o carácter específico.
Falso: la cadena no incluye esa palabra o carácter específico.
<¿[apple] contiene [a]?>
parámetro |
descripción |
|---|---|
cadena |
La cadena principal para buscar dentro. |
término de búsqueda |
La palabra o el carácter que se debe buscar dentro de la cadena. |
Ejemplo
cuando inicie
[Check if "robotics" contains "bot".]
si <¿[robotics] contiene [bot]?> entonces
imprimir [The word contains "bot".] en consola ▶
si no
imprimir [Not found.] en consola ▶
fin
convertir#
El bloque de informe convertir informa el valor de un número convertido al tipo especificado, ya sea como texto o como número.
texto – Convierte el número en una cadena de texto. Los números deben estar en formato de cadena de texto para poder trabajar con los bloques Operador de cadena.
número – Convierte el número en un valor decimal.
(convertir [0] a [texto v])
parámetro |
descripción |
|---|---|
value |
El número a convertir. |
tipo |
El tipo para convertir el número en:
|
Ejemplo
cuando inicie
[Add any number to 5.]
preguntar [Give me a number.] y esperar
imprimir ((convertir (respuesta) a [número v]) [math_plus v] [5]) en consola ▶