# Logique

Les blocs logiques peuvent effectuer différentes opérations en fonction de la condition des expressions mathématiques ou logiques.

Les blocs logiques suivants exécutent une opération en fonction du résultat d'une condition. Définissez la condition [If] ou [If Else] dans un bloc de valeurs ou un bloc logique.

- If
- If Else

Les blocs logiques suivants émettent des valeurs numériques ou logiques à utiliser dans les conditions.

- Math
- Condition de comparaison
- Condition logique
- Not

Remarque :

- Lorsque l'un des éléments suivants apparaît dans la valeur d'un opérande, la valeur est indéfinie :

- Erreur de communication (la variable est de 'mauvaise' qualité)

- Accès à un numéro d'élément de tableau qui est hors limites

- Divisez par zéro.

- Si le bloc logique contient des valeurs indéfinies, le résultat est indéfini. Cependant, lorsqu'elle est utilisée en tant que [Condition logique], elle peut toujours produire un résultat.

Condition logique

## If

Ce bloc exécute des opérations dans le bloc [Do] si la condition [If] est définie sur Vrai.

##### Bloc

##### Texte

'if(CONDITION){}'

Remarque : Pendant l'exécution du script, si la condition [If] n'est pas définie, quitte le bloc.

## If Else

Ce bloc exécute les opérations sous le bloc [Do] si la condition [If] est vraie et les opérations sous le bloc [Else] lorsque la condition [If] est fausse.

##### Bloc

##### Texte

'if(CONDITION){}else{}'

Remarque : Pendant l'exécution du script, si la condition [If] n'est pas définie, la logique ignore [Do] et exécute l'opération [Else] .

## Math

Ce bloc est une expression mathématique. Insérez le bloc de valeurs dans l'opérande gauche (X) et l'opérande droit (Y), et sélectionnez l'opérateur.

##### Bloc

##### Texte

'SOURCE1 * SOURCE2'

Opérateur | Expression | Description
+ | X + Y | Ajouter
- | X - Y | Soustraire
* | X * Y | Multiplication
/ | X / Y | Diviser
% | X % Y | Reste de division
& | X & Y | Renvoie le résultat de l'opération AND au niveau des bits. Si X = 0110 et Y = 1100, le résultat est 0100
| | X | Y | Renvoie le résultat de l'opération OR au niveau des bits. Si X = 0110 et Y = 1100, le résultat est 1110
^ | X ^ Y | Renvoie le résultat de l'opération XOR au niveau des bits. Si X = 0110 et Y = 1100, le résultat est 1010
<< | X << Y | Décalage à gauche. Décale les bits de X vers la gauche, du nombre Y de positions de bit. Le signe est conservé.
>> | X >> Y | Décalage à droite. Décale les bits de X vers la droite, du nombre Y de positions de bit. Le signe est conservé.
>>> | X >>> Y | Remplissage par des zéros, décalage à droite. Décale les bits de X vers la droite, du nombre Y de positions de bit et remplace les bits décalés vers la gauche par des zéros. Le signe n'est pas conservé.

Remarque :

- AND/OR/XOR retourne toujours une valeur entière non signée 32 bits.
- Lorsque la valeur entrée est négative, les expressions de décalage de bit retourne une valeur entière 32 bits.
- Lorsque la valeur entrée est positive, les expressions de décalage de bit retourne une valeur entière non signée 32 bits.

Remarque :

Le résultat de l'expression mathématique contient des décimales.

(Exemple 1)
Dans le cas suivant, si la valeur de INT1 est 101, le résultat est 10.1 (.1 n'est pas tronquée).

##### Bloc

##### Texte

'INT1 / 10'

Pour tronquer les décimales, utilisez le bloc floor.
(Exemple 2)
Dans le cas suivant, si la valeur de INT1 est 101, le résultat est 10.

##### Bloc

##### Texte

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

## Condition de comparaison

Ce bloc est en condition de comparaison. Insérez un bloc de valeurs dans l'opérande de gauche (X) et l'opérande de droite (Y) et sélectionnez un opérateur.

##### Bloc

##### Texte

'CONDITION1 == CONDITION2'

Opérateur | Description | Exemple
<= | Renvoie vrai si la valeur de X est inférieure ou égale à la valeur de Y. | Si X = 7 et Y = 33, then l'expression X <= Y est vraie.
>= | Renvoie vrai si la valeur de X est supérieure ou égale à la valeur de Y. | Si X = 32 et Y = 10, l'expression X >= Y est vraie.
< | Renvoie vrai si la valeur de X est inférieure à la valeur de Y. | Si X = 7 et Y = 38, l'expression X < Y est vraie.
> | Renvoie vrai si la valeur de X est supérieure à la valeur de Y. | Si X = 27 et Y = 14, l'expression X > Y est vraie.
!= | Renvoie vrai si la valeur de X est différente de la valeur de Y. | Si X = 7 et Y = 33, l'expression X != Y est vraie.
== | Renvoie vrai si la valeur de X est différente de la valeur de Y. | Si X = 5 et Y = 5, l'expression X == Y est vraie.

## Condition logique

Ce bloc est en condition logique. Insérez un bloc de valeurs dans l'opérande de gauche (X) et l'opérande de droite (Y) et sélectionnez un opérateur.

##### Bloc

##### Texte

'CONDITION1 && CONDITION2'

Opérateur | Description | Exemple
&& | Logical AND Renvoie vrai si les deux sont vrais. | Si X = vrai, Y = faux, l'expression X && Y est fausse. Remarque : Même si la valeur de l'un des opérandes peut être non définie, la condition logique qui en résulte peut être évaluée à faux si l'autre opérande est faux. Veuillez consulter le tableau ci-dessous.
X | Y | Résultat
non défini | non défini | non défini
non défini | vrai | non défini
non défini | faux | faux
vrai | non défini | non défini
faux | non défini | faux
|| | Logical Sum Renvoie vrai sauf si les deux entrées sont fausses. | Si X = vrai, Y = faux, l'expression X || Y est vraie. Remarque : Même si la valeur de l'un des opérandes peut être non définie, la condition logique qui en résulte peut être évaluée comme vraie si l'autre opérande est vrai. Veuillez consulter le tableau ci-dessous.
X | Y | Résultat
non défini | non défini | non défini
non défini | vrai | vrai
non défini | faux | non défini
vrai | non défini | vrai
faux | non défini | non défini

## Not

Ce bloc effectue la négation logique ou la négation des bits. Insérez un bloc de valeurs dans l'opérande (X) et sélectionnez un opérateur.

##### Bloc

##### Texte

'!SOURCE'

Opérateur | Description | Exemple
! | Logical NOT Renvoie l'inverse de la valeur booléenne. | Si X = faux, le résultat est vrai.
˜ | Bit NOT Renvoie la valeur inverse de chaque bit. Remarque : Lors de l'utilisation de nombres entiers, la longueur de bit des expressions de bit est toujours 32 bits. | Si X = 0011, le résultat est 1100.