C语言 实现离散数学合式公式真值表

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

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

C语言 实现离散数学合式公式真值表_第1张图片

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

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

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

C语言 实现离散数学合式公式真值表_第2张图片C语言 实现离散数学合式公式真值表_第3张图片

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

  利用一下结构体

  typedef struct //储存变量带值 
  {
char ch[Object] ;//储存变量名
bool value[Object] ;//用来放0和1
  }Val ;

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

 

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

C语言 实现离散数学合式公式真值表_第4张图片C语言 实现离散数学合式公式真值表_第5张图片

  步骤5  二级制赋值

C语言 实现离散数学合式公式真值表_第6张图片

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

 

最终效果如下

C语言 实现离散数学合式公式真值表_第7张图片

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

你可能感兴趣的:(离散数学)