构造命题公式的真值表--biaobiao88
对给出的任意一个命题公式(不超过四个命题变元),使学生会用C语言的程序编程表示出来,并且能够计算它在各组真值指派下所应有的真值,画出其真值表。
#include<iostream>
using namespace std;
struct
{
int p[] = {,,,};
int q[] = {,,,};
}m; int main()
{
cout << " p:";
for(int i = ;i < ;i++)
cout << m.p[i] << " ";
cout << endl;
cout << " q:";
for(int i = ;i < ;i++)
cout << m.q[i] << " ";
cout << endl;
//非p
cout << " 非p:";
int copyp[];
int k = ;
int feip[k];
for(int i = ;i < ;i++)
copyp[i] = m.p[i];
for(int i = ;i < ;i++)
{
if(copyp[i] == )
copyp[i] = ;
else
copyp[i] = ;
}
for(int i = ;i < ;i++)
{
feip[i] = copyp[i];
cout << copyp[i] << " ";
}
cout << endl;
//p交q
cout << "p合取q:";
for(int i = ;i < ;i++)
{
if(m.p[i] == || m.q[i] == )
cout << << " ";
else
cout << << " ";
}
cout << endl;
//p并q
cout << "p析取q:";
for(int i = ;i < ;i++)
{
if(m.p[i] == || m.q[i] == )
cout << << " ";
else
cout << << " ";
}
cout << endl;
//p蕴含q
cout << "p蕴含q:";
for(int i = ;i < ;i++)
{
if(feip[i] == || m.q[i] == )
cout << << " ";
else
cout << << " ";
}
cout << endl;
//p当且仅当q
cout << "p等价q:";
for(int i = ;i < ;i++)
{
if((m.p[i] == && m.q[i] == ) || (m.p[i] == && m.q[i] == ))
cout << << " ";
else
cout << << " ";
}
cout << endl;
return ;
}
运行结果:
以下代码为可输入的代码,用布尔值实现
#include<iostream>
using namespace std; void function(bool x,bool y)
{
bool m = x&y;
bool n = x|y;
bool a,b,c;
if(x == && y == )
a = ;
else
a = ;
if(y == && x == )
b = ;
else
b = ;
if(x == y)
c = ;
else
c = ;
cout << "p q ﹁p ﹁q p∩q p∪q p→q q→p p←→p p⊕q" << endl;
cout << x << " " << y << " " << !x << " " << !y << " ";
cout << m << " " << n << " ";
cout << a << " " << b << " " << c << " " << !c << endl;
} int main()
{
bool p,q;
int n;
cout << "请输入需要测试几组数据:";
cin >> n;
while(n--)
{
cout << "请输入命题p和命题q的真值:";
cin >> p >> q;
function(p,q);
}
return ;
}
运行结果:
构造命题公式的真值表--biaobiao88的更多相关文章
- C++实现求离散数学命题公式的真值表
一.实验内容 (1)求任意一个命题公式的真值表. (2)利用真值表求任意一个命题公式的主范式. (3)利用真值表进行逻辑推理. 注:(2)和(3)可在(1)的基础上完成. 二.实验目的 真值表是命题逻 ...
- [转]EXCEL如何使用动态公式
本文转自:http://tech.cncms.com/ruanjian/office/excel/95440.html 也许大家可能还不知道Excel中的动态公式是什么,所谓的动态公式,不是普通的公式 ...
- 【译】N 皇后问题 – 构造法原理与证明 时间复杂度O(1)
[原] E.J.Hoffman; J.C.Loessi; R.C.Moore The Johns Hopkins University Applied Physics Laboratory *[译]* ...
- 证明与计算(3): 二分决策图(Binary Decision Diagram, BDD)
0x01 布尔代数(Boolean algebra) 大名鼎鼎鼎的stephen wolfram在2015年的时候写了一篇介绍George Boole的文章:George Boole: A 200-Y ...
- 合(析)取范式转主合(析)取范式--》Java实现
这次老师布置了如下上机作业,不限语言.思前想后,问了几个大神,说了一堆不知道什么鬼的算法名称.... 经过一番百度,发现Java可以包含库然后使用JavaScript的一些函数,其中eval() 函数 ...
- 解释器模式 Interpreter 行为型 设计模式(十九)
解释器模式(Interpreter) 考虑上图中计算器的例子 设计可以用于计算加减运算(简单起见,省略乘除),你会怎么做? 你可能会定义一个工具类,工具类中有N多静态方法 比如定义了两个 ...
- PHP练习题一
目录:1.如何使用php导入导出csv?2.php接收POST数据的方式有哪些?3.如何让json_encode()不转义斜杠?我在做服务器返回一些数据时需要返回一些地址,但是默认的json_code ...
- Proposition
提供 \(k\) 个变量 \((k\leq 4)\) 可独立取值为 \(0,1\),两种运算分别等价于 \(\neg a\) 和 \(\neg a \lor b\) . 你需要恰好使用 \(n\) 个 ...
- Poj (3239),m皇后问题
题目链接:http://poj.org/problem?id=3239 构造法很牛逼啊,把这个搜索的题直接变成了打表. 我用dfs写了一下. 构造法公式(序列):一.当n mod 6 != 2 或 n ...
随机推荐
- jersey实现RESTful接口PUT方法JSON数据传递
项目中使用的是org.json包 maven中的配置如下: xml <!-- https://mvnrepository.com/artifact/org.json/json --> &l ...
- sed 常用命令 网址
https://wangchujiang.com/linux-command/c/sed.html https://linux.cn/article-11367-1.html https://juej ...
- 3-1 Pandas-概述
Pandas章节应用的数据可以在以下链接下载: https://files.cnblogs.com/files/AI-robort/Titanic_Data-master.zip Pandas:数据分 ...
- Windows隐藏用户小技巧
0x01 前言 本文目的在于对于Windows账户访问与控制的技术理论进行分析与总结,熟悉了解Windows账户的特性及相关操作,并依此进行Windows账户的相关实验,进行实验记录与总结.通过本文记 ...
- BCD解密
#include<stdio.h> int main(void) { int num; scanf_s("%d", &num); printf( * + num ...
- SQLAlchemy 多对多
创建多对多表 from sqlalchemy.ext.declarative import declarative_base Base=declarative_base() from sqlalche ...
- 跳表和ConcurrentSkipListMap解析
二分查找和AVL树查找 二分查找要求元素可以随机访问,所以决定了需要把元素存储在连续内存.这样查找确实很快,但是插入和删除元素的时候,为了保证元素的有序性,就需要大量的移动元素了. 如果需要的是一个能 ...
- luoguP1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)
题意 注:默认\(n\leqslant m\). 所求即为:\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}lcm(i,j)\) 因为\(i*j=\gcd(i, ...
- leetcode 561. 数组拆分 I
为了理解这种方法,让我们从不同的角度来看待问题.我们需要形成数组元素的配对,使得这种配对中最小的总和最大.因此,我们可以查看选择配对中最小值的操作,比如 (a,b)(a,b) 可能会产生的最大损失 ...
- 解决js 0.1 + 0.2 = 0.30000000000000004 的位数精度问题
https://www.html.cn/archives/7340 解决办法 parseFloat((0.1 + 0.2).toFixed(10))