对给出的任意一个命题公式(不超过四个命题变元),使学生会用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的更多相关文章

  1. C++实现求离散数学命题公式的真值表

    一.实验内容 (1)求任意一个命题公式的真值表. (2)利用真值表求任意一个命题公式的主范式. (3)利用真值表进行逻辑推理. 注:(2)和(3)可在(1)的基础上完成. 二.实验目的 真值表是命题逻 ...

  2. [转]EXCEL如何使用动态公式

    本文转自:http://tech.cncms.com/ruanjian/office/excel/95440.html 也许大家可能还不知道Excel中的动态公式是什么,所谓的动态公式,不是普通的公式 ...

  3. 【译】N 皇后问题 – 构造法原理与证明 时间复杂度O(1)

    [原] E.J.Hoffman; J.C.Loessi; R.C.Moore The Johns Hopkins University Applied Physics Laboratory *[译]* ...

  4. 证明与计算(3): 二分决策图(Binary Decision Diagram, BDD)

    0x01 布尔代数(Boolean algebra) 大名鼎鼎鼎的stephen wolfram在2015年的时候写了一篇介绍George Boole的文章:George Boole: A 200-Y ...

  5. 合(析)取范式转主合(析)取范式--》Java实现

    这次老师布置了如下上机作业,不限语言.思前想后,问了几个大神,说了一堆不知道什么鬼的算法名称.... 经过一番百度,发现Java可以包含库然后使用JavaScript的一些函数,其中eval() 函数 ...

  6. 解释器模式 Interpreter 行为型 设计模式(十九)

      解释器模式(Interpreter)   考虑上图中计算器的例子 设计可以用于计算加减运算(简单起见,省略乘除),你会怎么做?    你可能会定义一个工具类,工具类中有N多静态方法 比如定义了两个 ...

  7. PHP练习题一

    目录:1.如何使用php导入导出csv?2.php接收POST数据的方式有哪些?3.如何让json_encode()不转义斜杠?我在做服务器返回一些数据时需要返回一些地址,但是默认的json_code ...

  8. Proposition

    提供 \(k\) 个变量 \((k\leq 4)\) 可独立取值为 \(0,1\),两种运算分别等价于 \(\neg a\) 和 \(\neg a \lor b\) . 你需要恰好使用 \(n\) 个 ...

  9. Poj (3239),m皇后问题

    题目链接:http://poj.org/problem?id=3239 构造法很牛逼啊,把这个搜索的题直接变成了打表. 我用dfs写了一下. 构造法公式(序列):一.当n mod 6 != 2 或 n ...

随机推荐

  1. 面向对象程序设计(Java) 第4周学习指导及要求

    2019面向对象程序设计(Java)第4周学习指导及要求(2019.9.17-2019.9. 23)  学习目标 掌握类与对象的基础概念,理解类与对象的关系: 掌握对象与对象变量的关系: 掌握预定义类 ...

  2. VMware10新建虚拟机

    1. 新建虚拟机 2. 选择 “典型(推荐)(T)” 安装 3. “稍后安装操作系统”,创建一个空白硬盘 4. 选择 “Linux” 的 “CentOS 64位” 5. 设置 “虚拟机名称” 和 “位 ...

  3. JDOJ 2254 Who am I?

    JDOJ 2254: Who am I? Description 输出程序自己本身的源代码. Input 无 Output 输出程序自己本身的源代码. 我真是搞不懂了出这道题还把它归到程序语法基础题里 ...

  4. goto命令

    GOTO会点编程的朋友就会知道这是跳转的意思. 在批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX跳转到标号:XXX处,然后执行标号后的命令. 例: }=={} goto noparm ...

  5. 每天一道Rust-LeetCode(2019-06-14)

    每天一道Rust-LeetCode(2019-06-14) 常数时间插入.删除和获取随机元素 坚持每天一道题,刷题学习Rust. 题目描述 https://leetcode-cn.com/proble ...

  6. python的开发工具pycharm安装及激活

    下面介绍一种较好用也常用的python开发工具Pycharm,此文包括安装及注册激活码 一:安装方法如下: 1:进入官网下载:https://www.jetbrains.com/ 2:下载Commun ...

  7. Ultimate Chicken Horse GameProject需求规格报告书

    团队名称:超级鸡马 成员: 身份 姓名 分工 组长 邱志明  主程序设计 组员 吴钧诚  界面设计 组员 李承哲  陷阱设计 组员 冯英炽  客户,参与测试和需求分析工作 组员 林裕权  素材确定 修 ...

  8. workerman docker 运行试用

    看到别人项目使用了workerman 作为webserver ,看了下介绍发现此框架还是挺强大的,比较喜欢使用 docker运行软件,所以基于php 7.3 的基础镜像简单使用下 环境准备 项目使用了 ...

  9. $O(k^2)$ 求前缀 $k$ 次幂和(与长度无关)

    接下来求解前缀幂次和 求解 \(\sum_{i = 1}^{k} i^k\) \[ \begin{aligned} (p+1)^k - 1 = (p+1)^k - p^k + p^k - (p-1)^ ...

  10. 命令行编译带外部包依赖的java源文件 [以JDBC MySQL8为例]

    环境: MySQL8 JDK11(SE) 首先下载MySQL8的JDBC驱动 https://dev.mysql.com/downloads/connector/j/选 PlatForm Indepe ...