实验二
来源:互联网 发布:郑州seo服务 编辑:程序博客网 时间:2024/06/05 01:54
命题逻辑推理
实验二 命题逻辑推理
【实验目的】加深对命题逻辑推理方法的理解。 【实验内容】用命题逻辑推理的方法解决逻辑推理问题。
实验用例:根据下面的命题,试用逻辑推理方法确定谁是作案者,写出推理过程。
1. 营业员A或B偷了手表;
2. 若A作案,则作案不在营业时间;
3. 若B提供的证据正确,则货柜末上锁;
4. 若B提供的证据不正确,则作案发生在营业时间;
5. 货柜上了锁。 \
【实验原理和方法】
- (1)符号化上面的命题,将它们作为条件,营业员A偷了手表作为结论,得一个复合命题。
- (2)将复合命题中要用到的联结词定义成C语言中的函数,用变量表示相应的命题变元。将复合命题写成一个函数表达式。
- (3)函数表达式中的变量赋初值1。如果函数表达式的值为1,则结论有效, A偷了手表,否则是B偷了手表。
用命题题变元表示:
- A:营业员A偷了手表
- B:营业员B偷了手表
- C:作案不在营业时间
- D:B提供的证据正确
- E:货柜末上锁
则上面的命题符号化为
- (A||B) && (!A||C) && (!D||E) && (D||!C) && !E
要求找到满足上面式子的变元A,B的指派便是结果。
#include<stdio.h>int main(){ int A,B,C,D,E; for(A=0;A<=1;A++) for(B=0;B<=1;B++) for(C=0;C<=1;C++) for(D=0;D<=1;D++) for(E=0;E<=1;E++) //(A || B)A作案或者b作案 //(!A || C)A没有作案或者作案不在营业时间 //(!D || E)B提供的证据不正确或者货柜未上锁 //(D || !C)B提供的证据正确或作案在营业时间 // !E货柜上锁了 if((A || B) && (!A || C) && (!D || E) && (D || !C) && !E) printf("A:%d,B:%d",A,B);}
运行结果 A=0,B=1
阅读全文
0 0
- 实验二 单链表实验
- 【实验二】串口实验
- 实验一&实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- 实验二
- Unity5.4打包AssetBundle
- maven日记:maven仓库地址
- Win10 64位安装Mongodb
- 未名湖边的烦恼
- spring boot 学习
- 实验二
- Microsoft Windows 桌面与 Arduino 聚首:创客的梦想?---凯利讯半导体
- 动态加载JS文件方法总结
- List集合中的对象根据属性排序
- 使用Flexible实现手淘H5页面的终端适配
- MD5加密
- 运维小白初入职场必备生存手册
- mysql 索引
- vagrant box add error