求给定命题公式的真值表并根据真值表求公式的主范式

求给定命题公式的真值表并根据真值表求公式的主范式

ID:15892018

大小:209.00 KB

页数:20页

时间:2018-08-06

求给定命题公式的真值表并根据真值表求公式的主范式_第1页
求给定命题公式的真值表并根据真值表求公式的主范式_第2页
求给定命题公式的真值表并根据真值表求公式的主范式_第3页
求给定命题公式的真值表并根据真值表求公式的主范式_第4页
求给定命题公式的真值表并根据真值表求公式的主范式_第5页
资源描述:

《求给定命题公式的真值表并根据真值表求公式的主范式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、“离散数学”实验报告(求给定命题公式的真值表并根据真值表求公式的主范式)专业网络工程班级1202班学号12407442姓名张敏慧2013.12.14-19-目录一.实验目的3二.实验内容……………………………………………………………………….3求任意一个命题公式的真值表3三.实验环境3四.实验原理和实现过程(算法描述)31.实验原理32.实验流程图5五.实验代码6六.实验结果14七.实验总结19-19-一.实验目的本实验课程是网络工程专业学生的一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算;

2、通过实验提高学生编写实验报告、总结实验结果的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。熟悉掌握命题逻辑中的真值表、主范式等,进一步能用它们来解决实际问题。二.实验内容求任意一个命题公式的真值表,并根据真值表求主范式详细说明:求任意一个命题公式的真值表本实验要求大家利用C/C++语言,实现任意输入公式的真值表计算。一般我们将公式中的命题变元放在真值表的左边,将公式的结果放在真值表的右边。命题变元可用数值变量表示,合适公式的表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现的n个命题变元,同时它也是一个二

3、进制加法器的模拟器,每当在这个模拟器中产生一个二进制数时,就相当于给各个命题变元产生了一组真值指派。算法逻辑如下:(1)将二进制加法模拟器赋初值0(2)计算模拟器中所对应的一组真值指派下合式公式的真值。(3)输出真值表中对应于模拟器所给出的一组真值指派及这组真值指派所对应的一行真值。(4)产生下一个二进制数值,若该数值等于2n-1,则结束,否则转(2)。三.实验环境;使用visualC++6.0为编程软件,采用C语言为编程语言实现。四.实验原理和实现过程(算法描述);1.实验原理(1)真值表:-19-表征逻辑事件输入和输出之间全部可能状态

4、的表格。列出命题公式真假值的表。通常以1表示真,0表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。(2)主范式:主析取范式:在含有n个命题变元的简单合取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单合取式为小项。由若干个不同的小项组成的析取式称为主析取范式;与A等价的主析取范式称为A的主析取范式。任意含n个命题变元的非永假命题公式A都存在与其等价的主析取范式,并且是惟一的。主合取

5、范式:在含有n个命题变元的简单析取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单析取式为大项。由若干个不同的大项组成的合取式称为主合取范式;与A等价的主合取范式称为A的主合取范式。任意含n个命题变元的非永真命题公式A都存在与其等价的主合取范式,并且是惟一的。(2)首先是输入一个合理的式子,然后从式子中查找出变量的个数,开辟一个二进制函数,用来生成真值表,然后用函数运算,输出结果,并根据结果归类给范式,最后输出范式。函数部分,主要是3个函数,一个为真值表递加函数,通过二进制的加法原理递进产生,一个为分级运算

6、函数,这个函数是通过判断括号,选出最内级括号的内容执行运算函数,这样一级一级向外运算,最后得出最终结果,剩下一个为主运算函数,按照运算符号的优先级按顺序进行运算,如先将所有非运算运算完,再执行与运算。如此运算。-19-2.实验流程图如下:开始输入式子计算变量个数生成真值表输出真值表变量赋值运算式子输出结果归类主范式输出主范式结束循环是否结束YN主函数-19-开始检查括号是否是最内级括号运算内容是否是最后结果返回结果结束开始结束YYNN非运算与运算或运算蕴含运算等值运算返回结果主运算函数分级运算函数-19-五.实验代码#include"st

7、dio.h"#include"stdlib.h"#include"string.h"#include"conio.h"#include"math.h"#defineN50voidpanduan(intb[N],intf);//赋值函数inttkh(charsz[N],charccu[N],inticu[N],inth0);//分级运算函数intfkh(charsz[N],charccu[N],inticu[N],inth0);//主运算函数main(){inti1,i2,d=1,icu[N],kh=0,jg,j=0,h0;//icu[N]

8、用于存放变量值,kh括号计数,jg存放结果intbj=0,hq[N],h=0,x=0,xq[N];//hq[N]存放合取结果xq[N]存放析取结果charsz[N],ccu[N],sz0[N]

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

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

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