联结词的逻辑运算 您所在的位置:网站首页 真值表的计算 联结词的逻辑运算

联结词的逻辑运算

#联结词的逻辑运算| 来源: 网络整理| 查看: 265

实验一 联结词的逻辑运算

一、实验目的 实现一元否定,以及二元合取、析取、蕴涵和等价命题公式的计算,熟悉联结词逻辑运算规则。 二、实验内容 从键盘输入两个命题变元p和q的真值,求p的否定运算的真值以及求p和q的合取、析取、蕴涵和等价运算的真值。要求对输入内容进行分析,如果不符合0、1条件需要重新输入,程序有良好的输入输出界面。 三、实验环境 采用C语言为编程语言实现。 四、实验过程参考

算法分析 (1)否定:p为1时公式值为0,否则为1; (1)合取:p,q都为1时公式值为1,其他为0; (2)析取:p,q都为0时公式值为0,其他为1; (3)蕴含:p为1,q为0时公式值为0,其他为1; (4)等价:p,q同真同假时公式值为1,其他为0。实验数据及结果分析 参考实验结果: #include #include int a,b,c; void color(short x) //自定义函根据参数改变颜色 { if(x>=0 && x printf("请输入P的值(0或1),以回车结束:\n" ); scanf("%d",&a); printf("请输入q的值(0或1),以回车结束:\n" ); scanf("%d",&b); while((a!=1||a!=0)&&(b!=1||b!=0))//两个数据进行统一验证 { if((a==1||a==0)&&(b==1||b==0)) break; color(4);printf("您的输入有误!请重新输入:\n"); color(16);input(); } /*if (a==1||a==0){}//两个数据进行分别验证 else { printf("P不能输入为%d\n",a ); color(4);printf("您的输入有误!请重新输入:\n"); color(16);input(); } if (b==1||b==0){} else { printf("q不能输入为%d\n",b ); color(4);printf("您的输入有误!请重新输入:\n"); color(16);input(); }*/ } void count() //计算过程 { color(6);printf("\tP\tq\t¬p\tp∧q\tp∨q\tp→q\tp﹤-﹥q\n");color(16); if(a==0&&b==0) { printf("\t0\t0\t1\t0\t0\t1\t1\n"); } if(a==0&&b==1) { printf("\t0\t1\t1\t0\t1\t1\t0\n"); } if(a==1&&b==0) { printf("\t1\t0\t0\t0\t1\t0\t0\n"); } if(a==1&&b==1) { printf("\t1\t1\t0\t1\t1\t1\t1\n"); } } void next() //继续进行计算 { printf("是否继续运算?(1/default)输入1继续:" ); scanf("%d",&c); if(c==1) { input(); count(); next(); } else { color(6);printf("感谢您的使用!\n");color(16); } } void main() { menu(); input(); count(); next(); }

误输入操作测试,相关操作数据及结果,如图1.2所示: 在这里插入图片描述 图2.2输入数据测试

2.3计算结果如图1.3所示 在这里插入图片描述 图1.3数据处理结果



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有