逻辑判断与解题速录
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
2、逻辑或,运算符为||
如图电路
A —— 表示开关A合上;
A||B
A B B —— 表示开关B合上;
A||B —— 表示灯亮;
图 4.2
5
A
B
A || B
1
1
1
1
0
1
0
1
1
0
0
0
1 表示真,0 表示假
6
3、逻辑非,运算符为 !
两队比赛篮球,变量 A 表示 A 队到场,!A 表示 A 队不到场,变 量 B 表示 B 队到场,!B 表示 B 队 不到场。这场球赛能够赛成,得两 队都到场。假定 “能赛成” 用逻辑 变量 C 表示,则
D E !E CC6
含义
1 1 0 1 D作案,E也作案
1 0 1 1 D作案,E不作案
0 0 1 1 D不作案,E也不可能作案
可能 可能 可能
0 1 0 0 D不作案,E却作案
不可能
17
DE DE DE (DE DE) (DE DE) D(E E) E(D D) DE
DD E 10 E 11
19
A
B
C
D
E
F
0
0
ቤተ መጻሕፍቲ ባይዱ
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
…… ……
……
1
1
1
1
1
1
20
写一个从000000到111111的程序 for( A=0;A<=1;A=A+1) for( B=0;B<=1;B=B+1)
for( C=0;C<=1;C=C+1) for( D=0;D<=1;D=D+1) for( E=0;E<=1;E=E+1)
CC6=D || !E
以上是案情分析,已经化成了计算机可解的逻辑表达式
18
2、采取枚举方法,枚举什么呢?枚举组合
6个人每个人都有作案或不作案两种可能,因 此有26 种组合,从这些组合中挑出符合6条分析的 作案者。
定义 6 个整数变量,分别表示 6 个人A,B,C, D,E,F。
枚举每个人的可能性 ➢让 0 表示不是罪犯; ➢让 1 表示就是罪犯。
CC4 = (B && C) || (!B && !C)
B
C !B !C B&&C !B&&!C CC5
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
15
CC5:C、D中有且仅有一人作案
CC5=(C && !D) || (D && !C)
16
CC6:如果D没有参与作案,则E也不可能参与作案。 分析这一条比较麻烦一些,可以列出真值表再归纳
23
for( D=0;D<=1;D=D+1)
for( E=0;E<=1;E=E+1) for( F=0;F<=1;F=F+1) { cout<<A<<B<<C<<D<<E<<F
<<endl; } 循环体
24
for( A=0;A<=1;A=A+1)
for( B=0;B<=1;B=B+1) 循 for( C=0;C<=1;C=C+1) 环 for( D=0;D<=1;D=D+1) 体 for( E=0;E<=1;E=E+1) for( F=0;F<=1;F=F+1) { cout<<A<<B<<C<<D<<E<<F <<endl; }
CC2 = !( A && D )
11
CC2 = !( A && D )
A
D
A&&D
CC2
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
12
CC3:A、E、F 中至少有两人涉嫌作案 分析有三种可能 ➢ 第一种,A 和 E 作案,(A && E) ➢ 第二种,A 和 F 作案,(A && F) ➢ 第三种,E 和 F 作案,(E && F) 这三种可能性是 或 的关系,因此有
25
for (A=0; A<=1; A=A+1) for (B=0; B<=1; B=B+1) for (C=0; C<=1; C=C+1) for (D=0; D<=1; D=D+1) for (E=0; E<=1; E=E+1)
CC3 = (A && E)||(A && F)||(E && F)
我们写出 CC3 的真值表。
13
A
E
F
CC3
1
1
1
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
CC3 = (A&&E)||(A&&F)||(E&&F)
14
CC4:B和C或同时作案,或都与本案无关 ➢ 第一种情况:同时作案(B && C) ➢ 第二种情况:都与本案无关(!B && !C) 两者为或的关系,因此有
试编一程序,将作案人找出来。
2
为了解这道题,我们要研究逻辑运算符与逻辑表达式。
1、逻辑与,运算符为 &&
A
B
A&&B
如图电路
A —— 表示开关A合上; B —— 表示开关B合上; A&&B —— 表示灯亮;
图4.1
3
A
B
A&&B
1
1
1
1
0
0
0
1
0
0
0
0
1 表示真,0 表示假, 这是逻辑变量的取值,非真即假
for( F=0;F<=1;F=F+1) { cout<<A<<B<<C<<D<<E<<F
<<endl; }
21
for( F=0;F<=1;F=F+1) { cout<<A<<B<<C<<D<<E<<F <<endl; } 循环体
22
for( E=0;E<=1;E=E+1) for( F=0;F<=1;F=F+1) { cout<<A<<B<<C<<D<<E<<F <<endl; } 循环体
C = A && B
7
赛不成当然用 !C 表示,D= !C, D 表示赛不成 则 D = !A || !B
理解为 A 不到场或 B 不到场, 球赛无法进行。
8
思路: 1、案情分析:
将案情的每一条写成逻辑表达式, 第一条用 CC1 表示, 第二条用 CC2 表示, ……
9
CC1:A和B至少有一人作案 令 A 变量表示 A 作案,B 变量表示 B 作案
第四章 逻辑判断与解题思路
逻辑表达式
某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:
➢ A、B 至少有一人作案; ➢ A、E、F 三人中至少有两人参与作案; ➢ A、D 不可能是同案犯; ➢ B、C 或同时作案,或与本案无关; ➢ C、D 中有且仅有一人作案; ➢ 如果 D 没有参与作案,则 E 也不可能参与作案。
A
B
CC1
0
0
0
1
0
1
0
1
1
1
1
1
显然这是或的关系,有CC1= ( A || B )
10
CC2:A和D不可能是同案犯 可以分析为: ➢ A 如果是案犯,D一定不是案犯,写成
A && ( !D ) ➢ D 如果是案犯,A一定不是案犯,写成
D &&( !A ) ➢ A 和 D 都不是案犯,写成 (!A) && (!D) 这三者之间是或的关系,因此有