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_VAR
iVar := 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