Comando: Invertir declaración IF
Función: Este comando invierte el IF declaración sin cambiar la semántica de la IF declaración. La condición es negada. Las declaraciones en el THEN y ELSE Se intercambian ramas. Todos los comentarios se conservan.
Llamar: Menú contextual debajo Refactorización dominio
Requisito: el cursor se encuentra en cualquier lugar dentro un IF declaración.
Expresión | Expresión negada | Descripción |
|---|---|---|
|
| La comparación de "menor que" se convierte en "mayor que" y viceversa. |
|
| La comparación de "menor o igual que" se convierte en "mayor que" y viceversa. |
|
| La comparación de "iguales" se convierte en "no iguales" y viceversa. |
|
| Negación según De Morgan para |
|
| Negación según De Morgan para |
|
| Negación estándar |
|
| sin doble |
|
| Los comentarios se conservan. Esto se aplica especialmente para operandos intercambiados. |
PROGRAM Inversion1
VAR
xA, xB, xC : BOOL;
iVar : INT;
END_VARiVar := 0; IF NOT(xA AND xB AND xC) THEN iVar:= 1; (* IF 1 *) ELSE iVar := iVar + 1; (* ELSE counter*) END_IFiVar := 0;
Código después de llamar al comando con lógica invertida con la misma semántica:
iVar := 0;
IF (xA AND xB AND xC) THEN
iVar := iVar + 1; (* ELSE counter*)
ELSE
iVar:= 1; (* IF 1 *)
END_IF