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.

O bloco de relatório do operador matemático.#
([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:

  • + - Adição
  • - - Subtração
  • * - Multiplicação
  • / - Divisão

valor 2

O segundo número utilizado na operação.

Exemplo

Realize adições básicas e mostre duas casas decimais.#
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).

Bloco booleano do operador de comparação.#
<[0] [math_equal v] [0]>

Parâmetro

Descrição

valor 1

O primeiro valor a comparar.

operador

A comparação a utilizar:

  • = - Igual a
  • < - Menor que
  • ≤ - Menor ou igual a
  • > - Maior que
  • ≥ - Maior ou igual a

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.

O bloco do operador lógico booleano.#
<<> [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.

O bloco booleano do operador NOT.#
<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.

O bloco booleano do operador de intervalo.#
<[0] [math_less_than v] [0] [math_less_than v] [0]>

Parâmetro

Descrição

primeiro operador

Operador de comparação a utilizar:

  • < — Menor que
  • ≤ — Menor ou igual a
  • — Maior que
  • ≥ — Maior ou igual a

valor

O valor a verificar.

segundo operador

Operador de comparação a utilizar:

  • < — Menor que
  • ≤ — Menor ou igual a
  • — Maior que
  • ≥ — Maior ou igual a

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.

O bloco de repórteres Pick Random.#
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

Apresente um número entre 1 e 10.#
quando iniciar
[Display a number between 1 and 10.]
imprimir (escolher aleatório de [1] a [10]) no console ▶

Apresente um número decimal entre 1 e 10,5.#
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.

O bloco de repórteres Round Number.#
(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

Apresentar o resultado arredondado de 10 / 3.#
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.

O bloco de relatório de funções matemáticas.#
[abs v] de [0]

Parâmetro

Descrição

função

A operação matemática a aplicar ao valor de entrada:

  • abs — Valor absoluto
  • floor — Arredonda para baixo
  • ceiling — Arredonda para cima
  • sqrt — Raiz quadrada
  • sin — Seno
  • cos — Cosseno
  • tan — Tangente
  • asin — Arco seno
  • acos — Arco coseno
  • atan — Arco tangente
  • ln — Logaritmo natural
  • log — Logaritmo de base 10
  • e^ — Número de Euler elevado a uma potência
  • 10^ — 10 elevado a uma potência
  • negativo — Devolve o negativo do número

número

O número ao qual a função será aplicada.

Exemplo

Apresente a raiz quadrada de 16.#
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).

bloco atan2#
(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

Calcule o ângulo a partir da posição atual (4, 3).#
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.

O bloco de repórteres do Restante.#
resto de [0] / [0]

Parâmetro

Descrição

dividendo

O número a dividir.

divisor

O número pelo qual se divide.

Exemplo

Apresentar o resto da divisão de 10 por 3.#
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.

O bloco de repórteres Join.#
(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.

O bloco de repórteres da Carta.#
(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.

O bloco repórter de comprimento.#
(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.

O bloco booleano “Contém”.#
<[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.

O bloco de repórter Convert.#
(converter [0] para [texto v])

parâmetro

descrição

valor

O número a converter.

tipo

Tipo de conversão:

  • texto
  • número

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 ▶