急求,小白不会啊!怎么用c语言小白,输入任意命题,用真值表的方法得到主析取范式和主合取范式

了解一下简单析取式和简单合取式简单析取式说白了就是有限个命题变项或者他们的否定用符号v连接起来的式子,比如p,?p,pvq,pv?q等简单合取式类似,但它用的符号是Λ。析取范式简单来说就是几个简单析取式的组合合取范式类似。

而主合取和主析取略微有些不同主析取是由极小项及符号v组成,极小项就昰简单合取式说白了主析取就是由符号v连接几个简单合取式组成,且他的每一个构成单位(极小项)的命题变项的个数都是一样的举個例子:(pΛq)v(qΛr),这不是主析取因为这个式子总共有三个命题变项,p,q,r,第一个单元pΛq并未包含r而第二个式子qΛr里也没有p,不完整不能成為主析取范式,这个时候我们想要让他成为主析取范式则要进行操作对第一个式子加上缺少的项r,怎么加呢答案是将第一个式子用(pΛq)Λ(rv?r)代替,因为极小项对应成真赋值交上一个rv?r原式并未改变然后合理运用分配律变换式子,使其变成主析取范式主合取刚好相反,主合取对应极大项成假赋值,对应如下:

主析取–极小项(简单合取式)–成真赋值(式子Λ(xv?x))
主合取–极大项(简单析取式)–成假赋值(式子v(xΛ?x))

析取范式变成主析取的时候结果出现的项对应的角码即其成真赋值未出现的为成假赋值,合取范式变成主合取嘚结果出现的项对应的角码即其成假赋值未出现的是成真赋值。(n个项对应2的n次方种情况其二进制角码转换成十进制数字即下标,如000對应m,001对应m1等)

}

我要回帖

更多关于 c语言小白 的文章

更多推荐

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

点击添加站长微信