C语言实现命题公式化为主范式

2020年04月03日 208点热度 4人点赞 1条评论

目前实现的功能:能够计算成真赋值,可以将任意合法命题公式化为主范式,可以输出真值表

目前bug : 不能对输入的命题公式检验合法性,如果不合法,运行结果是不确定的,程序崩溃,结果错误。

参考资料:波兰式或后缀表达式(百度),栈的使用。

实现原理:

直接实现命题公式的化简比较困难,但是可以先计算成真赋值和成假赋值,再根据成真赋值生成主范式就比较简单了, 计算成真赋值就是将命题变元提取,然后分别赋以一定的值,然后类似于上一篇文章《 C语言写科学计算器》 ,通过数字栈和符号栈的压栈和弹栈操作实现不同级别的运算符运算顺序。具体原理见代码

运行截图:

 

源代码下载:

立即下载

编译环境 visual studio 2019 community

Danny

我就如一粒石子,在随波逐流中,逐渐冲蚀了自己的棱角,变光滑,也变丑陋。

文章评论

  • LeahDing

    *ଘ(੭猪猪(ˉ(∞)ˉ) 少熬夜 盯ing

    2020年04月05日