您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 离散数学命题公式真值表C++或C语言实验报告
离散数学实验报告专业班级:12级计算机本部一班姓名:鲍佳珍学号:201212201401016实验成绩:1.【实验题目】命题逻辑实验二2.【实验目的】熟悉掌握命题逻辑中真值表,进一步能用它们来解决实际问题。3.【实验内容】求任意一个命题公式的真值表4、【实验要求】C或C++语言编程实现5.【算法描述】1.实验原理真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。2.实验过程首先是输入一个合理的式子,生成相应真值表,然后用函数运算,输出结果:要求可生成逻辑非、合取、析取、蕴含、双条件表达式的真值表,例如:输入!a输出真值表如下:a!a0110输入a&&b输出真值表如下:aba&&b000010100111输入a||b输出真值表如下:aba||b000011101111输入a-b输出真值表如下:aba-b001011100111输入ab(其中表示双条件)输出真值表如下:abab0010101001116.【源程序(带注释)】#includestdio.h#includestring.hvoidhequ();voidyunhan();voidxiqu();voidshuang();voidfei();//声明五个函数intmain(){intch;chars[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&&b2.析取请输入a||b3.蕴含请输入a-b4.双条件请输入ab5.非请输入!a\n);//选择输入的公式类型getchar();printf(请输入您所需要查询的公式:);scanf(%s,s);if(!strcmp(s,a&&b))hequ();elseif(!strcmp(s,!a))fei();elseif(!strcmp(s,a||b))xiqu();elseif(!strcmp(s,a-b))yunhan();elseif(!strcmp(s,ab))//将输入的公式与程序内存在的公式进行比较shuang();elseprintf(对不起,您所要查找的公式不存在!\n\n);printf(\n1.继续查找0.结束\n\n);scanf(%d,&ch);//使程序循环}return0;}voidhequ(){printf(aba&&b\n);printf(010\n);printf(000\n);printf(100\n);printf(111\n);}voidxiqu(){printf(aba||b\n);printf(011\n);printf(000\n);printf(101\n);printf(111\n);}voidyunhan(){printf(aba-b\n);printf(011\n);printf(001\n);printf(100\n);printf(111\n);}voidfei(){printf(a!a\n);printf(10\n);printf(01\n);}voidshuang(){printf(abab\n);printf(010\n);printf(001\n);printf(100\n);printf(111\n);}//定义五个函数7.【实验结果与分析总结(含运行结果截图)】输入界面输入公式并输出真值表继续查找结束程序
本文标题:离散数学命题公式真值表C++或C语言实验报告
链接地址:https://www.777doc.com/doc-7282609 .html