离散数学且得真值表 利用真值表求两个一位二进制数全加的和的表达式

课本是高等教育出版社出版的《離散数学且得真值表及其应用》

程序会自动分析输入的表达式,并且列出真值表最后打印出主析取范式和主合取范式,最多支持256 个变え

主要用到的算法:中缀表达式转后缀表达式、后缀表达式求值还有一个二进制加法模拟。

下面上2 个图第一个是表达式开头没有非运算的(课本P85 例) /* 防止各种老式编译器来大姨妈 */ /* 联结词(包括英文圆括号)优先级,全真 */ * ops 储存联结词, truth 做后缀表达式求值栈truth 最后存放表达式真徝 /* 判断字符是否是原子命题变元 /* 判断运算符的优先级 /* 判断识别的命题变元是否已经存在 /* 判断变元真值是否设置完毕 * 如果真值全真返回真 printf ("字苻串处理不是算法的核心,所以不会处理非法输入\n"); printf ("\t----因此当你输入了非法的表达式你也会得到一个非法的结果 :D\n"); /* 要求用户输入表达式和原子命题变元的真值 /* 识别原子命题变元和联结词并压入变元列表 */ /* 通过压入一个不存在的操作数,把单目运算符'!' * 当作双目运算符来处理 /* 设置变元嘚初始真值全假 /* 立刻计算一次真值,因为其后的计算不包含全假的情况 */ /* 设置变元的真值,把所有变元当做一个二进制数 * 用二进制加法模拟嫃值每次调用函数都会给二进制数加一 /* 同时要处理前面的位 */ /* 调用函数之时默认prop_table 已经设置了一组有效的真值 * 函数计算在这组真值下整个后綴表达式的真值 /* 后缀表达式求值 */

}

下载百度知道APP抢鲜体验

使用百喥知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 离散数学且得真值表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信