Operadores#
Introdução#
Os blocos Operador no VEXcode IQ (1ª geração) ajudam o robô 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 NOT – 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.
restante – Reporta o resto de uma operação de divisão.
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 defeito é de 0 casas decimais, mas pode ser ajustada utilizando o bloco definir precisão de impressão no ecrã.
([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] na tela
imprimir ([10] [math_plus v] [10.5]) na tela ▶
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
[Turn right until the heading reaches 90 degrees.]
virar [direita v]
aguardar [0.5] segundos
aguardar até <(direção de condução em graus) [math_greater_than v] [90]>
parar de conduzir
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 if the ▲ and ▼ buttons are pressed.]
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
se <<botão [▲ v] do Brain pressionado?> [e v] <botão [▼ v] do Brain pressionado?>> então
imprimir [Buttons pressed!] na tela ▶
fim
fim
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
[Turn until the robot is facing left. ]
para sempre
se <não <(direção de condução em graus) [math_greater_than v] [270]>> então
virar [direita v]
senão
parar de conduzir
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
[Turn and display when facing forward or back. ]
virar [direita v] por [360] graus ◀ e não aguardar
para sempre
limpar tela
definir cursor para linha [1] coluna [1] na tela
se <[270] [math_greater_than v] (direção de condução em graus) [math_greater_than v] [90]> então
imprimir [Facing backward!] na tela ▶
senão
imprimir [Facing forward!] na tela ▶
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]) ▶
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] na tela
imprimir (arredondar ([10] [math_division v] [3]) para [1] casas decimais) na tela ▶
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]) na tela ▶
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]) na tela ▶
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]) na tela ▶