[求助]编个程
[求助]编个程
请各位仁兄帮个忙.编个程.
题目是:布尔表达式求值算法.
布尔表达式
对于较复杂的条件,必须使用布尔表达式。布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而成的式子。布尔表达式的值也是一个布尔值。
Delphi提供了四种布尔运算符:And、 Or、 Not、 Xor见表:
运算符 名称 例子 说明
And 与 (4>5)and(3<4) 值为:False, 两个表达式的值均为真,结果才真,否则为假。
Or 或 (4>5)or (3<4) 值为:True,两个表达式中只要有一个为真,结果为真
Not 非 Not (1>0) 值为:False, 由真变假或由假变真,进行取“反”操作
Xor 异或 如果两个布尔表达式不同则为真
说明:
(1) 布尔运算符两侧若为数值数据,则将数值数据转换为二进制数(补码形式)进行按位运算
(2) 布尔运算真值表:
Not 由真变假,由假变真
And 对两个布尔值进行比较,如果两个值均为真,则结果为真,否则为假
Or 对两个布尔值进行比较,如果其中一个值为真,则结果为真,只有两个值都为假时,结果为假
a b a And b a Or b Not a a Xor b
True True True True False False
True False False True False True
False True False True True True
False False False False True False
题目是:布尔表达式求值算法.
布尔表达式
对于较复杂的条件,必须使用布尔表达式。布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而成的式子。布尔表达式的值也是一个布尔值。
Delphi提供了四种布尔运算符:And、 Or、 Not、 Xor见表:
运算符 名称 例子 说明
And 与 (4>5)and(3<4) 值为:False, 两个表达式的值均为真,结果才真,否则为假。
Or 或 (4>5)or (3<4) 值为:True,两个表达式中只要有一个为真,结果为真
Not 非 Not (1>0) 值为:False, 由真变假或由假变真,进行取“反”操作
Xor 异或 如果两个布尔表达式不同则为真
说明:
(1) 布尔运算符两侧若为数值数据,则将数值数据转换为二进制数(补码形式)进行按位运算
(2) 布尔运算真值表:
Not 由真变假,由假变真
And 对两个布尔值进行比较,如果两个值均为真,则结果为真,否则为假
Or 对两个布尔值进行比较,如果其中一个值为真,则结果为真,只有两个值都为假时,结果为假
a b a And b a Or b Not a a Xor b
True True True True False False
True False False True False True
False True False True True True
False False False False True False