我在应用德摩根定律方面遇到了问题......反馈?

时间:2011-03-24 13:59:23

标签: c boolean-logic demorgans-law

每当我的作业中出现其中一个问题时,我就错了......任何人都可以帮助我理解吗?或老师的钥匙是关闭? (我无法知道,因为我没有给出正确的答案,它只让我知道我的错误。)

  

假设x = 7y = 5。应用De Morgan定律,选择下面的逻辑表达式,该表达式等同于以下逻辑表达式:!(x>5)||!(y>7)

     

(a) !(x>5)&&!(y>7)

     

(b) !((x>5)||(y>7))

     

(c) !(x>5)&&(y>7)

     

(d) (x>5)||!(y>7)

     

(e)以上都不是

我会选择B作为答案,但是因为到目前为止我已经把它们弄错了所以我害怕在没有一些帮助的情况下继续。

我理解这一点,你可以将两个!合并为一个,将它放在整个陈述的前面,改变:

!(a)||!(b)

!((a)||(b))

6 个答案:

答案 0 :(得分:6)

根据Wikipedia,de Morgan定律(对我来说这只是我知道的事情)是

NOT(P和Q)=(NOT P)OR(NOT Q)

在您的问题中,P映射到(x>5),Q映射到(y>7)。因此,!((x>5)&&(y>7))是您的答案。但是你的名单中没有这样的一个。 (如果这是你真正的问题,你的老师很草率,因为只有一个提议的答案有双圆括号,这是一个很大的线索 - 你可以排除b因为它仍然使用||并排除其他因为缺少双轮括号,直接进入e。)

如果你真的无法让这些东西停滞不前,请使用问题提供的样本值。 (如果需要,请进行一些修改。)x>5对于x = 7是正确的。对于y = 5,y>7为false。所以你有!true || !falsefalse || truetrue。评估每个可能的表达式,并排除那些没有得出相同答案的表达式。如果您仍然迷路,请选择不同的样本值并重复。其中一个可能的答案将保持匹配,或者没有任何一个可以让你选择“以上都不是”。即使你真的不明白为什么,这也会给你留下印记。

至于原因,这是因为&&||的相反行为。从&&获得真实的唯一方法是双方都是真的。从||得到错误的唯一方法是双方都是假的。如果您使用!翻转参数,则可以翻转运算符并获得相反的结果。

答案 1 :(得分:3)

在这里,看看De Morgan的定律:up http://en.wikipedia.org/wiki/De_Morgan's_laws!它不像你描述的那样,但是

NOT (P AND Q) = (NOT P) OR  (NOT Q)
NOT (P OR Q)  = (NOT P) AND (NOT Q)

请注意,AND变为OR。就像OR成为AND一样。否定(NOT)进入论证。

因此,对于!(x>5) || !(y>7),第一条规则适用,因为它与右侧相同,P(x>5)Q(y>7)。首先将运算符从||(OR)更改为&&(AND),然后将!(NOT)更改为前面。结果是

!(x>5) || !(y>7)   =   !((x>5) && (y>7))

如果有圆括号,它看起来就像是c,或者就像有&&而不是||。正是这些选项的答案是e。

答案 2 :(得分:2)

不,有效的转型是!(a)||!(b) - > !(a && b) - “和”而不是转化版本中的“或”。

你的表达是

!(x>5)||!(y>7)  ==  (x <= 5) || (y <= 7)

我认为不符合其中任何一个。我去找E。

答案 3 :(得分:1)

De Morgan的法律宣读:

  1. ¬(A或B)=¬A和¬B
  2. ¬(A和B)=¬A或¬B
  3. 请注意,您也必须绑定运算符。

    这个例子可能有助于澄清思考过程。

    如果我想要的东西不是红色或球,那么我所追求的既不是红色也不是球。但是,如果我想要的东西不是红色和球,那么我正在寻找一个不是红色或不是球的物体。

    因此表达式的重写将是

    !((X→5)及;&安培;(Y大于7))

    未给出(e)。

    然而,如果x = 7且y = 5,则(x> 5)但是!(y> 7),因此表达式!(x> 5)||(y> 7)的计算结果为真。 例如。我想要的东西不是红色(x> 5)或不是球(y> 7)而且我得到一个红色桶(假|| true)。

    [编辑]我打字太慢了。

答案 4 :(得分:1)

应用De Morgan定律(有两个,但有对称)会改变:

!(x&gt; 7)|| !(Y→5)

成:

!((x&gt; 7)&amp;&amp;(y&gt; 5))

我假设选项c应该是什么,但是你编写它的方式缺少外部括号。几乎所有东西都是正确的,你只是忘了操作员也会改变。

这是我知道处理De Morgan规则的最简单方法。假设你有这样的东西: ((A)OP(B)) 其中OP是“或”或“和”。确保编写所有括号,即使外部括号是多余的。现在否定所有括号并切换操作符“或”变为“和”,反之亦然。所以你得到的是: !(!(A)OTHER_OP!(B)) 现在你通常会得到双重否定,可以删除。但确定正确的结构(三个括号和匹配的运算符)是关键。

答案 5 :(得分:1)

你可以把德摩根定律视为切换。

设P,Q为命题,让OP为{AND,NOT}的元素。以下是:

  

NOT(P OP Q)=(NOT P)(不是OP)(非Q)

其中“NOT AND”表示OR,“NOT OR”表示AND。德莫根定律只是切换所有真值和算子。