离散数学真值表c语言实验报告,离散数学命题公式真值表C或C语言实验汇报.doc...

离散数学命题公式真值表C或C语言实验汇报

离散数学实验报告专业班级:12级计算机本部一班 姓名:鲍佳珍 学号: 201212201401016 实验成绩:1.【实验题目】命题逻辑实验二2.【实验目的】熟悉掌握命题逻辑中真值表,进一步能用它们来解决实际问题。3.【实验内容】求任意一个命题公式的真值表4、【实验要求】C或C++语言编程实现5. 【算法描述】1.实验原理真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。 真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。2.实验过程首先是输入一个合理的式子,生成相应真值表,然后用函数运算,输出结果:要求可生成逻辑非、合取、析取、蕴含、双条件表达式的真值表,例如:输入 !a输出真值表如下:a !a10

输入a&&b输出真值表如下:a b a&&b0 0 00 1 01 0 01 1 1

输入a||b输出真值表如下:a b a||b0 0 00 1 11 0 11 1 1

输入a->b输出真值表如下:a b a->b0 0 10 1 11 0 01 1 1

输入a<>b (其中<>表示双条件)输出真值表如下:a b a<>b0 0 10 1 01 0 01 1 1【源程序(带注释)】#include#includevoid hequ();void yunhan();void xiqu();void shuang();void fei();//声明五个函数int main(){int ch;char s[10];printf("欢迎使用命题公式真值表查找软件\n\n");printf("1.合取 2.析取 3.蕴含 4.双条件 5.非 0.结束查找\n");//软件使用界面的输出scanf("%d",&ch);while(ch){printf("\n\n您能查找真值表的命题公式有以下几种:\n\n");printf("1.合取请输入a&&b 2.析取请输入a||b 3.蕴含请输入a->b 4.双条件请输入a<>b 5.非请输入!a\n");//选择输入的公式类型

getchar();printf("请输入您所需要查询的公式:");scanf("%s",s);

if(!strcmp(s,"a&&b"))hequ();else if(!strcmp(s,"!a"))fei();else if(!strcmp(s,"a||b"))xiqu();else if(!strcmp(s,"a->b"))yunhan();else if(!strcmp(s,"a<>b"))//将输入的公式与程序内存在的公式进行比较shuang();elseprintf("对不起,您所要查找的公式不存在!\n\n");printf("\n 1.继续查找 0.结束 \n\n");scanf("%d",&ch); //使程序循环}return 0;}void hequ(){printf("a b a&&b\n");printf("0 1 0\n");printf("0 0 0\n");printf("1 0 0\n");printf("1 1 1\n");}void xiqu(){printf("a b a||b\n");printf("0 1 1\n");printf("0 0 0\n");printf("1 0 1\n");printf("1 1 1\n");}void yunhan(){printf("a b a->b\n");printf("0 1 1\n");pri

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值