布尔逻辑我哪里出错了?

时间:2012-09-07 15:28:52

标签: boolean-logic boolean-expression circuit

对于小型数字系统,当驾驶员下车时(b =车内驾驶员)但钥匙仍在车内时,我要求“车门不应锁定(a =车门锁)” c =内部钥匙)发动机,即使驾驶员已关闭门锁杆。(d =锁定杆关闭)。注意:如果驾驶员在车内(b)并请求门被锁定(d),然后门必须锁定(a)“。

我认为这可以分为两部分(整体表达式是1.第一组要求和2.“注”部分,所以1 + 2?)

对于第一部分,我认为布尔表达式看起来像这样:

a' = b' AND c AND d. 
a' = b'cd.

然后我尝试了双方的补充:     (a')'=(b'cd)'

......并使用德摩根定律......     a =(b'c)'+ d' ...然后再次使用德摩根定律......     a = b + c'+ d'。

但这不意味着“当驾驶员在车内或钥匙不在车内或车门锁杆未啮合时,车门应锁定。”这根本没有意义。

在第二部分(注意:)中,我得到了a = bd。那么,整体表达是否应该是以前的错误发音部分的补充?然后我会:a = b + c'+ d'+ bd。通过课堂上给出的棘手的分配属性,我想我可以将c'+ bd组件简化为(c'+ b)(c'+ d)。那么我有一个=(c'+ b)(c'+ d)+ b + d'。

这令人困惑;如果更多,我可以简化吗? (嗯,实际上,它首先可能不正确!)我哪里出错了,我该在哪里停下来?

1 个答案:

答案 0 :(得分:2)

我认为你的初步假设有问题,然后一切都崩溃了。你所拥有的是一个不完整的真值表:

a  b  c  d
?  0  0  0
?  0  0  1
?  0  1  0
0  0  1  1  <<< - this is the only data you have
?  1  0  0
?  1  0  1
?  1  1  0
?  1  1  1

实际上,如果你仔细阅读问题陈述,看起来d真的是“不关心”(因为它说“即使......”),所以你真的可能在你的真值表中有两个条目:

a  b  c  d
?  0  0  0
?  0  0  1
0  0  1  0
0  0  1  1
?  1  0  0
?  1  0  1
?  1  1  0
?  1  1  1

另一个可能的问题是你对a的解释。 a并不意味着“门应该锁定”,这意味着“门可以被锁定”,因为你指的是一个不应该可能的情况锁门。

如果我们假设上述所有未知案例的a为正(即门可以在所有其他情况下被锁定),那么我们有:

a  b  c  d
1  0  0  0
1  0  0  1
0  0  1  0
0  0  1  1
1  1  0  0
1  1  0  1
1  1  1  0
1  1  1  1

可表示为:

a = (b' AND c') OR b

即。如果以下情况之一,门只能被锁定:(i)司机在车外,钥匙不在车内或(ii)司机在车内。