内容发布更新时间 : 2024/11/16 3:28:24星期一 下面是文章的全部内容请认真阅读。
离散数学实验报告
专业班级:12级计算机本部一班 姓名:鲍佳珍 学号: 201212201401016 实验成绩: 1.【实验题目】
命题逻辑实验一
2.【实验目的】
熟悉掌握命题逻辑中的联接词,实现二元合取、析取、蕴涵和等价表达式的计算。熟悉连接词逻辑运算规则,利用程序语言实现逻辑这几种逻辑运算。
3.【实验内容】
从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。(A)
4、【实验要求】
C或C++语言编程实现
5. 【算法描述】
1.实验原理
(1)合取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P∧Q, 读作P、Q的合取, 也可读作P与Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = T时方可P∧Q =T, 而P、Q只要有一为F则P∧Q = F。这样看来,P∧Q可用来表示日常用语P与Q, 或P并且Q。
(2)析取:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P∨Q, 读作P、Q的析取, 也可读作P或Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = F, Q = F时方可P∨Q =F, 而P、Q只要有一为T则P∨Q = T。这样看来,P∨Q可用来表示日常用语P或者Q。
(3)条件:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P→Q, 读作P条件Q, 也可读作如果P,那么Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P = T, Q = F时方可P→Q =F, 其余均为T。
(4)双条件:二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题P←→Q, 读作P双条件于Q。这个新命题的真值与构成它的命题P、Q的真值间的关系为当两个命题变项P = T, Q =T时方可P←→Q =T, 其余均为F。
2.实验过程
(1)A题部分,首先是对各个输入量的处理,要确定输入的为0或1,否则则为出错,接下来就是运算处理,在C语言中本身支持的有与或非这三种,可以用!,&&,||来表示,而在这个实验中,不是与或非的可以通过转化而变为与或非的形式,具体流程图如下:
开始 输入P值 N P为1或0 Y 输入Q值 N P为1或0 Y 运算 输出结果 Y 是否继续 N 结束 求合取、析取、条件和双条件的真值流程图
6. 【源程序(带注释)】 #include
void shuang(int m,int n); // 声明四个自定义函数 int main()
{
int p,q,a;
printf(\欢迎使用数理逻辑软件\\n\printf(\请输入 P: \scanf(\while(p!=0&&p!=1){
printf(\输入错误,请再次输入 P: \为满足P,Q不是
1,0的情况
printf(\输入错误,请再次输入 Q: \为满足P,Q不是 }
printf(\请输入 Q: \scanf(\while(q!=0&&q!=1){ scanf(\
1,0的情况
scanf(\
}
printf(\析取 2.合取 3.蕴含 4.双条件 0.退出 5.再次输入\\n\主界面
printf(\请输入选项:\scanf(\