Operadores#
Introducción#
Los bloques Operadores de VEXcode CTE gestionan cálculos matemáticos y manipulaciones de cadenas. Estos bloques permiten realizar operaciones aritméticas, evaluar condiciones y procesar texto.
A continuación se muestra una lista de bloques disponibles:
math operator – Performs addition, subtraction, multiplication, or division.
comparison operator – Compares two values using greater than, less than, or equal operators.
logical operator – Evaluates multiple conditions using and or or.
not operator – Inverts a Boolean value.
range operator – Checks if a number falls within a range.
pick random – Generates a random number within a specified range.
round number – Rounds a number to the nearest whole number.
math functions – Applies operations such as square root, trigonometry, logarithms, and exponentiation.
atan2 – Computes the inverse tangent of y/x.
remainder – Returns the remainder of a division operation.
join – Combines two strings into one.
letter – Extracts a character from a string by position.
length – Returns the number of characters in a string.
contains – Checks if a string includes a specific word or character.
convert – Converts a number into text, a whole number, or a decimal.
operador matemático#
The math operator block performs basic arithmetic on the values placed on either side. It returns a result based on the project’s print precision, which defaults to 0 decimal places but can be adjusted using the set print precision block.
([0] [math_plus v] [0])
Parámetros |
Descripción |
|---|---|
valor 1 |
El primer número utilizado en la operación. |
operador |
El operador matemático a utilizar:
|
valor 2 |
El segundo número utilizado en la operación. |
Ejemplo
cuando empezó
[Perform basic addition and show two decimal places.]
establecer la precisión de impresión a [0.01 v]
imprimir ([10] [math_plus v] [10.5]) en la consola ▶
operador de comparación#
El bloque operador de comparación devuelve un valor booleano que indica si la comparación entre dos valores es verdadera o falsa.
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 |
|---|---|
valor 1 |
El primer valor a comparar. |
operador |
La comparación a utilizar:
|
valor 2 |
El segundo valor a comparar. |
Ejemplo
cuando empezó
[Increment until passed x = 90.]
repetir hasta <([brazo v] posición [incógnita v] en [mm v] :: custom-arm) [math_greater_than v] [200]>
incrementar la posición [brazo v] en x:[50] y:[0] z:[0] [mm v] ▶
operador lógico#
El bloque operador lógico devuelve un valor booleano que indica si la condición lógica entre múltiples valores es verdadera o falsa.
Verdadero: se cumple la condición lógica.
Falso: no se cumple la condición lógica.
<<> [and v] <>>
Parámetro |
Descripción |
|---|---|
condición 1 |
La primera condición booleana a evaluar. |
operador |
El operador lógico a utilizar:
|
condición 2 |
La segunda condición booleana a evaluar. |
Ejemplo
cuando empezó
[Increment arm if it is able to do so.]
para siempre
si <<[brazo v] ya termino de moverme? :: custom-arm> [and v] <[brazo v] incremento de posición por x:[50] y:[0] z:[0] [mm v]?>> entonces
incrementar la posición [brazo v] en x:[50] y:[0] z:[0] [mm v] ▶
fin
fin
no operador#
El bloque operador not invierte el resultado de un bloque booleano. Si la entrada es Verdadero, devuelve Falso; si la entrada es Falso, devuelve Verdadero.
Verdadero: la condición de entrada normalmente devolvería Falso.
Falso: la condición de entrada normalmente devolvería Verdadero.
<no <>>
Parámetro |
Descripción |
|---|---|
condición |
La condición booleana que se debe invertir. |
Ejemplo
cuando empezó
[Rotate end effector until facing 90 degrees.]
repetir hasta <no <([brazo v] orientación [guiñada v] en grados :: custom-arm) [math_less_than v] [90]>>
Incrementar la orientación [brazo v] en [guiñada v] [30] grados ▶
operador de rango#
El bloque operador de rango devuelve un valor booleano que indica si un valor cae 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:
|
valor |
El valor a comprobar. |
segundo operador |
El operador de comparación a utilizar:
|
Ejemplo
cuando empezó
[Move arm until y position is passed 150 mm.]
para siempre
si <[-5] [math_less_than v] ([brazo v] posición [y v] en [mm v] :: custom-arm) [math_less_than v] [150]> entonces
imprimir [Moving!] en la consola ◀ y coloque el cursor en la siguiente fila
incrementar la posición [brazo v] en x:[0] y:[50] z:[0] [mm v] ▶
demás
imprimir [Done moving!] en la consola ▶
romper
elige al azar#
El bloque pick random devuelve un entero aleatorio dentro del rango especificado.
elige al azar de [1] a [10]
Parámetros |
Descripción |
|---|---|
mín. |
El número más bajo posible que se puede elegir. |
máximo |
El número más alto que se puede elegir. |
Ejemplos
cuando empezó
[Display a number between 1 and 10.]
imprimir (elige al azar de [1] a [10]) en la consola ▶
número redondo#
El bloque número redondeado devuelve 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 hacia arriba.
Si el decimal es menor que 0,5, el número se redondea hacia abajo.
(redondear de [0] a [0] decimal)
Parámetro |
Descripción |
|---|---|
número |
El número a redondear. |
decimales |
La cantidad de decimales a redondear. |
Ejemplo
cuando empezó
[Display the rounded result of 10 / 3.]
establecer la precisión de impresión a [0.01 v]
imprimir (redondear de ([10] [math_division v] [3]) a [1] decimal) en la consola ▶
funciones matemáticas#
El bloque funciones matemáticas aplica una función matemática seleccionada a un número dado y devuelve el resultado. Admite operaciones como valor absoluto, redondeo, raíz cuadrada, 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 se aplicará la función. |
Ejemplo
cuando empezó
[Display the square root of 16.]
imprimir ([sqrt v] de [16]) en la consola ▶
atan2#
El bloque atan2 devuelve 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 x:[4] y:[3])
Parámetro |
Descripción |
|---|---|
incógnita |
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 empezó
[Calculate the angle from current position (4, 3).]
imprimir (atan2 de x:[4] y:[3]) en la consola ▶
resto#
El bloque resto devuelve 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 se dividirá. |
Ejemplo
cuando empezó
[Display the remainder of 10 / 3.]
imprimir (resto de [10]/[3]) en la consola ▶
unirse#
El bloque join devuelve una única cadena que combina dos o más cadenas de entrada.
(unirse [apple] [banana])
parámetro |
descripción |
|---|---|
cadena 1 |
La primera cadena a combinar. |
cuerda 2 |
La segunda cadena a combinar. |
cuando empezó
[Display "VEXcode" in the Console.]
imprimir (unirse [VEX] [code]) en la consola ▶
carta#
La letra devuelve una cadena de un solo carácter desde la posición especificada en la cadena dada.
(letra [1] de [apple])
parámetro |
descripción |
|---|---|
posición |
La posición del carácter en la cadena (comenzando en 1). |
cadena |
La cadena de la que se extraerá una letra. |
cuando empezó
[Display the first letter of "Robot".]
imprimir (letra (1) de [Robot]) en la consola ▶
longitud#
El bloque longitud devuelve la cantidad de caracteres en la cadena especificada, incluidos los espacios.
(longitud de [apple])
parámetro |
descripción |
|---|---|
cadena |
La cuerda para medir la longitud de. |
Ejemplo
cuando empezó
[Count the number of characters in "VEX Robotics".]
imprimir (longitud de [VEX Robotics]) en la consola ▶
contiene#
El bloque contiene devuelve un valor booleano que indica si la cadena especificada incluye la palabra o el carácter dado.
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 dentro de la cual se realizará la búsqueda. |
término de búsqueda |
La palabra o carácter que se buscará dentro de la cadena. |
Ejemplo
cuando empezó
[Check if "robotics" contains "bot".]
si <[robotics] contiene [bot]?> entonces
imprimir [The word contains "bot".] en la consola ▶
demás
imprimir [Not found.] en la consola ▶
fin
convertir#
El bloque convert devuelve 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. Los números deben estar en formato de cadena para funcionar con bloques de Operador de cadena.
número – Convierte el número en un valor decimal (punto flotante).
(convertir [0] a [texto v])
parámetro |
descripción |
|---|---|
valor |
El número a convertir. |
tipo |
El tipo en el que se convertirá el número:
|
Ejemplo
Próximamente habrá un ejemplo.