离散实验报告实验一真值计算1、实验目的熟悉五个常用联结词合取、析取、条件和双条件的概念,掌握真值表技术。2、实验内容与要求定义1 设P表示一个命题,由命题联结词┐和命题P连接成┐P,称┐P为P的否定式复合命题,┐P读“非P”。称┐为否定联结词。┐P是真,当且仅当P为假;┐P是假,当且仅当P为真。定义2 设P和Q为两个命题,由命题联结词∧将P和Q连接成P∧Q,称P∧Q为命题P和Q的合取式复合命题,P∧Q读做“P与Q”,或“P且Q”。称∧为合取联结词。当且仅当P和Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。定义3 设P和Q为两个命题,由命题联结词∨把P和Q连接成P∨Q,称P∨Q为命题P和Q的析取式复合命题,P∨Q读做“P或Q”。称∨为析取联结词。当且仅当P和Q的真值同为假,P∨Q的真值为假;否则,P∨Q的真值为真。定义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,称P«Q为命题P和Q的双条件式复合命题,简称双条件命题,P«Q读做“P当且仅当Q”,或“P等价Q”。称«为双条件联结词。当P和Q的真值相同时,P«Q的真值为真;否则,P«Q的真值为假。本实验要求从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。用C语言或MATLAB实现。3、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。源代码:#include<>voidmain(){ intp,q; cout<<"请分别输入P,Q的真值:"; cin>>p>>q; if(p>1||p<0) { cout<<"P的真值有误,请重新输入!"<<endl; } if(q>1||q<0) { cout<<"Q的真值有误,请重新输入!"<<endl; } if(p==0&&q==0) { cout<<"P∧Q=0"<<endl; cout<<"P∨Q=0"<<endl; cout<<"P→Q=1"<<endl; cout<<"P<->Q=1"<<endl; } if(p==0&&q==1) { cout<<"P∧Q=0"<<endl; cout<<"P∨Q=1"<<endl; cout<<"P→Q=1"<<endl; cout<<"P<->Q=0"<<endl; } if(p==1&&q==0) { cout<<"P∧Q=0"<<endl; cout<<"P∨Q=1"<<endl; cout<<"P→Q=0"<<endl; cout<<"P<->Q=0"<<endl; } if(p==1&&q==1) { cout<<"P∧Q=1"<<endl; cout<<"P∨Q=1"<<endl; cout<<"P→Q=1"<<endl; cout<<"P<->Q=1"<<endl; }}运行结果:请分别输入P,Q的真值:01P∧Q=0P∨Q=1P→Q=1P<->Q=0Pressanykeytocontinue实验二关系闭包计算1、实验目的熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。2、实验内容与要求定义6设R是A上的二元关系,R的自反(对称、传递)闭包是关系R1,则①R1是自反的(对称的、传递的)②RÍR1对任何自反的(对称的、传递的)关系R2,若RÍR2,则R1ÍR2。R的自反、对称和传递闭包分别记为r(R)、s(R)和t(R)。定理1令RÍA´A,则①r(R)=R∪IA②s(R)=R∪R-1③t(R)=R∪R2∪R3…Warshall算法:设R是n个元素集合上的二元关系,M是R的关系矩阵;置新矩阵A:=M置i:=1;forj=1tondo ifA[j,i]=1thendo fork=1tondoA[j,k]:=A[j,k]+A[i,k]i=i+1;ifi<=nthento(3) elsestop本实验要求从键盘输入一个关系的关系矩阵,计算其自反闭包、对称闭包和传递闭包,计算传递闭包时使用Warshall算法。用C语言或MATLAB实现。3、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。源代码:#include<>classMatrix{ introw,col; double*p;public: Matrix(intr,intc); voidprint(); double&operator()(inti,intj); intgetrow() { returnrow; } intgetcol()
离散数学计算机实验报告 来自淘豆网m.daumloan.com转载请标明出处.