Commande : Inverse l'instruction IF
Fonction: Cette commande inverse le IF
déclaration sans changer la sémantique de la IF
déclaration. La condition est niée. Les déclarations dans le THEN
et ELSE
les branches sont échangées. Tous les commentaires sont conservés.
Appel: Menu contextuel sous Refactorisation commande
Condition préalable : le curseur est positionné n'importe où dans un IF
déclaration.
Expression | Expression niée | Description |
---|---|---|
|
| La comparaison sur « inférieur à » devient « supérieur à » et vice versa. |
|
| La comparaison sur « inférieur ou égal à » devient « supérieur à » et vice versa. |
|
| La comparaison sur « égal » devient « n'est pas égal » et vice versa. |
|
| Négation selon De Morgan pour |
|
| Négation selon De Morgan pour |
|
| Négation standard |
|
| Pas de double |
|
| Les commentaires sont conservés. Ceci s'applique particulièrement aux opérandes échangés |
PROGRAM Inversion1 VAR xA, xB, xC : BOOL; iVar : INT; END_VAR
iVar := 0; IF NOT(xA AND xB AND xC) THEN iVar:= 1; (* IF 1 *) ELSE iVar := iVar + 1; (* ELSE counter*) END_IFiVar := 0;
Coder après avoir appelé la commande en logique inversée avec la même sémantique :
iVar := 0; IF (xA AND xB AND xC) THEN iVar := iVar + 1; (* ELSE counter*) ELSE iVar:= 1; (* IF 1 *) END_IF