- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
离散数学实验报告
PAGE I
目录
TOC \o 1-3 \h \z \u 第一章 实验概述 3
1.1 实验目的 3
1.2 实验内容 3
1.3 实验环境 3
第二章 实验原理和实现过程 4
2.1 实验原理 4
2.1.1 逻辑连接词的运算 4
2.1.2 真值表与主范式 4
2.2 实验过程(算法描述) 4
2.2.1 程序整体思路 4
2.2.2 实现实验A算法 4
2.2.3 实现实验BC算法 5
第三章 实验数据及结果分析 7
3.1主程序ABC.c的功能测试及结果分析 7
3.1.1输入数字“1” 7
3.1.2输入数字“2” 7
3.1.3输入数字“3” 8
3.1.4输入其他字符时 8
3.2 实验A的功能测试和结果分析 8
3.2.1测试数据为“p=T和q=F” 9
3.2.2测试数据为“p=F和q=F” 9
3.2.3测试数据为“p=A和q=F” 9
3.2.4测试数据为“p=T和q=A” 9
3.2.5测试数据为“p=F和q=F”,之后返回主界面 10
3.3 实验BC的功能测试和结果分析 10
3.3.1测试数据为“ab|c#” 10
3.3.2测试数据为“(ab)|(cd)#” 11
3.3.3测试数据为“(ab)|(cd)” 12
3.3.4测试数据为“ab|c” 13
第四章 实验收获和心得体会 14
4.1 实验收获 14
4.2 心得体会 14
第五章 实验源程序清单 15
5.1 主程序ABC.c的代码 15
5.2 头文件A.h的代码 17
5.3 头文件BC.h的代码 20
第一章 实验概述
1.1 实验目的
熟悉掌握命题逻辑中的联接词、真值表、主范式等,进一步能用它们来解决实际问题,具体说来,有以下几点——
1. 掌握离散数学中涉及的相关概念。
2. 培养学生的逻辑思维能力和算法设计的思想。
3. 熟练掌握C/C++语言程序设计的基本方法和各种调试手段。
4. 熟练掌握包括数组、链表以及邻接表或邻接矩阵等数据结构的建立和运用。
1.2 实验内容
1. 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。(A)
2. 求任意一个命题公式的真值表(B),并根据真值表求主范式(C)
注意:题目类型分为A,B,C三类,其中A为基本题,完成A类题目可达到设计的基本要求,其他均为加分题,并按字母顺序分数增加越高。
1.3 实验环境
C或C++语言编程环境实现。
第二章 实验原理和实现过程
2.1 实验原理
2.1.1 逻辑连接词的运算
真值表是数理逻辑中的一个重要概念,实践证明运用真值表可以解答数理逻辑的绝大部分问题,也无须高深的知识和技巧,具有直观明了的特点,尽管某些列表比较麻烦,但仍不失为是一种行之有效的好办法。
为了实现二元合取、析取、条件和双条件表达式的计算,可以充分利用联接词和逻辑运算符之间的相似性实现程序功能。
2.1.2 真值表与主范式
命题公式的主析(合)取范式具有重要的意义,根据公式的主析(合)取范式,不仅可以判断两个公式是否等价,而且还可以判断一个公式是否为永真式(重言式)或永假式(矛盾式)。
一般我们将公式中的命题变元放在真值表的左边,将公式的结果放在真值表的右边。命题变元可用数值变量表示,合适公式的表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现的n个命题变元,同时它也是一个二进制加法器的模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派。
2.2 实验过程(算法描述)
2.2.1 程序整体思路
本程序完成了实验所要求的全部功能,其基本思路是——“运用模块化的思想,将实现实验A内容和实验BC内容的程序分开编写,然后将它们以头文件A.h和BC.h的形式添加到主程序ABC.c中,在要使用不同的函数时,进行调用就可以完成相应的功能了。”
本程序的一大特色就是开发者同时使用了C语言和C++语言来进行开发,用C语言来开发主程序ABC.c和实验A.h头文件,用C++语言来开发实验BC.h头文件,通过编译实现了全部的功能。
2.2.2 实现实验A算法
在实验A中,为了实现二元合取、析取、条件和双条件表达式的计算,我充分利用联接词和逻辑运算符之间的相似性实现程序功能。
详细说来,编写了一个用于判断的函数,先将从键盘获取的“T”或“F”的字符转化为对应的1或0,然后运用C语言中的位运算符号进行相应运算,并且在显示屏上输出相应的真值。
值得注意的一点是,在本子程序中,开发者使用了“标志号”的概念来进行程序控制。具体说来就是,在进行程序检查时和退出实验A功能界面时使用了标志号进行程序的跳转,同时还有在进行输入判断时对输入函数进行控
您可能关注的文档
最近下载
- 2.3二次函数与一元二次方程、不等式(第1课时)课件(共19张PPT)2021-2022学年高一上学期人教A版(2019)数学必修第一册.pptx
- 5G赛前复习练习卷含答案.doc VIP
- 5G赛前复习复习测试题.doc VIP
- 职业技术学院数控技术专业《数控编程与操作》课程标准.docx
- 八年级数学上册专题12.1 全等三角形九大基本模型 专项讲练(解析版).docx VIP
- 《中华人民共和国烟草专卖法》知识测试卷含答案.doc VIP
- S7-1500Web服务器功能手册.pdf VIP
- Scratch圭小校本教材.pdf
- 5G赛前复习练习卷含答案(一).doc VIP
- 铝的阳极氧化和着色(华南师范大学物化实验).pdf
文档评论(0)