ACSL

布尔代数

英国数学家 乔治 布尔,使用数学的方式描述自然语言

只有真假1,0

运算法则

"X" 代表"与"运算 (and) C++ : &&

"+"代表"或"运算 (or) C++ : ||

"~" 代表"非"运算 (not) C++ : !

交换律

a + b = b + a

a * b = b * a

结合律

( a + b ) + c = a + ( b + c )

( a * b ) * c = a * ( b * c )

分配律

a * (b + c) = a * b + a * c

双向分配律

(a + b)* (x + y) = ax + ay + bx + by

(豆浆 + 牛奶) * (包子 + 汉堡) 豆浆包子 + 豆浆汉堡 + 牛奶包子 + 牛奶汉堡

逆分配律

(a + b)* (a + c) = a + bc

德*摩根率

~ (a+b) = ~ a~b

~ (榴莲 + 菠萝) = ~榴莲 * ~菠萝

~ (a b) = ~a + ~b

如下两个是等价

if(a >= 'a' && a <= 'z'){
 //判断小写字母 
} 

if(!(a < 'a' || a > 'z')){ 
//判断小写字母 
}

化简

根据分配律等,对较长式子进行简化

化简技巧:

AA=A

AAB=AB

A ~ A = 0 解释:A和~A一定有一个是1另一个是0

A+~A=1 (解释同上)

~(A+B)+(A+B)=1

A+AB=A(1+B)=A

求解

依次代入对表达式求解

永真式(重言式)

只要永恒为真的,就叫永真式(重言式)

如 ~A+A 属于永真式

0 条评论

目前还没有评论...