有没有简单的方法来学习真值表?

时间:2012-01-08 21:15:10

标签: logic truthtable

我正在关注Ruby的在线教程,我正在提及真值表以及在继续之前我需要学习它们。

有没有简单的方法来学习它们?我只需要了解真假的构成吗?

4 个答案:

答案 0 :(得分:10)

不要记住真值表

重要的是理解用于计算真值表的函数。当您理解这些函数时,真值表将是显而易见的。

A OR  B: Either A or B    # cream OR sugar, T if either (or both), F if neither
A AND B: Both A and B     # cream AND sugar, T only when the coffee has both
A XOR B: One but not both # T only if sugar but no cream or if cream but no sugar
NOT   A: Kind of obvious  # NOT sugar, true if the tea has no sugar

A NAND B: NOT (A AND B)   # T unless both cream and sugar are in the tea
A NOR  B: NOT (A OR B)    # T only if there is no sugar and also no cream

答案 1 :(得分:1)

你真的只需要记住你的基本三,ORANDNOT,其余的可以从那里计算出来:

         (and)    (OR)  (not)
P    Q    P&Q     P|Q     ~P
T    T    T        T      F
T    F    F        T      T
F    T    F        T
F    F    F        F

XOR只是(P&Q)|(~(P|Q))

NAND只是~(P&Q)

一旦你理解了基本三,其他任何事情都很容易。

答案 2 :(得分:1)

你不需要真值表来学习Ruby,虽然它们并不那么难,但它们看起来比它们更可怕。

要了解本教程试图教你的内容,请转到命令行并输入irb,它将为您打开一个交互式Ruby,称为REPL。您可以使用布尔表达式,这意味着处理true和false的代码:

1.9.3-p0 :001 > true || false
 => true 
1.9.3-p0 :002 > (true || false) && false
 => false 
1.9.3-p0 :003 > false && true
 => false 
1.9.3-p0 :004 > false ^ true
 => true 
1.9.3-p0 :005 > !true
 => false 
1.9.3-p0 :006 > !!true
 => true
1.9.3-p0 :007 > exit

无论他们想用真值表教你什么,你都可以通过在互动环境中进行一些实验来更好地学习。

答案 3 :(得分:0)

如果您将这些抽象的truefalse值替换为明显的真实和虚假陈述,这可能会有所帮助。 这句话是真的吗?

Sugar is sweet AND grass is blue.

不,这显然是假的。 (T& F = F)

Sugar is sweet OR grass is blue.

是的,那是真的。 (T | F = T)

Sugar is sweet OR 1+1=2

唯一值得学习的是,计算机认为这是真的。 (T | T = T)