一、逻辑的基本思路
1、什么是逻辑?
逻辑是消除自然语言的歧义、严密准确的记述事物的工具。
2、命题及其真假
能够判断对错的陈述句,叫做命题。
命题正确时,称该命题为“真”
命题不正确时,称该命题为“假”
3、兼顾完整性和排他性
具备完整性,说明该规则无论在什么情况下都适用;
具备排他性,说明该规则不存在矛盾之处。
if语句的条件分支,体现了“兼顾完整性和排他性的分解”。
二、建立复杂命题
1、逻辑非 ——不是A
“不是......”的命题运算称作非,英语中用not表示,假设某命题为A,则A的逻辑非表达式写作:
﹁ A(not A)
●命题A为true时,命题﹁ A为false,命题﹁﹁ A为true
●命题A为false时,命题﹁ A为true,命题﹁﹁ A为false
2、逻辑与 —— A并且B
“A并且B”的命题称作逻辑与,英语中用and表示,命题“A并且B”用逻辑表达式写作:
A∧B(A and B)
●仅当A和B都为true时,A∧B才为true
3、逻辑或 —— A或者B
“A或者B”的命题运算称作逻辑或,英语中用or表示,命题“A或者B”用逻辑表达式写作:
A∨B(A or B)
● A和B至少有一个为true时,才为true
●当A和B都为false时,才为false
4、异或 —— A或者B(但不是都满足)
“A或者B(但不是都满足)”的运算称作异或,英语中称作exclusive or,它和逻辑或相似,但是在A和B都为true或者false的情况下有所不同,它的逻辑表达式写作:
A⊕B
●当A和B不同时,才为true
5、相等 —— A和B相等
它的逻辑表达式写作:
A=B
●当A和B都为true时,A=B为true
●当A和B都为false时,A=B为true
三、德●摩根定律
1、什么是摩根定律?
(﹁ A)∨(﹁ B)=﹁ (A∧B):“非A”或者“非B”和非“A与B”是等价的
(﹁ A)∧(﹁ B)=﹁ (A∨B):“非A”并且“非B”和非“A或B”是等价的
2、对偶性
在逻辑表达式中分别将true和false、A和﹁ A、∧和∨进行互换,就能得到该逻辑表达式的否定式。如下:
true ←→ false
A ←→ ﹁ A
∧ ←→ ∨
它们相互成对,这称作逻辑表达式的对偶性。
四、包含未定义的逻辑
程序经常会因为发生错误,导致退出、崩溃等,得不到true和false中的任意一个值,为了能表示这种得不到的值的情况,又新引入了一个undefined的值。即true、false、undefined三值逻辑。
1、带条件的逻辑与(&&)
它使用运算符&&,将A和B的带条件的逻辑与表示为:A&&B
●不包含undefined的行,A&&B与和A∧ B相等;
● A为true时,A&&B与B相等;
● A为false时,A&&B恒为false;
● A为undefined时,A&&B恒为undefined。
在判断A与B的真假值时,应根据条件A看是否需要看B,因此称为带条件的逻辑与。
2、带条件的逻辑或(||)
它使用运算符||,将A和B的带条件的逻辑或表示为:A||B
●不包含undefined时,A||B与A∨相等;
● A为true时,A||B恒为true;
● A为false时,A||B与B相等;
● A为undefined时,A||B恒为undefined。
3、三值逻辑中的否定(!)
它的否定式写作:!A
●不包含undefined时,!A和﹁ A相等;
●若A为undefined时,!A恒为undefined。
4、三值逻辑的摩根定律
(!A)||(!B)=!(A&&B)
(!A)&&(!B)=!(A||B)