离散实验——真值表法求主合取(析取范式)范式ppt 最终版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014-12-30
四、核源自文库代码分析
转后缀表达式算法中 ,如果是左括号"(" ,则进栈连续出栈输 出,直到遇到")", 此时是遇到右括号, 当没有出栈到底,如 果遇到"(",停止出栈 输出,反之连续出栈 。否则,就是格式错 误,少了右括号。
2014-12-30
四、核心代码分析
书上定义的优先级由 高到低:为等价、蕴 含、析取、合取、取 反。代码中用一个枚 举类型给五个关系赋 值,优先级越大,赋 值越大。在 ConvertToPostfixEx p函数中,代码部分 通过判断条件,考虑 到优先级的次序问题
2014-12-30
六、程序运行结果
2014-12-30
六、程序运行结果
2014-12-30
2014-12-30
2014-12-30
五、调试过程中的问题及解决方法
当输入公式RT^Q时,得到了错误的结果。
当输入公式 RT^Q时,得 到了错误的 结果。 左图加黑部 分为解决方 法
2014-12-30
五、调试过程中的问题及解决方法
在添加了以上两段程序中加粗部分后,解决了在for循 环中,由于后缀表达式读取结束时,所有变量并不是都参与 了命题公式的运算,使处在栈的变量真值被忽略(就像例子 中的R一样),从而导致了错误的输出的问题。 由于for循环结束,R的真值0没有参与命题表达式的运 算,此时判断栈内元素所对应的数组下标是否大于1,如果 大于1,则证明栈内还有元素没有弹出。返回一个值-1,标记 为输入格式错误。在value即真值赋值时出现-1,报错,提 示需要修改输入的表达式。
2014-12-30
二、实验目的
真值表是命题逻辑中的一个十分重要的概念,利 用它几乎可以解决命题逻辑中的所有问题。例如,利 用命题公式的真值表,可以判断命题公式的类型、求 命题公式的主范式、判断两命题公式是否等价,还可 以进行推理等。 本实验是通过编写一个程序,让计算机给出命题 公式的真值表,并在此基础上进行命题公式类型的判 定、求命题公式的主范式等。目的是让我们更加深刻 地理解真值表的概念,并掌握真值表的求解方法及其 在解决命题逻辑中其他问题中的应用。
2014-12-30
三、代码运行流程
2014-12-30
四、核心代码分析
paramCount用于存储表达式中的变量个数, assignCount用于存储具体有多少种赋值方式。 本代码主要通过对数据左移运算来实现。举个例 子,比如表达式中有变量P,Q,R,那么变量个数就是3 ,也就是paramCount等于3,十进制1转换为二进制为 0000 0001,通过左移运算符<<向左移动3位,为: 0000 1000,那么将此二进制转化为十进制为:=8,即3 个变量有8种赋值方式,再将8赋值给assignCount变 量,即可实现真值赋值功能。
——第五组
实验名称: 利用真值表法求取主析取范式以及主和取范 式的实现
组长: 组员:
ppt制作:
2014-12-30
一、程序开发过程
一、组长宣布实验内容、组员任务分配。 二、负责程序的组员上网寻找相关源代码。召开第一次实验小组会议,主 要会议内容:小组成员合力分析代码,弄懂代码的流程顺序,主要函数功 能,代码的不足,需要改进的地方。 三、负责ppt的组员负责会议记录,并且将ppt的底稿做好,交与其他组员 完善自己负责部分内容。 四、负责程序的组员将程序需要改进的地方改好,并且将设计思想和负责 问答的同学交流探讨。 五、程序运行成功后,召开第二次实验小组会议,主要会议内容:每个组 员交流总结自己参与实验的心得,听取组员意见,组长点评各组员工作情 况。 六、通过ppt的形式展示小组实验成果,在与老师的问答过程中发现弥补 此次实验的不足之处,加以总结反思。