1、逻辑联接词的运算
从键盘输入两个命题变元P和Q的真值,输出它们的合取、析取、条件、双
条件和P的否定的真值。
#include
intmain()
{
inta,b;
inthequ(intP,intQ);
intxiqu(intP,intQ);
inttiaojian(intP,intQ);
intshuangtiaojian(intP,intQ);
intPfaoding(intP);
intshow(inta,intb);
cout<<"请输入P和Q的真值:n";
cin>>a>>b;
show(a,b);
return0;
}
inthequ(intP,intQ)
{
if(P==0)
P=P;
el
P=1;
if(Q==0)
Q=Q;
el
Q=1;
return(P&Q);
}
intxiqu(intP,intQ)
{
if(P==0)
P=P;
el
P=1;
if(Q==0)
Q=Q;
el
Q=1;
return(P|Q);
}
inttiaojian(intP,intQ)
{
if(P==0)
P=P;
el
P=1;
if(Q==0)
Q=Q;
el
Q=1;
if(P==1&&Q==0)
return(0);
el
return(1);
}
intshuangtiaojian(intP,intQ)
{
if(P==0)
P=P;
el
P=1;
if(Q==0)
Q=Q;
el
Q=1;
return(!P^Q);
}
intPfaoding(intP)
{
if(P==0)
P=P;
el
P=1;
return(!P);
}
intshow(inta,intb)
{
cout<<"PQP∧QP∨QP→QP←→Q┐P"<
if(a==0||a==1)
a=a;
el
a=1;
if(b==0||b==1)
b=b;
el
b=1;
<<""<
return0;
}
2、任意一个命题公式的真值表
实现任意输入公式的真值表计算。一般我们将公式中的命题变元放在真值表
的左边,将公式的结果放在真值表的右边。命题变元可用数值变量表示,合适公
式的表示及求真值表转化为逻辑运算结果;可用一维数表示合式公式中所出现的
n个命题变元,同时它也是一个二进制加法器的模拟器,每当在这个模拟器中产
生一个二进制数时,就相当于给各个命题变元产生了一组真值指派。算法逻辑如
下:
(1)将二进制加法模拟器赋初值0
(2)计算模拟器中所对应的一组真值指派下合式公式的真值。
(3)输出真值表中对应于模拟器所给出的一组真值指派及这组真值指派所
对应的一行真值。
(4)产生下一个二进制数值,若该数值等于2n-1,则结束,否则转(2)。
#include
intmain()
{
intshow();
show();
return0;
}
inthequ(intP,intQ)
{
return(P&Q);
}
intxiqu(intP,intQ)
{
return(P|Q);
}
inttiaojian(intP,intQ)
{
if(P==1&&Q==0)
return(0);
el
return(1);
}
intshuangtiaojian(intP,intQ)
{
return(!P^Q);
}
intPfaoding(intP)
{
return(!P);
}
intshow()
{
cout<<"PQRP∧QP∧R┐P∧R(P∧Q)∨(┐P∧R)"<
for(intp=0;p<2;p++)
for(intq=0;q<2;q++)
for(intr=0;r<2;r++)
{
cout<
"
<
xiqu(hequ(p,q),hequ(Pfaoding(p),r))<
}
return0;
}
本文发布于:2022-12-03 08:29:31,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/43354.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
| 留言与评论(共有 0 条评论) |