
用C++编程构造(P∧(P→Q))→Q的真值表
展开全部
(P∧(P->Q))->Q
p->Q等价于(┐P)∨Q写成C/C++语言就是(!P)||Q
P∧(P->Q)等价于P∧((┐p)∨Q)写成C/C++就是P&&((!P)||Q))
(P∧(P->Q))->Q等价于(┐(P∧((┐p)∨Q)))∨Q写成C/C++语言就是(!(P&&((!P)||Q))))||Q
Programe Code:
#include <iostream>
using namespace std;
int main()
{
int Q,P;
cout<<"P Q (P∧(P->Q))->Q\n";
for(P=0;P<=1;P++)
for(Q=0;Q<=1;Q++)
cout<<P<<" "<<Q<<" "
<<((!(P&&((!P)||Q)))||Q)<<endl;
}
//运行结果
P Q (P∧(P->Q))->Q
0 0 1
0 1 1
1 0 1
1 1 1
其实你可以将表达式化简:
┐(P∧((┐p)∨Q))∨Q
<=> ┐((P∧┐p)∨(P∧Q)))∨Q
<=> ┐(0∨(P∨Q)))∨Q
<=> 1 ∨((┐(P∨Q))∨Q)
<=> 1
p->Q等价于(┐P)∨Q写成C/C++语言就是(!P)||Q
P∧(P->Q)等价于P∧((┐p)∨Q)写成C/C++就是P&&((!P)||Q))
(P∧(P->Q))->Q等价于(┐(P∧((┐p)∨Q)))∨Q写成C/C++语言就是(!(P&&((!P)||Q))))||Q
Programe Code:
#include <iostream>
using namespace std;
int main()
{
int Q,P;
cout<<"P Q (P∧(P->Q))->Q\n";
for(P=0;P<=1;P++)
for(Q=0;Q<=1;Q++)
cout<<P<<" "<<Q<<" "
<<((!(P&&((!P)||Q)))||Q)<<endl;
}
//运行结果
P Q (P∧(P->Q))->Q
0 0 1
0 1 1
1 0 1
1 1 1
其实你可以将表达式化简:
┐(P∧((┐p)∨Q))∨Q
<=> ┐((P∧┐p)∨(P∧Q)))∨Q
<=> ┐(0∨(P∨Q)))∨Q
<=> 1 ∨((┐(P∨Q))∨Q)
<=> 1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream.h>
void main()
{
bool p,q,s;
cout<<"P和Q的真值表为:"<<endl;
cout<<"p 0 q 0 ";
cout<<"结果为:1"<<endl;
cout<<"p 0 q 1 ";
cout<<"结果为:1"<<endl;
cout<<"p 1 q 0 ";
cout<<"结果为:1"<<endl;
cout<<"p 1 q 1 ";
cout<<"结果为:1"<<endl;
}
void main()
{
bool p,q,s;
cout<<"P和Q的真值表为:"<<endl;
cout<<"p 0 q 0 ";
cout<<"结果为:1"<<endl;
cout<<"p 0 q 1 ";
cout<<"结果为:1"<<endl;
cout<<"p 1 q 0 ";
cout<<"结果为:1"<<endl;
cout<<"p 1 q 1 ";
cout<<"结果为:1"<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先编三、四个基本真值表计算函数,与或非(蕴含),再在构造一个计算(P∧(P→Q))→Q的函数依次调用基本计算函数,主程序用二重循环,两重都循环0和1就完成了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啥叫真值表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询