离散实验报告.docx离散实验报告
实验一真值计算
1、实验目的
熟悉五个常用联结词合取、析取、条件和双条件的概念,掌握真值表技术。
2、 实验内容与要求
定义1 设P表示一个命题,由命题联结词「和命题P连接成「P,称「P为P的否定 式复合命题,r P读“非P”。称「为否定联结词。「P是真,当且仅当P为假;1 P是假, 当且仅当P为真。
定义2 设P和Q为两个命题,由命题联结词八将P和Q连接成PAQ,称PAQ为命 题P和Q的合取式复合命题,PAQ读做“P与Q”,或“P且QS称八为合取联结词。当且 仅当P和Q的真值同为真,命题PAQ的真值才为真;否则,PAQ的真值为假。
定义3 设P和Q为两个命题,山命题联结词\/把P和Q连接成PVQ,称PVQ为命 题P和Q的析取式复合命题,PVQ读做“P或Q”。称\/为析取联结词。当且仅当P和Q的 真值同为假,PVQ的真值为假;否则,PVQ的真值为真。
定义4 设P和Q为两个命题,由命题联结词一把P和Q连接成P-Q,称P-Q为命 题P和Q的条件式复合命题,简称条件命题。P-Q读做“P条件Q'或者“若P则Q”。称一 为条件联结词。当P的真值为真而Q的真值为假时,命题P-*Q的真值为假;否则,P-Q 的真值为真。
定义5 令P、Q是两个命题,由命题联结词。把P和Q连接成P<->Q,称PoQ为 命题P和Q的双条件式复合命题,简称双条件命题,PoQ读做“P当且仅当Q”,或“P等 价Q”。称㈠为双条件联结词。当P和Q的真值相同时,PoQ的真值为真;否则,PoQ 的真值为假。
本实验要求从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件 的真值。用C语言或MATLAB实现。
3、 源程序
#include<>
void main()
{
printfC*请输入P、Q的真值\n“);
int a,b;
scanf(”%d%cr;&a, &b);
int c;
if(a==l &&b==l)
c=l;
else c=0;
printfC 哈取结果为 %d\n,,,c);
int d;
if(a==()&&b==0)
d=0;
else d=l;
printfC 析取结果为 %d\nH,d);
int e;
if(a== 1 &&b==0)
e=0;
else e=l;
print” 单条件为 %d\n”,e);
int f;
if(a==b)
f=l;
else f=0;
printfC 双条件为
}
4、实验结果
请输入P、Q的真值
1 0
合取结果为0
析取结果为1
单条件为0
双条件为0
Press any key to continue
实验二关系闭包计算
1、实验目的
熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。
2、 实验内容与要求
定义6设R是A上的二元关系,R的自反(对称、传递)闭包是关系R1,则
R1是自反的(对称的、传递的)
RgRl
对任何自反的(对称的、传递的)关系R2,若ReR2,则RlcR2o
R的自反、对称和传递闭包分别记为r(R)、s(R)和t(R)o
定理1令Ro Ax A,则
r(R)=RUIA
s(R)=RURd
t(R)=RUR2UR3...
Warshall算法:设R是n个元素集合上的二元关系,M是R的关系矩阵;
置新矩阵A:=M
置 i:=l;
forj=l to n do
if A[j,i]=l then do
tor k=l to n do
A[j,k]:=A|j,k]+A[i,k]
i=i+l;
讦 i<=n then to (3)
else stop
本实验要求从键盘输入一个关系的关系矩阵,计算其自反闭包、对称闭包和传递闭包,计算 传递闭包时使用Warshall算法。用C语言或MATLAB实现。
3、 源程序
#include<>
int xiqu(int,int);
void main()
{
int
a[100][100],b[100][100],c[100][100],d[100][100],e[100][100],i,j,k,n,x,y,z;
printf(”请输入关系矩阵的阶数\n”);
scanf("%d",&n);
printf(H请输入此关系矩阵\n”);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf(” %d”,&a[i][j]);
for(i=0;i<n;i++)
{
e[i][i]=l;
}
printfC'自反闭包为\n”);
fbr(i=O;i<n;i++)
{
离散实验报告 来自淘豆网m.daumloan.com转载请标明出处.