1 / 10
文档名称:

离散数学数理逻辑C 或C语言实验报告.doc

格式:doc   大小:141KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

离散数学数理逻辑C 或C语言实验报告.doc

上传人:分享精品 2017/12/12 文件大小:141 KB

下载得到文件列表

离散数学数理逻辑C 或C语言实验报告.doc

文档介绍

文档介绍:离散数学实验报告
专业班级:12级计算机本部一班姓名:鲍佳珍
学号: 2012********** 实验成绩:
1.【实验题目】
命题逻辑实验一
2.【实验目的】
熟悉掌握命题逻辑中的联接词,实现二元合取、析取、蕴涵和等价表达式的计算。熟悉连接词逻辑运算规则,利用程序语言实现逻辑这几种逻辑运算。
3.【实验内容】
从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、条件和双条件的真值。(A)
4、【实验要求】
C或C++语言编程实现
5. 【算法描述】

(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。

(1)A题部分,首先是对各个输入量的处理,要确定输入的为0或1,否则则为出错,接下来就是运算处理,在C语言中本身支持的有与或非这三种,可以用!,&&,||来表示,而在这个实验中,不是与或非的可以通过转化而变为与或非的形式,具体流程图如下:
开始
P为1或0
P为1或0
运算
是否继续
结束
Y
Y
Y
N
N
N
输入P值
输入Q值
输出结果
求合取、析取、条件和双条件的真值流程图
【源程序(带注释)】
#include<>
void xiqu(int m,int n);
void hequ(int m,int n);
void yunhan(int m,int n);
void shuang(int m,int n); // 声明四个自定义函数
int main()
{
int p,q,a;
printf("欢迎使用数理逻辑软件\n");
printf("请输入 P: ");
scanf("%d",&p);
while(p!=0&&p!=1){
printf("输入错误,请再次输入 P: ");//为满足P,Q不是1,0的情况
scanf("%d",&p);
}
printf("请输入 Q: ");
scanf("%d",