-5

如何简化这些复合逻辑表达式?

!((x <= 5) && (y == 10) && (z < 5))  // 1
!(x == 10) || !((y == 5) || (z < 0)) // 2

我已阅读简化规则,但我不明白如何处理==.

这是来自 E Balagurasy 编写的“Programing in ANSI C” 在设计决策语句时,我们经常遇到这样一种情况,即逻辑 NOT 运算符应用于复合逻辑表达式,例如 !(x&&y || !z)。然而,积极的逻辑总是比消极的逻辑更容易阅读和理解。在这种情况下,我们可以应用所谓的德摩根规则使总表达式为正。规则如下:“通过将 NOT 运算符应用于每个逻辑表达式组件来删除括号,同时补充关系运算符。” 示例:!(x&&y || !z) 变为 !x || !y && z。

4

1 回答 1

1

我会给你一些提示,以免为你做功课:

!(a || b || c) = (!a && !b && !c)

!(a && b && c) = (!a || !b || !c)

!(a == b) = (a != b)

!(a <= b) = (a > b)

你应该可以从那里拿走它。

于 2013-12-10T17:40:19.923 回答