离散数学实验报告

2020-02-21 12:39

重 庆 交 通 大 学

学 生 实 验 报 告

实验课程名称 离散数学 开课实验室 数学实验室 学 院 理学院 专 业 信息与计算科学

学 生 姓 名 谭冰 学号 631122020212 班级 2班

开 课 时 间 2011 至 2012 学年第 二 学期

教师评语: 总 成 绩 教师签名 - 1 -

目录

实验一:教材第17页习题(1)(b);教材第39页习题(4)(b) …………3. 实验二:教材第127页习题(2)(b); 教材第113页习题(2)(b) .............. 9

- 2 -

实验一(此实验包含两题)

一、实验内容

1. 从键盘输入两个命题变元P和Q的真值,求它们的非,合取,析取,条件和双条件的真值。 2. 求任意一个命题公式的真值表。 二、实验目的

熟悉掌握命题逻辑中的联接词,真值表,主范式等,进一步能用它们来解决实际问题。 三、实验环境

MATLAB软件的编程环境实现

四、实现两题的算法与原理(教材第17页习题(1)(b),39页习题(4)(d))

根据析取,合取的定义可用简单的算术运算求出结果,并将结果转换成逻辑值。同样根据等价关系可将条件式及双条件式转换成析取和合取的运算。 五、实验数据及结果分析 实验所用函数:

function y=Not(x) if x==0 y=1; else y=0; end

function m=Vee(x,y) if x==0&y==0 m=0;

- 3 -

else m=1; end

function y=Wedge(P,Q) if P==1&Q==1 y=1; else y=0; end

function y=If(P,Q) y=Vee(Not(P),Q); end

function y=Hh(P,Q,R) y=Vee(Wedge(P,R),If(P,Q)); end

function y=Ss(P,Q,R)

y=Wedge(If(P,Wedge(Q,R)),If(Not(P),Wedge(Not(Q),Not(R)))); end

A=[0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1];

P=A(:,1); Q=A(:,2); R=A(:,3);

In=input(‘请输入含有三个变元的命题公式:’); S={‘真值表为’};

T=num2str([P,Q,R,In]); T%保存命名为Zzb

'此为求(P→(Q∧R))∧(?P→(?Q∧?R))主析取范式、主合取范式的程序,并判断是否为重言式,以K代替其真值'

P=[0 0 0 0 1 1 1 1]; Q=[0 0 1 1 0 0 1 1]; R=[0 1 0 1 0 1 0 1]; ' P Q R'

- 4 -

Z=[P;Q;R]'

K=Wedge(If(P,Wedge(Q,R)),If(Not(P),Wedge(Not(Q),Not(R)))); '主析取范式:' A=[]; V=[];

for i=find(K) switch i case 1

A=[A,'(?P∧?Q∧?R)∨']; case 2

A=[A,'(?P∧?Q∧R)∨']; case 3

A=[A,'(?P∧Q∧?R)∨']; case 4

A=[A,'(?P∧Q∧R)∨']; case 5

A=[A,'(P∧?Q∧?R)∨']; case 6

A=[A,'(P∧?Q∧R)∨']; case 7

A=[A,'(P∧Q?∧R)∨']; case 8

A=[A,'(P∧Q∧R)']; otherwise '此为永假式' end end A

'主合取范式'

for i=find(Not(K)) switch i case 1

V=[V,'(P∨Q∨R)∧']; case 2

V=[V,'(P∨Q?∨R)∧']; case 3

V=[V,'(P∨?Q∨R)∧']; case 4

V=[V,'(P∨?Q∨?R)∧']; case 5

V=[V,'(?P∨Q∨R)∧']; case 6

V=[V,'(?P∨Q∨?R)∧']; case 7

- 5 -


离散数学实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Linux硬盘扩容LVM逻辑卷管理详细操作手册(个人实际操作整理版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: