如何简化这些复合逻辑表达式?
!((x <= 5) && (y == 10) && (z < 5)) // 1
!(x == 10) || !((y == 5) || (z < 0)) // 2
我已阅读简化规则,但我不明白如何处理==
。
这是来自E Balagurasy编写的“ANSI C编程” 在设计决策语句时,我们经常遇到逻辑NOT运算符应用于复合逻辑表达式的情况,例如!(x&amp;&amp; y ||!z)。然而,积极的逻辑总是容易阅读和理解而不是消极的逻辑。在这种情况下,我们可以应用所谓的De Morgan规则使总表达式为正。规则如下:“通过将NOT运算符应用于每个逻辑表达式组件来删除括号,同时补充关系运算符。”示例:!(x&amp;&amp; y ||!z)变为!x || !y&amp;&amp; ž。
答案 0 :(得分:0)
我会给你一些提示,以免你为你做作业:
!(a || b || c) = (!a && !b && !c)
!(a && b && c) = (!a || !b || !c)
!(a == b) = (a != b)
!(a <= b) = (a > b)
你应该可以从那里拿走它。