离散数学1命题逻辑

离散数学1命题逻辑

ID:27840972

大小:144.00 KB

页数:11页

时间:2018-12-06

离散数学1命题逻辑_第1页
离散数学1命题逻辑_第2页
离散数学1命题逻辑_第3页
离散数学1命题逻辑_第4页
离散数学1命题逻辑_第5页
资源描述:

《离散数学1命题逻辑》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、南京工程学院实验报告课程名称离散数学实验项目名称实验学生班级K网络工程121实验学生姓名学号240121525实验时间11月1日实验地点信息楼实验成绩评定扌旨导教'丿帀签字年_月_日一、实验目的和要求真值表是命题逻辑中的一个十分重要的概念,利用它几乎可以解决命题逻辑中的所有问题。例如,利用命题公式的真值表,可以判断命题公式的类型、求命题公式的主范式、判断两命题公式是否等价,还可以进行推理等。本实验通过编写一个程序,让计算机给出命题公式的真值表,并在此基础上进行命题公式类型的判定、求命题公式的主范式等。目的

2、是让学生更加深刻地理解真值表的概念,并掌握真值表的求解方法及其在解决命题逻辑中其他问题中的应用。二、实验主要仪器和设备计算机三、实验方法与步骤(需求分析、算法设计思路、流程图等)(1)求任意一个命题公式的真值表。(2)利用真值表求任意一个命题公式的主范式。(3)利用利用计算机求命题公式真值表的关键是:①给出命题变元的每一组赋值;②计算命题公式在每一组赋值下的真值。真值表中命题变元的取值具有如下规律:每列中0和1是交替出现的,且0和1连续出现的个数相同。n个命题变元的每组赋值的生成算法可基于这种思想。含有n

3、个命题变元的命题公式的真值的计算采用的方法为“算符优先法”。为了程序实现的方便,约定命题变元只用一个字母表示,非、合収、析収、条件和双条件联结词分别用!、&、I、一、+來表示。算符之间的优先关系如表1・32所示:表1-32算符优先级+=

4、&!()@+><<<<<>>—>><<<<>>1>>><<<>>&>>>><<>>!•>>>>><>>()<<<<<<——E>>>>>E>>@<<<<<

5、般是一对刮号,可以一起消除“E”代表表达式错误,一般不会出现为实现算符优先算法,我们采用两个工作栈。一个称作OPTR,用以寄存运算符;另一个称作OPND,用以寄存操作数或运算结果。算法的基本思想是:(1)首先设置操作数栈为空栈,符号“@”为运算符的栈底元素;(2)调用函数Divi(exp,myopnd)得到命题公式包含的命题变元序列myopnd(按字典序排列,同一个命题变元只出现一次);(3)依次读入命题公式中的每个字符,若是命题变元则其对应的赋值进OPND栈,若是运算符,则和OPTR栈的栈顶运算符比较后

6、作相应操作,直至整个命题公式求值完毕。真值表进行逻辑推理。四、实验原始纪录(源程序、数据结构等)#includeHstdio.hH#include#includetypedefstructoptrstack{charoper[30];intloc;JOPStack;voidinitop(OPStack&op)op.loc=0;for(i=0;i<30;i++)op>oper[ij=,t;voidpush(OPStack&op9charc){op.oper[opelo

7、c++]=c;}charpop(OPStack&op){return(opeoper[—opeloc]);}typedefstructopndstack{intoper[60];intloc;JOPndStack;voidinitopnd(OPndStack&op){inti;op.loc=0;for(i=0;i<30;i++)op.oper[i]=,,;}voidpushopnd(OPndStack&op,intc){op.oper[op.loc++]=c;}intpopopnd(OPndStack

8、&op){return(op.oper[—op.locj);}voidinit(chars[]){intt;pnntf(n请输入任意一个命题公式(命题变元为一个字符)");printf(”非、析取、合取、条件、双条件词分别用符号!、

9、、&、・、+表示”);gets(s);t=strlen(s);s[t+l]=,O,;}intis_optr(charc)charoptr_list[]=lf+-

10、&-0@M;for(inti=0;i<(int)strlen(optr_list);i++)if(c

11、==optr_list[il)return1;return0;}charfirst(charopl9charop2){chartab[8][9]={HX««»t>»<«»f«««=EtH«««E=f};charoptrJist[]=M+.

12、&!()@H;//>R条件、条件、析取、合取、非intopl_loc,op2_loc;for(opl_loc=0;opl_loc<(int)strlen(optr_list);o

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。