《从键盘输入两个命题变元P和Q的真值-求它们的合取、析取、蕴含和等价的真值(共12页).doc》由会员分享,可在线阅读,更多相关《从键盘输入两个命题变元P和Q的真值-求它们的合取、析取、蕴含和等价的真值(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上长治学院离散数学实验报告专 业: 计算机科学与技术 班 级: 计科1202班 学 号: 姓 名: 武文超 组 别: 1 指导老师: 李艳玲 2013.11.302013.12.21专心-专注-专业目录一、实验目的3二、算法思想3三、流程图4四、实验结果(截图)5五、程序代码7六、总结10一、实验目的本实验课程是信息专业学生的一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算;通过实验提高学生编写实验报告、总结实验结果的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。熟悉掌握合取、析取、蕴涵和等价,进一步能用
2、它们来解决实际问题。二、算法思想1. 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、蕴含和等价的真值。(1)合取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题PQ, 读作P、Q的合取, 也可读作P与Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = T时方可PQ =T, 而P、Q只要有一为F则PQ = F。这样看来,PQ可用来表示日常用语P与Q, 或P并且Q。(2)析取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题PQ, 读作P、Q的析取, 也可读作P或Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有
3、当两个命题变项P = F, Q = F时方可PQ =F, 而P、Q只要有一为T则PQ = T。这样看来,PQ可用来表示日常用语P或者Q。(3)蕴含:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题PQ, 读作P条件Q, 也可读作如果P,那么Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = F时方可PQ =F, 其余均为T。(4)等价:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题PQ, 读作P双条件于Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为当两个命题变项P = T, Q =T时方可PQ =T, 其余均为F三、流
4、程图:开始P为1或0输入P值NY输入Q值NP为1或0Y运算输出结果Y是否继续结束N求合取、析取、蕴含件和等价的真值流程图四、 实验结果(截图)进入界面正确运算结果错误控制和输入正确后退出五、程序代码#include int a,b;char c; void menu(); void shuru(); void yunsuan(); int main() menu(); yunsuan(); return 0; void shuru() printf(请输入P的值(0或1),以回车结束:); scanf(%d,&a); printf(请输入Q的值(0或1),以回车结束:); scanf(%d,&
5、b); void menu() printf(*n); printf(* *n); printf(* 欢迎来到逻辑运算软件 *n); printf(* *n); printf(*n); printf(n); void yunsuan() shuru(); while(a!=1 | a!=0) &(b!=1 | b!=0) ) if(a=1 | a=0) & (b=1 | b=0) break; printf(输入错误,重新输入n); shuru(); if(a=0 & b=0) printf(合取:n); printf( PQ=0n); printf(析取:n); printf( PQ=0n)
6、; printf(蕴含:n); printf( P-Q=1n); printf(等价:n); printf( PQ=1n); if(a=0 & b=1) printf(合取:n); printf( PQ=0n); printf(析取:n); printf( PQ=1n); printf(蕴含:n); printf( P-Q=1n); printf(等价:n); printf( PQ=0n); if(a=1 & b=0) printf(合取:n); printf( PQ=0n); printf(析取:n); printf( PQ=1n); printf(蕴含:n); printf( P-Q=0n
7、); printf(等价:n); printf( PQ=0n); if(a=1 & b=1) printf(合取:n); printf( PQ=1n); printf(析取:n); printf( PQ=1n); printf(蕴含:n); printf( P-Q=1n); printf(等价:n); printf( PQ=1n); printf(是否继续运算?(y/n)n); scanf(%c,&c); if(c=y) yunsuan(); else return;六、总结用连词把几个公式连接起来而构成的公式叫做合取,而此合取式的每个组成部分叫做合取项。一些合适公式所构成的任一合取也是一个合
8、取公式。形式为“p并且q”的复合命题,其中p和q都是命题并且叫做合取支。在命题演算中,合取式被符号化为“pq”,“pq”或者“p&q”。若把它当做真值函项,“p并且q”为真当且仅当p和q中每一个都真;如果有一个合取支为假,或两个合取支都假,则该合取式为假。我们可以从前提p和前提q推出结论“p并且q”,这叫做“合取规则”或“合取引入”。我们也可以从前提“p并且q”推出结论p或者推出结论q,这叫做“合取消除”。合取式还可以把多于两个的陈述组合在一起,如果能够断定所有这些陈述的话。用连词把几个公式连接起来所构成的公式叫做析取,而此析取式的每一组成部分叫做析取项。由一些合适公式所构成的任一析取也是一个
9、合适公式。在逻辑中,蕴涵(imply)是用在更弱的定义下。说复合命题 A=B 为真可简单地断言:若A为真,那么B也为真。换句话说,A=B 只是说不会同时有A真与B假,而不是说在通常意义下的A“引起”B。特别的,若A为假,那么对任何B,A=B 均为真。该命题容易使人误解,因为不存在任何途径使得命题A可能对命题B产生任何结果。对于两个命题A,B,如果AB且BA,则称命题A,B等价.记作AB. 若关系R在集合A中是自反、对称和传递的,则称R为A上的等价关系。所谓关系R 就是笛卡尔积AA 中的一个子集。通过这次实验,我学到了很多知识,离散数学、数据结构等。经过一个学期的学习,我对离散数学这门课程有了很大的了解。这次的实验让我对自己的专业也有了更进一步的了解,也使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的。只有把所学的理论知识与实践相结合起来,从理论中得出结论,从实践中验证理论,从而提高自己的实际动手和独立思考的能力才是成功之道。指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩1、设计过程中出勤、学习态度等方面0.12、设计技术水平0.43、编程风格0.24、设计报告书写及图纸规范程度0.3总 成 绩