Lógico

Os blocos Lógico podem executar diferentes operações com base na condição de expressões matemáticas ou lógicas.

Os blocos lógicos a seguir executam uma operação dependendo do resultado de uma condição. Definir a condição [If] ou [If Else] em um bloco de valor ou bloco lógico.

Os seguintes blocos lógicos geram valores numéricos ou lógicos para uso em condições.

Observação:

  • Quando um dos seguintes ocorre no valor de um operando, o valor é indefinido:
    • Erro de comunicação (variável com qualidade “ruim”)

    • Acessando o número de elemento da matriz que está fora dos limites

    • Divida por zero.

  • Se o bloco lógico contém valores indefinidos, o resultado será indefinido. No entanto, quando usado como uma [Condição lógica], ainda pode gerar um resultado.

Condição lógica

If

Este bloco executa operações sob a condição [Do] quando [If] é avaliada como verdadeiro.
Bloco
Texto

'if(CONDITION){}'

Observação: Durante a execução do script, se a condição [If] não estiver definida, sai do bloco.

If Else

Esse bloco executa operações sob a condição [Do] quando [If] é avaliada como verdadeiro, e operações sob a condição [Else], [If] é avaliada como falso.
Bloco
Texto

'if(CONDITION){}else{}'

Observação: Durante a execução do script, se a condição [If] não estiver definida, a lógica ignora [Do] e executa a operação [Else].

Math

Este bloco é uma expressão matemática. Insira o bloco de valor no operando esquerdo (X) e no operando direito (Y) e selecione o operador.
Bloco
Texto

'SOURCE1 * SOURCE2'

Operador

Expressão

Descrição

+ X + Y Adicionar
- X - Y Atrasar
* X * Y Multiplicar
/ X / Y Dividir
% X % Y Resto da divisão
& X & Y Devolve o resultado de uma operação AND no nível do bit. Se X = 0110; Y= 1100 então o resultado será 0100
| X | Y Devolve o resultado de uma operação OR no nível do bit. Se X = 0110; Y= 1100 então o resultado será 1110
^ X ^ Y Devolve o resultado de uma operação XOR no nível do bit. Se X = 0110; Y= 1100 então o resultado será 1010
<< X << Y Deslocamento para a esquerda. Desloque os bits em X, para a esquerda, pelo número Y de posições de bits. Preserva o sinal.
>> X >> Y Deslocamento para direita. Desloque os bits em X, para a direita, pelo número Y de posições de bits. Preserva o sinal.
>>> X >>> Y Preenchimento zero, deslocamento para a direita. Desloca os bits em X, para a direita, pelo número Y de posições de bits e preenche bits deslocados à esquerda com 0s, não preservando o sinal.

Observação:

  • AND/OR/XOR sempre retorna um valor inteiro de 32 bits não identificada.
  • Quando o valor de entrada é negativo, as expressões de deslocamento de bit retornam um valor inteiro de 32 bit.
  • Quando o valor de entrada é positivo, as expressões de deslocamento de bit retornam um valor inteiro de 32 bit não identificada.

Observação:

O resultado da expressão matemática contém pontos decimais.

(Exemplo 1)
No caso seguinte, se o valor de INT1 é 101, então o resultado é 10.1 (.1 não é truncado).

Bloco

Texto

'INT1 / 10'

Para truncar os pontos decimais, use o bloco floor.
(Exemplo 2)
No caso seguinte, se o valor da INT1 for 101, então o resultado é 10.

Bloco

Texto

'$Math.floor((INT1 / 10))'

Condição de comparação

Este bloco é uma condição de comparação. Insira o bloco de valor no operando esquerdo (X) e no operando direito (Y) e selecione o operador.

Bloco
Texto

'CONDITION1 == CONDITION2'

Operador

Descrição

Exemplo

<=

Retorna verdadeiro se o valor da X for menor ou igual ao valor da Y.

Se X = 7 e Y = 33, então a expressão X <= Y é verdadeiro.

>=

Retorna verdadeiro se o valor da X for maior ou igual ao valor da Y.

Se X = 32 e Y = 10, então a expressão X >= Y é verdadeiro.
<

Retorna verdadeiro se o valor da X for menor que o valor da Y.

Se X = 7 e Y = 38, então a expressão X < Y é verdadeiro.
>

Retorna verdadeiro se o valor da X for maior que o valor da Y.

Se X = 27 e Y = 14, então a expressão X > Y é verdadeiro.
!=

Retorna verdadeiro se o valor da X não for igual ao valor da Y.

Se X = 7 e Y = 33, então a expressão X != Y é verdadeiro.
==

Retorna verdadeiro se o valor da X for igual ao valor da Y.

Se X = 5 e Y = 5, então a expressão X == Y é verdadeiro.

Condição lógica

Este bloco é uma condição de lógica. Insira o bloco de valor no operando esquerdo (X) e no operando direito (Y) e selecione o operador.

Bloco
Texto

'CONDITION1 && CONDITION2'

Operador

Descrição

Exemplo
&&

AND Lógico

Retorna verdadeiro se ambos forem verdadeiro.

Se X = verdadeiro, Y = falso, então a expressão X && Y é falso.

Observação: Mesmo que o valor de um dos operandos possa ser indefinido, a condição lógica resultante pode ser avaliada como falso se o outro operando for falso. Por favor, veja a tabela abaixo.

X Y Resultado
Indefinido Indefinido Indefinido
Indefinido verdadeiro Indefinido
Indefinido falso falso
verdadeiro Indefinido Indefinido
falso Indefinido falso
||

Soma lógica

Retorna verdadeiro, exceto se ambas as entradas forem falso.

Se X = verdadeiro, Y = falso, então a expressão X || Y é verdadeiro.

Observação: Mesmo que o valor de um dos operandos possa ser indefinido, a condição lógica resultante pode ser avaliada como verdadeiro se o outro operando for verdadeiro. Por favor, veja a tabela abaixo.

X Y Resultado
Indefinido Indefinido Indefinido
Indefinido verdadeiro verdadeiro
Indefinido falso Indefinido
verdadeiro Indefinido

verdadeiro

falso Indefinido Indefinido

Not

Este bloco executa negação lógica ou negação de bits. Insira o bloco de valor no operando (X) e selecione um operador.

Bloco
Texto

'!SOURCE'

Operador

Descrição

Exemplo
!

NÃO Lógico

Retorna o inverso do valor booleano.

Se X = falso, então o resultado é verdadeiro.
˜

NÃO Bit

Retorna o valor inverso de cada bit.

Observação: Ao usar integers, o comprimento do bit das expressões de bit é sempre de 32 bits.

Se X = 0011, então o resultado será 1100.