任务描述
本关任务:完善函数,实现非、合取、析取、蕴含、等值等运算。
相关知识
为了完成本关任务,你需要掌握:1.基本的C++编程知识,2.如何用C++实现命题逻辑基本运算。
编程要求
根据提示,在右侧编辑器补充函数代码,完成main函数中的测试。
测试说明
平台会对你编写的代码进行测试:
测试输入:
1 0
;
预期输出:
p=真,q=假
非P为假
P合取Q为假
P析取Q为真
P蕴含Q为假
P等值Q为假
参考代码:
#include<iostream>
using namespace std;
//实现否定
int Neg(int p)
{
//在begin-end之间补充代码,实现否定运算
//*****************begin***********************//
int flag=1;
if(p==1)
{
flag=0;
}
else
{
flag=1;
}
return flag;
//*****************end*************************//
}
//实现合取
int Conj(int p,int q)
{
//在begin-end之间补充代码,实现合取运算
//*****************begin***********************//
int flag=1;
if (p==1&&q==1)
{
flag=1;
}
else
{
flag=0;
}
return flag;
//*****************end*************************//
}
//实现析取
int Dis(int p,int q)
{
//在begin-end之间补充代码,实现析取运算
//*****************begin***********************//
int flag=1;
if(p==0&&q==0)
{
flag=0;
}
else
{
flag==1;
}
return flag;
//*****************end*************************//
}
//实现蕴含
int Con(int p,int q)
{
//在begin-end之间补充代码,实现蕴含运算
//*****************begin***********************//
int flag=1;
if(p==1&&q==0)
{
flag=0;
}
else
{
flag=1;
}
return flag;
//*****************end*************************//
}
//实现等值
int Equ(int p,int q)
{
//在begin-end之间补充代码,实现等值运算
//*****************begin***********************//
int flag=1;
if((p==1&&q==1)||(p==0&&q==0))
{
flag=1;
}
else
{
flag=0;
}
return flag;
//*****************end*************************//
}
int main()
{
int p,q;
//输入p,q的真假:0或者1
cin>>p>>q;
cout<<"p="<<(p?"真":"假")<<",q="<<(q?"真":"假")<<endl;
cout<<"非P为"<<(Neg(p)?"真":"假")<<endl;
cout<<"P合取Q为"<<(Conj(p,q)?"真":"假")<<endl;
cout<<"P析取Q为"<<(Dis(p,q)?"真":"假")<<endl;
cout<<"P蕴含Q为"<<(Con(p,q)?"真":"假")<<endl;
cout<<"P等值Q为"<<(Equ(p,q)?"真":"假")<<endl;
// return 0;
}