命令:反转 IF 语句
功能:该命令反转 IF
声明不改变语义 IF
陈述。条件被否定。中的陈述 THEN
和 ELSE
分支被交换。所有评论均被保留。
称呼:上下文菜单下 重构 命令
要求:光标位于任意位置 之内 一个 IF
陈述。
表 2. 否定规则
表达 | 否定表达 | 描述 |
---|---|---|
|
| “小于”的比较变为“大于”,反之亦然。 |
|
| “小于或等于”的比较变为“大于”,反之亦然。 |
|
| “等于”的比较变成“不等于”,反之亦然。 |
|
| 根据德摩根的否定 |
|
| 根据德摩根的否定 |
|
| 标准否定 |
|
| 没有双 |
|
| 评论被保留。这尤其适用于交换操作数 |
例 9. 例子
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;
调用具有相同语义的反转逻辑命令后的代码:
iVar := 0; IF (xA AND xB AND xC) THEN iVar := iVar + 1; (* ELSE counter*) ELSE iVar:= 1; (* IF 1 *) END_IF