Operadores#
Introdução#
Os blocos Operator do VEXcode AIR ajudam o drone a trabalhar com números e palavras. Estes blocos podem resolver problemas matemáticos, comparar valores, avaliar se as condições são verdadeiras ou falsas e trabalhar com strings. As strings podem ser utilizadas para imprimir valores e palavras.
Segue abaixo a lista dos blocos disponíveis:
operador matemático — Realiza a adição, subtração, multiplicação ou divisão.
operador de comparação — Compara dois valores utilizando os operadores maior que, menor que ou igual a.
operador lógico — Avalia múltiplas condições utilizando e ou ou.
operador não — Inverte um valor booleano.
operador de intervalo — Verifica se um número se encontra dentro de um intervalo.
escolha aleatória — Gera um número aleatório dentro de um intervalo especificado.
número redondo — Arredonda um número para o número inteiro mais próximo.
funções matemáticas — Aplica operações como raiz quadrada, trigonometria, logaritmos e exponenciação.
atan2 — Calcula a tangente inversa de Y/X.
resto — Reporta o resto de uma operação de divisão.
join – Combina duas strings numa só.
letter – Extrai um caractere de uma string por posição.
length – Reporta o número de caracteres de uma string.
contains – Verifica se uma string inclui uma palavra ou caractere específico.
convert – Converte um número em texto, um número inteiro ou um decimal.
operador matemático#
O bloco de relatório do operador matemático realiza operações matemáticas básicas sobre os valores colocados em ambos os lados do operador. Devolve um resultado com base na precisão de impressão do projeto, que por predefinição é de 0 casas decimais, mas pode ser ajustada utilizando os blocos definir precisão de impressão no ecrã ou definir precisão de impressão na consola.
([0] [math_plus v] [0])
Parâmetros |
Descrição |
|---|---|
valor 1 |
O primeiro número utilizado na operação. |
operador |
Operador matemático a utilizar:
|
valor 2 |
O segundo número utilizado na operação. |
Exemplo
quando iniciar
[Perform basic addition and show two decimal places.]
definir precisão de impressão para [0.01 v] no console
imprimir ([10] [math_plus v] [10.5]) no console ▶
operador de comparação#
O bloco booleano operador de comparação indica se a comparação entre dois valores é Verdadeira ou Falsa.
Verdadeiro – A comparação está correta (ex.: 5 > 3 retorna Verdadeiro).
Falso – A comparação está incorreta (por exemplo, 2 ≥ 5 devolve Falso).
<[0] [math_equal v] [0]>
Parâmetro |
Descrição |
|---|---|
valor 1 |
O primeiro valor a comparar. |
operador |
A comparação a utilizar:
|
valor 2 |
O segundo valor a comparar. |
Exemplo
quando iniciar
[Fly to position (0, 300, 500).]
decolar para [500] [mm v] ▶
aguardar (1) segundos
mover [frente v]
aguardar até <(posição de [y v] em [mm v]) [math_greater_than v] [300]>
aguardar (1) segundos
pousar ▶
operador lógico#
O bloco operador lógico Booleano indica se a condição lógica entre múltiplos valores é Verdadeira ou Falsa.
Verdadeiro – A condição lógica foi cumprida.
Falso – A condição lógica não foi cumprida.
<<> [e v] <>>
Parâmetro |
Descrição |
|---|---|
condição 1 |
A primeira condição booleana a ser avaliada. |
operador |
O operador lógico a utilizar: e devolve Verdadeiro se ambas as condições forem Verdadeiras. ou devolve Verdadeiro se pelo menos uma das condições for Verdadeira. |
condição 2 |
A segunda condição booleana a avaliar. |
Exemplo
quando iniciar
[Display when buttons 5 and 7 are pressed together.]
aguardar até <<botão [5 v] do controle pressionado?> [e v] <botão [7 v] do controle pressionado?>>
imprimir [Both buttons pressed!] no console ▶
não operador#
O bloco booleano operador NOT inverte o resultado de um bloco booleano. Se a entrada for Verdadeiro, retorna Falso, e se a entrada for Falso, retorna Verdadeiro.
Verdadeiro – A condição de entrada normalmente devolveria Falso.
Falso – A condição de entrada normalmente devolveria Verdadeiro.
<não <>>
Parâmetro |
Descrição |
|---|---|
estado |
A condição booleana a inverter. |
Exemplo
quando iniciar
[Move with controller while button 5 is not pressed.]
decolar para [500] [mm v] ▶
enquanto <não <botão [5 v] do controle pressionado?>>
mover com controle
fim
pousar ▶
operador de alcance#
O bloco booleano operador de intervalo indica se um valor está dentro de um intervalo especificado.
Verdadeiro – Se o valor estiver dentro do intervalo.
Falso – Se o valor estiver fora do intervalo.
<[0] [math_less_than v] [0] [math_less_than v] [0]>
Parâmetro |
Descrição |
|---|---|
primeiro operador |
Operador de comparação a utilizar:
|
valor |
O valor a verificar. |
segundo operador |
Operador de comparação a utilizar:
|
Exemplo
quando iniciar
[Hover at approximately 1000mm then land.]
decolar para [500] [mm v] ▶
subir/descer [subir v]
aguardar até <[1000] [math_less_than v] (altitude in [mm v]) [math_less_than v] [1100]>
pairar
aguardar (3) segundos
pousar ▶
escolha aleatoriamente#
O bloco de relatório escolha aleatória devolve um número aleatório, positivo ou negativo, entre um valor mínimo e um máximo. Pode retornar tanto o valor mínimo como o valor máximo. Por exemplo, escolher de 1 a 10 pode devolver qualquer número inteiro de 1 a 10.
escolher aleatório de [1] a [10]
Parâmetros |
Descrição |
|---|---|
min |
O menor número possível que pode ser escolhido. |
máximo |
O maior número possível que pode ser escolhido. |
Exemplos
quando iniciar
[Display a number between 1 and 10.]
imprimir (escolher aleatório de [1] a [10]) no console ▶
quando iniciar
[Display a decimal number between 1 and 10.5.]
definir precisão de impressão para [Todos os Dígitos v] no console
imprimir (escolher aleatório de [1] a [10.5]) no console ▶
número redondo#
O bloco de relatório de número redondo apresenta o número fornecido arredondado para o número inteiro mais próximo, seguindo as regras de arredondamento padrão:
Se o decimal for 0,5 ou superior, o número é arredondado para cima.
Se o decimal for inferior a 0,5, o número é arredondado para baixo.
(arredondar [0] para [0] casas decimais)
Parâmetro |
Descrição |
|---|---|
número |
O número a arredondar. |
casas decimais |
O número de casas decimais a arredondar. |
Exemplo
quando iniciar
[Display the rounded result of 10 / 3.]
definir precisão de impressão para [0.01 v] no console
imprimir (arredondar ([10] [math_division v] [3]) para [1] casas decimais) no console ▶
funções matemáticas#
O bloco de relatório de funções matemáticas aplica uma função matemática selecionada a um determinado número e devolve o resultado. Suporta operações como valor absoluto, arredondamento, raízes quadradas, funções trigonométricas, logaritmos e exponenciação.
[abs v] de [0]
Parâmetro |
Descrição |
|---|---|
função |
A operação matemática a aplicar ao valor de entrada:
|
número |
O número ao qual a função será aplicada. |
Exemplo
quando iniciar
[Display the square root of 16.]
imprimir ([sqrt v] de [16]) no console ▶
atan2#
O bloco de relatório atan2 reporta a tangente inversa de Y/X como um ângulo em graus, representando o ângulo entre o eixo X positivo e o ponto (X, Y).
(atan2 de x:[4] y:[3])
Parâmetro |
Descrição |
|---|---|
x |
A posição horizontal do ponto, medida a partir da origem (0,0). |
y |
A posição vertical do ponto, medida a partir da origem (0,0). |
Exemplo
quando iniciar
[Calculate the angle from current position (4, 3).]
imprimir (atan2 de x:[4] y:[3]) no console ▶
restante#
O bloco de relatório resto informa o resto da operação de divisão entre dois valores.
resto de [0] / [0]
Parâmetro |
Descrição |
|---|---|
dividendo |
O número a dividir. |
divisor |
O número pelo qual se divide. |
Exemplo
quando iniciar
[Display the remainder of 10 / 3.]
imprimir (resto de [10] / [3]) no console ▶
juntar#
O bloco de relatório join devolve uma única string que combina duas strings de entrada.
(juntar [apple] [banana])
parâmetro |
descrição |
|---|---|
corda 1 |
A primeira sequência a ser combinada. |
corda 2 |
A segunda sequência a combinar. |
Exemplo
quando iniciar
[Display "VEXcode" on the Console.]
imprimir (juntar [VEX] [code]) no console ▶
carta#
O bloco de relatório letra reporta uma sequência de um único caractere a partir da posição especificada na sequência fornecida.
(letra [1] de [apple])
parâmetro |
descrição |
|---|---|
posição |
A posição do caractere na sequência (a partir de 1). |
fio |
A sequência de caracteres da qual se pretende extrair uma letra. |
Exemplo
quando iniciar
[Display the first letter of "drone".]
imprimir (letra (1) de [drone]) no console ▶
comprimento#
O bloco de relatório length informa o número de caracteres na string especificada, incluindo espaços.
(comprimento de [apple])
parâmetro |
descrição |
|---|---|
fio |
A corda para medir o comprimento de. |
Exemplo
quando iniciar
[Count the number of characters in "VEX Robotics".]
imprimir (comprimento de [VEX Robotics]) no console ▶
contém#
O bloco booleano contém indica se a string especificada inclui a palavra ou o caractere fornecido.
Verdadeiro – A sequência inclui essa palavra ou caractere específico.
Falso – A sequência de caracteres não inclui esta palavra ou caractere específico.
<[apple] contém [a]?>
parâmetro |
descrição |
|---|---|
fio |
A string principal na qual a pesquisa deve ser realizada. |
termo de pesquisa |
A palavra ou caractere a verificar dentro da sequência de caracteres. |
Exemplo
quando iniciar
[Check if "robotics" contains "bot".]
se <[robotics] contém [bot]?> então
imprimir [The word contains "bot".] no console ▶
senão
imprimir [Not found.] no console ▶
fim
converso#
O bloco de relatório convert apresenta o valor de um número convertido para o tipo especificado, quer como texto, quer como número.
texto – Converte o número numa string. Os números devem estar em formato string para funcionar com os blocos Operador de String.
número – Converte o número num valor decimal.
(converter [0] para [texto v])
parâmetro |
descrição |
|---|---|
valor |
O número a converter. |
tipo |
Tipo de conversão:
|
Exemplo
quando iniciar
[Add any number to 5.]
perguntar [Give me a number.] e aguardar
imprimir ((converter (resposta) para [número v]) [math_plus v] [5]) no console ▶