离散数学及其应用实验报告.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 2 浙江万里学院实验报告 成绩 成绩: 教师: 肖启莉 课程名称: 离散数学 实验名称: 数理逻辑实验 实验目的 ① 进一步理解有关数理逻辑的基本概念; ② 掌握真值表的求解方法; ③ 能够利用真值表解决命题逻辑中的相关问题。 实验内容 ① 分别编写函数,实现┓ 、∧、∨、→以及 ?运 算。要求在主函数输入命题变元P、Q的真值,并输出命题公式┓ P、 P ∧ Q、P∨Q、P→Q以及P ? Q的真值。 ② 编写程序,构造命题公式P∧Q∨R的真值表。 ③ 利用真值表,求命题公式P∧Q∨R的主范式。 ④ 利用真值表证明P →Q,┓(Q ∨R)┣ ┓P。 ⑤ *编写程序,构造任意一个命题公式的真值表。 ⑥ *编写程序,利用真值表求任意一个命题公式的主范式。 (其中2、3与5、6可以写成同一个程序) 实验过程 算法思想:要求输入P、Q实现┓ 、∧、∨、→以及 ?运 算; 可以用switch语句对其进行判断也可以用if-else语句。因为这一题与最后一题中的功能函数Opereat(a,op,b)类似。所以这里直接打印了他们的结果。 实验代码: 专业班级:计算机111姓名: 李俊 学号:2011014620 实验日期:2012.10 #include stdio.h void main() 调试报告:{ 调试报告: int P,Q; printf(请输入布尔型变量P的值(0或1),P=); scanf(%d,P); printf(\n请输入布尔型变量Q的值(0或1),Q=); scanf(%d,Q); printf(\n┓P=%d,(!P)); printf(\nP ∧ Q=%d,(PQ)); printf(\nP∨Q=%d,(P||Q)); printf(\nP→Q=%d,((!P)||Q)); printf(\nP←→Q=%d\n,((!P)(!Q))||((P)(Q))); } 算法思想:编写P∧Q∨R的真值表。 需要构建一个结构体存放这个真值表对其赋值再将其打印就可以得到真值表。 struct List { int P,Q,R; int answer; }a[8] 而主范式则是要对结构体遍历当a[i].answer为真时输出下标index就可以得到主范式最后用格式控制符’\b’取消掉最后一个析取符号。 实验代码: 专业班级: 姓 名: 学号: 实验日期: void main() { int p,q,r,i=0; for(p=0;p2;p++) //利用for循环为结构数组赋值 for(q=0;q2;q++) for(r=0;r2;r++) { a[i].P=p; a[i].Q=q; a[i].R=r; a[i].answer=(a[i].Pa[i].Q||a[i].R); i++; } printf(P\tQ\tR\tP∧Q∨R\n); for(i=0;i8;i++) //利用循环将结果打印 { printf(%d\t%d\t%d\t%d\n,a[i].P,a[i].Q,a[i].R,(a[i].Pa[i].Q||a[i].R)); } 调试报告: print(a); 调试报告: } void print(struct List a[]) { int i; printf(P∧Q∨R的主范式是:); 专业班级: 姓 名: 学号: 实验日期: for(i=0;i8;i++) { if(a[i].answer==1) { printf(m%d∨,i); } } printf(\b); } (4)算法思想:证明P →Q,┓(Q ∨R)┣ ┓P。只需构建结构数组存放这个真值表。 struct List { int P,Q,R; int answer1,answer2,answer3; }a[8]; 分别存放P →Q,┓(Q ∨R),┓P的真值当answer1和answer2都为真时若answer3也为真则返回ture若假则返回false 实验代码: void iniList(struct List a[]); //初始化这个结构数组 void print(struct List a[]); //打印这个主范式

文档评论(0)

132****1393 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档