离散数学真值表(c语言编程实现),C语言 实现离散数学合式公式真值表

我们介绍了什么是合式公式以及怎样用C语言实现判断机制

现在我们来谈谈怎样用C语言去实现合式公式的真值表。

1cdd7f13cbcd4c7eaac0a975843cc1ef.jpg

该程序功能就是任意给定一个合式公式我们都能把它的真值表输出出来。

步骤1: 引用上一篇的程序,你给我一个公式首先我得知道它是不是合式公式,这就用到了判断一个公式是否合式公式的方法(详情参照我的上一篇博客)

步骤2: 经过步骤1的检查,我们知道该公式是合式公式,那么就要求真值表了。求真值表本质上也是一个递归的过程,见下图

dee21f62eb19d2c0c5ecdaa1a2870e68.pngfa73418d248742658f623f7a91fb41ee.png

步骤3:我们知道了真值表也是个递归的过程,但是合式公式本身只是一串字符无法进行0和1的运算,我们可以让它带上值

利用一下结构体

typedef struct //储存变量带值

{

char ch[Object] ;//储存变量名

bool value[Object] ;//用来放0和1

}Val ;

这样我们就可以把每个变量进行带值运算了 ,当然这里还要把变量从合式公式中抽取出来在放到结构体中。

步骤4:计算变量个数,将变量赋值到结构体数组中

f012c8c140544cf2aa49b33ddaf0a925.jpge1db874bc3a860c4415655f2aa049353.png

步骤5  二级制赋值

8a53bbff985f2ab8ca8843f1d63f1572.png

步骤6:按分解过程进行计算

最终效果如下

ee284c321760cf7c4edd08b7ef7241c9.png

下载链接:https://download.csdn.net/download/p_xiaojia/9756173

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值