寻找与给定乐趣相对应的逻辑连词:: Bool - >布尔 - >布尔

时间:2015-01-25 10:32:27

标签: haskell

以下问题出现在模拟考试中,我无法理解答案是如何产生的。 任何想要得出一个计算答案的方法的人都将在明天的考试中出现。

将每个函数定义与其实现的逻辑操作相匹配 问题正确匹配所选匹配

funA x True = x
funA _ _    = False
-- Correct A.   Logical AND


funB x False = x
funB x True  = not x
-- Correct B.   Exclusive OR


funC False _ = True
funC True x  = x
-- Correct C. Logical IMPLICATION

funD x False = x
funD _ True  = True
-- Correct D.  Logical (Inclusive) OR


funE x True  = x
funE x False = not x
-- Correct E.   Logical EQUIVALENCE

1 个答案:

答案 0 :(得分:3)

问题是将逻辑操作与实现它们的函数相匹配。 一种方法是简单地比较逻辑连接词的真值表 功能的。

例如,AND:

x    y    x AND y
-----------------
F    F       F
F    T       F
T    F       F
T    T       T

匹配

funA x True = x 
funA _ _ = False 

作为

x    y      funA x y
-------------------------
F    F         F
F    T         x == False
T    F         F
T    T         x == True

,其他类似的。

另一种选择是观察x AND y如果x为真并且y为真,则{{1}}为真,并查看哪个函数满足该条件。