离散数学实验指导书及其答案

合集下载

离散数学(第二版)课后习题答案详解(完整版)

离散数学(第二版)课后习题答案详解(完整版)

离散数学(第⼆版)课后习题答案详解(完整版)习题⼀1.下列句⼦中,哪些是命题?在是命题的句⼦中,哪些是简单命题?哪些是真命题?哪些命题的真值现在还不知道?(1)中国有四⼤发明.答:此命题是简单命题,其真值为 1.(2)5 是⽆理数.答:此命题是简单命题,其真值为 1.(3)3 是素数或 4 是素数.答:是命题,但不是简单命题,其真值为1.(4)2x+ <3 5 答:不是命题.(5)你去图书馆吗?答:不是命题.(6)2 与3 是偶数.答:是命题,但不是简单命题,其真值为0.(7)刘红与魏新是同学.答:此命题是简单命题,其真值还不知道.(8)这朵玫瑰花多美丽呀!答:不是命题.(9)吸烟请到吸烟室去!答:不是命题.(10)圆的⾯积等于半径的平⽅乘以π.答:此命题是简单命题,其真值为 1.(11)只有6 是偶数,3 才能是2 的倍数.答:是命题,但不是简单命题,其真值为0.(12)8 是偶数的充分必要条件是8 能被3 整除.答:是命题,但不是简单命题,其真值为0.(13)2008 年元旦下⼤雪.答:此命题是简单命题,其真值还不知道.2.将上题中是简单命题的命题符号化.解:(1)p:中国有四⼤发明.(2)p: 是⽆理数.(7)p:刘红与魏新是同学.(10)p:圆的⾯积等于半径的平⽅乘以π.(13)p:2008 年元旦下⼤雪.3.写出下列各命题的否定式,并将原命题及其否定式都符号化,最后指出各否定式的真值.(1)5 是有理数.答:否定式:5 是⽆理数. p:5 是有理数.q:5 是⽆理数.其否定式q 的真值为1.(2)25 不是⽆理数.答:否定式:25 是有理数. p:25 不是⽆理数. q:25 是有理数. 其否定式q 的真值为1.(3)2.5 是⾃然数.答:否定式:2.5 不是⾃然数. p:2.5 是⾃然数. q:2.5 不是⾃然数. 其否定式q 的真值为1.(4)ln1 是整数.答:否定式:ln1 不是整数. p:ln1 是整数. q:ln1 不是整数. 其否定式q 的真值为1.4.将下列命题符号化,并指出真值.(1)2 与5 都是素数答:p:2 是素数,q:5 是素数,符号化为p q∧,其真值为 1.(2)不但π是⽆理数,⽽且⾃然对数的底e 也是⽆理数.答:p:π是⽆理数,q:⾃然对数的底e 是⽆理数,符号化为p q∧,其真值为1.(3)虽然2 是最⼩的素数,但2 不是最⼩的⾃然数.答:p:2 是最⼩的素数,q:2 是最⼩的⾃然数,符号化为p q∧? ,其真值为1.(4)3 是偶素数.答:p:3 是素数,q:3 是偶数,符号化为p q∧,其真值为0.(5)4 既不是素数,也不是偶数.答:p:4 是素数,q:4 是偶数,符号化为? ∧?p q,其真值为0.5.将下列命题符号化,并指出真值.(1)2 或3 是偶数.(2)2 或4 是偶数.(3)3 或5 是偶数.(4)3 不是偶数或4 不是偶数.(5)3 不是素数或4 不是偶数.答: p:2 是偶数,q:3 是偶数,r:3 是素数,s:4 是偶数, t:5 是偶数(1)符号化: p q∨,其真值为1.(2)符号化:p r∨,其真值为1.(3)符号化:r t∨,其真值为0.(4)符号化:? ∨?q s,其真值为1.(5)符号化:? ∨?r s,其真值为0.6.将下列命题符号化.(1)⼩丽只能从筐⾥拿⼀个苹果或⼀个梨.答:p:⼩丽从筐⾥拿⼀个苹果,q:⼩丽从筐⾥拿⼀个梨,符号化为: p q∨ .(2)这学期,刘晓⽉只能选学英语或⽇语中的⼀门外语课.答:p:刘晓⽉选学英语,q:刘晓⽉选学⽇语,符号化为: (? ∧∨∧?p q)(p q) .7.设p:王冬⽣于1971 年,q:王冬⽣于1972 年,说明命题“王冬⽣于1971 年或1972年”既可以化答:列出两种符号化的真值表:合命题可以发现,p 与q 不可能同时为真,故上述命题有两种符号化⽅式.8.将下列命题符号化,并指出真值., 就有;(1)只要, 则;, 才有;(3)只有, 才有;(4)除⾮, 否则;(5)除⾮(6)仅当.答:设p: , 则: ; 设q: , 则: .(1);(2);;(3);(4);(5);(6);(7).答:根据题意,p 为假命题,q 为真命题.(1);(2);(3);(4).答:根据题意,p 为真命题,q 为假命题.(1)若2+2=4,则地球是静⽌不动的;(2)若2+2=4,则地球是运动不⽌的;(3)若地球上没有树⽊,则⼈类不能⽣存;(4)若地球上没有⽔,则是⽆理数.12.将下列命题符号化,并给出各命题的真值:(1)2+2=4 当且仅当3+3=6;(2)2+2=4 的充要条件是3+3 6;(3)2+2 4 与3+3=6 互为充要条件;(4)若2+2 4,则3+3 6,反之亦然.答:设p:2+2=4,q:3+3=6.(1)若今天是星期⼀,则明天是星期⼆;(2)只有今天是星期⼀,明天才是星期⼆;(3)今天是星期⼀当且仅当明天是星期⼆;(4)若今天是星期⼀,则明天是星期三.答:设p:今天是星期⼀,q:明天是星期⼆,r:明天是星期三.(1)刘晓⽉跑得快,跳得⾼;(2)⽼王是⼭东⼈或者河北⼈;(3)因为天⽓冷,所以我穿了⽻绒服;(4)王欢与李乐组成⼀个⼩组;(5)李欣与李末是兄弟;(6)王强与刘威都学过法语;(7)他⼀⾯吃饭,⼀⾯听⾳乐;(8)如果天下⼤⾬,他就乘班车上班;(9)只有天下⼤⾬,他才乘班车上班;(10)除⾮天下⼤⾬,否则他不乘班车上班;(11)下雪路滑,他迟到了;(12)2 与4 都是素数,这是不对的;(13)“2 或 4 是素数,这是不对的”是不对的.答:q:⼤熊猫产在中国.r:太阳从西⽅升起. 求下列符合命题的真值:(1)(2)(3)(4)解:p真值为1,q 真值为1,r 真值为0.(1)0,(2)0,(3)0,(4)116.当p,q 的真值为0,r,s 的真值为1 时,求下列各命题公式的真值:(1)(2)(3)(4)解:(1)0,(2)0,(3)0,(4)117.判断下⾯⼀段论述是否为真:“ 是⽆理数.并且,如果3 是⽆理数,则也是⽆理数.另外,只有6 能被2 整除,6 才能被4 整除.”解:p: 是⽆理数q: 3 是⽆理数r:是⽆理数s: 6 能被2 整除t:6 能被 4 整除符号化为: ,该式为重⾔式,所以论述为真。

离散数学第2版课后习题答案

离散数学第2版课后习题答案

离散数学第2版课后习题答案离散数学是计算机科学和数学领域中一门重要的学科,它研究离散对象及其关系、结构和运算方法。

离散数学的应用非常广泛,包括计算机科学、信息科学、密码学、人工智能等领域。

而离散数学第2版是一本经典的教材,它系统地介绍了离散数学的基本概念、原理和方法。

本文将为读者提供离散数学第2版课后习题的答案,帮助读者更好地理解和掌握离散数学的知识。

第一章:基本概念和原理1.1 命题逻辑习题1:命题逻辑的基本符号有哪些?它们的含义是什么?答:命题逻辑的基本符号包括命题变量、命题联结词和括号。

命题变量用字母表示,代表一个命题。

命题联结词包括否定、合取、析取、条件和双条件等,分别表示“非”、“与”、“或”、“如果...则...”和“当且仅当”。

括号用于改变命题联结词的优先级。

习题2:列举命题逻辑的基本定律。

答:命题逻辑的基本定律包括德摩根定律、分配律、结合律、交换律、吸收律和否定律等。

1.2 集合论习题1:什么是集合?集合的基本运算有哪些?答:集合是由一些确定的对象组成的整体,这些对象称为集合的元素。

集合的基本运算包括并、交、差和补等。

习题2:列举集合的基本定律。

答:集合的基本定律包括幂等律、交换律、结合律、分配律、吸收律和德摩根定律等。

第二章:数理逻辑2.1 命题逻辑的推理习题1:什么是命题逻辑的推理规则?列举几个常用的推理规则。

答:命题逻辑的推理规则是用来推导命题的逻辑规则。

常用的推理规则包括假言推理、拒取推理、假言三段论和析取三段论等。

习题2:使用推理规则证明以下命题:如果A成立,则B成立;B不成立,则A不成立。

答:假言推理规则可以用来证明该命题。

根据假言推理规则,如果A成立,则B成立。

又根据假言推理规则,如果B不成立,则A不成立。

2.2 谓词逻辑习题1:什么是谓词逻辑?它与命题逻辑有何区别?答:谓词逻辑是一种扩展了命题逻辑的逻辑系统,它引入了谓词和量词。

与命题逻辑不同,谓词逻辑可以对个体进行量化和描述。

离散数学上机实验指导

离散数学上机实验指导

离散数学上机实验指导徐凤生如果你需要索取源程序,请发邮件至xfs@。

实验11实验内容(1)求任意一个命题公式的真值表。

(2)利用真值表求任意一个命题公式的主范式。

(3)利用真值表进行逻辑推理。

注:(2)和(3)可在(1)的基础上完成。

2实验目的真值表是命题逻辑中的一个十分重要的概念,利用它几乎可以解决命题逻辑中的所有问题。

例如,利用命题公式的真值表,可以判断命题公式的类型、求命题公式的主范式、判断两命题公式是否等价,还可以进行推理等。

本实验通过编写一个程序,让计算机给出命题公式的真值表,并在此基础上进行命题公式类型的判定、求命题公式的主范式等。

目的是让学生更加深刻地理解真值表的概念,并掌握真值表的求解方法及其在解决命题逻辑中其他问题中的应用。

3算法的主要思想利用计算机求命题公式真值表的关键是:①给出命题变元的每一组赋值;②计算命题公式在每一组赋值下的真值。

真值表中命题变元的取值具有如下规律:每列中0和1是交替出现的,且0和1连续出现的个数相同。

n个命题变元的每组赋值的生成算法可基于这种思想。

含有n个命题变元的命题公式的真值的计算采用的方法为“算符优先法”。

为了程序实现的方便,约定命题变元只用一个字母表示,非、合取、析取、条件和双条件联结词分别用!、&、|、-、+来表示。

算符之间的优先关系如表1-32所示:为实现算符优先算法,另一个称作OPND,用以寄存操作数或运算结果。

算法的基本思想是:(1)首先设置操作数栈为空栈,符号“@”为运算符的栈底元素;(2)调用函数Divi(exp,myopnd)得到命题公式包含的命题变元序列myopnd(按字典序排列,同一个命题变元只出现一次);(3)依次读入命题公式中的每个字符,若是命题变元则其对应的赋值进OPND栈,若是运算符,则和OPTR栈的栈顶运算符比较后作相应操作,直至整个命题公式求值完毕。

实验21实验内容(1)求任意两个集合的交集、并集、差集。

(2)求任意一个集合的幂集。

离散数学课后答案(第1,2,4章)武汉大学出版社教学内容

离散数学课后答案(第1,2,4章)武汉大学出版社教学内容

习题1.11、(1)否(2)否(3)是,真值为0(4)否(5)是,真值为12、(1)P:天下雨Q:我去教室┐P →Q(2)P:你去教室Q:我去图书馆P →Q(3)P,Q同(2)Q →P(4)P:2是质数Q:2是偶数P∧Q3、(1)0(2)0(3)14、(1)如果明天是晴天,那么我去教室或图书馆。

(2)如果我去教室,那么明天不是晴天,我也不去图书馆。

(3)明天是晴天,并且我不去教室,当且仅当我去图书馆。

习题1.21、(1)是(2)是(3)否(4)是(5)是(6)否2、(1)(P →Q) →R,P →Q,R,P,Q(2)(┐P∨Q) ∨(R∧P),┐P ∨Q,R∧P,┐P,Q,R,P(3)((P →Q) ∧(Q →P)) ∨┐(P →Q)),(P →Q) ∧(Q →P),┐(P →Q),P →Q,(Q →P),P →Q,P,Q,Q,P,P,Q3、(1)((P →Q) →(Q →P)) →(P →Q)(2)((P →Q) ∨((P →Q) →R))→((P →Q) ∧((P →Q) →R))(3)(Q →P∧┐P) →(P∧┐P →Q)4、(P →Q) ∨((P∧Q) ∨(┐P∧┐Q)) ∧(┐P∨Q)习题1.31、(1)I(P∨(Q∧R)) = I(P)∨(I(Q)∧I(R)) = 1∨(1∧0) = 1(2)I((P∧Q∧R)∨(┐(P∨Q)∧┐(R∨S))) = (1∧1∧0)∨(┐(1∨1)∧┐(0∨1)) = 0∨(0∧0) = 0(3)I((P←→R)∧(┐Q→S)) = (1←→0)∧(┐1→1) = 0∧1 = 0(4)I((P∨(Q→R∧┐P))←→(Q∨┐S)) = (1∨(1→(0∧┐1)))←→(1∨┐1) = 1←→1 = 1(5)I(┐(P∧Q)∨┐R∨((Q←→┐P)→R∨┐S)) = ┐(1∧1)∨┐0∨((1←→┐1)→(0∨┐1)) = 0∨1∨1 = 12、(1)P Q P→Q Q∧(P→Q) Q∧(P→Q)→P0 0 1 0 10 1 1 1 01 0 0 0 11 1 1 1 1(2)P Q R Q∧R ┐(P∨(Q∧R)) P∨Q P∨R (P∨Q)∧(P∨R) 原式0 0 0 0 1 0 0 0 00 0 1 0 1 0 1 0 00 1 0 0 1 1 0 0 00 1 1 1 0 1 1 1 01 0 0 0 0 1 1 1 01 0 1 0 0 1 1 1 01 1 0 0 0 1 1 1 01 1 1 1 0 1 1 1 0(3)P Q R P∨Q Q∧P P∨Q→Q∧P P∧┐R 原式0 0 0 0 0 1 0 00 0 1 0 0 1 0 00 1 0 1 0 0 0 10 1 1 1 0 0 0 11 0 0 1 0 0 1 11 0 1 1 0 0 0 11 1 0 1 1 1 1 11 1 1 1 1 1 0 03、(1)原式<=> F→Q <=> T 原式为永真式(2)原式<=> ┐T∨(┐(┐P∨Q)∨(┐┐Q∨┐P)) <=> (P∧┐Q)∨(Q∨┐P)<=> (P∧┐Q)∨┐(P∧┐Q) <=> T 原式为永真式(3)原式<=> ┐(P∧Q) ←→┐(P∧Q) <=> T 原式为永真式(4)原式<=> P∧(Q∨R) ←→P∧(Q∨R) <=> T 原式为永真式(5)原式<=> ┐(P∨┐Q)∨Q <=> (┐P∧Q)∨Q <=> Q 原式为可满足式(6)原式<=> ┐(P∧Q)∨P <=> ┐P∨┐Q∨P <=> T∨┐Q <=> T 原式为永真式(7)原式<=> (┐P∨P∨Q)∧┐P <=> (T∨Q)∧┐P<=> T∧┐P <=> ┐P 原式为可满足式(8)原式<=> ┐((P∨Q) ∧(┐Q∨R))∨(┐P∨R) <=> (P∧┐Q)∨(Q∧┐R)∨(┐P∨R)<=> ((P∧┐Q)∨┐P)∨((Q∧┐R)∨R)<=>(( P∨┐P)∧(┐Q∨┐P))∨(( Q∨R)∧(┐R∨R))<=> (┐Q∧┐P)∨( Q∨R) <=> T 原式为永真式4、(1)左<=> ┐P∨┐Q∨P <=> ┐┐P∨(┐P∨┐Q) <=> 右(2)左<=> ┐(┐P∨Q) <=> 右(3)左<=> ┐(P∧Q)∨P <=> ┐P∨┐Q∨P <=> T∨┐Q <=> 右(4)左<=> ┐(P→Q)∨┐(Q→P) <=> (P∧┐Q)∨(Q∧┐P) <=> 中<=> ((P∧┐Q)∨Q)∧((P∧┐Q)∨┐P)<=> (P∨Q)∧(┐Q∨Q)∧(P∨┐P)∧(┐Q∨┐P)<=> (P∨Q)∧┐(P∧Q) <=> 右(5)左( P Q) ( R Q) (P Q) Q 右5.(1)左Q P Q 右(2)(P (Q R)) ((P Q) (P R))( P Q R) ( P Q) ( P R)(P Q R) (P Q) P R(P Q R) ((P P) ( Q P)) R(P Q R) ( Q P R)(P Q R) (P Q R)T故P (Q R) (P Q) (P R)(3).(P Q) (P P Q)( P Q) P (P Q)( P Q) ( P P) ( P Q)( P Q) ( P Q)T故P Q P P Q(4).((P Q) Q) P Q( ( P Q) Q) P Q(( P Q) Q) P Q( P Q) (Q Q) P Q(P Q) (P Q)T故(P Q) Q P Q(5).((P P) Q) ((P P) R) (Q R)(( T Q) ( T R)) Q R(Q R) Q RQ R Q RQ TT故((P P) Q) ((P P) R) Q R(6)左(Q F) (R F)( Q F) ( R F)Q RRR Q 右6.(1)原式( P Q R)(2)原式P Q P (P Q P)(3)原式P (Q R P) P Q R ( P Q R)7.(1)原式( P Q P)(2)原式( P Q R) P Q ( ( P Q R) P Q)(3)原式P Q (R P) (P Q (R P))8. (1) (P Q) (( P ( P Q)) R) P(2)(P Q R) ( P R)(3)(P F) (Q T)习题1.41.(1)原式( P Q) (( P Q) (Q P))( P Q) (Q P)(P Q) Q PQ P,既是析取范式又是合取范式(2)原式(( P Q) ( P Q)) ( ( P Q) ( P Q))(P Q) (P Q) 析取范式P (Q Q)合取范式(3)原式P Q S ( P Q)析取范式( P ( P Q)) Q SP Q S合取范式(4)原式P P Q Q R既是析取范式又是合取范式2.(1)原式P Q R为真的解释是:000,001,011,100,101,110,111故原式的主析取范式为:( P Q R) ( P Q R) ( P Q R) (P Q R) (P QR) (P Q R) (P Q R)(2)原式(P Q) R(P Q (R R)) ((P P) R)(P Q R) (P Q R) (P Q) ( P R)(P Q R) (P Q R) (P (Q Q) R) ( P (Q Q) R)(P Q R) (P Q R) (P Q R) (P Q R) ( P Q R) ( P Q R)(P Q R) (P Q R) (P Q R) ( P Q R) ( P Q R)为真的解释是101,100,111,011,001(3)原式( P (Q R)) (P ( Q R))(( P (Q R)) P) (( P (Q R)) ( Q R))( P P) (Q P R) ( P Q R) (Q R Q R)(P Q R) ( P Q R)为真的解释是:000,111(4)原式P P Q Q R P Q R为真的解释是:001,010,011,100,101,110,111故原式的主析取范式为:( P Q R) ( P Q R) ( P Q R) (P Q R) (P Q R) (P Q R) (P Q R)3.(1)原式P Q P Q T主合取范式,无为假的解释。

离散数学实验指导书

离散数学实验指导书

实验一真值计算一、实验目的熟悉联结词合取、析取、条件和双条件的概念,编程求其真值。

二、实验内容从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。

用C语言或MATLAB实现。

三、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。

实验二关系闭包计算一、实验目的熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。

二、实验内容从键盘输入一个关系的关系矩阵,计算其自反闭包、对称闭包和传递闭包,计算传递闭包时使用Warshall算法。

用C语言或MATLAB实现。

三、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。

实验三计算两结点间长度为m的路的数目一、实验目的熟悉邻接矩阵和两结点间长度为m的路的数目的关系并编程计算。

二、实验内容从键盘输入图的邻接矩阵和一正整数m,计算结点两两之间长度为m的路的数目。

考虑有向图和无向图。

用C语言或MATLAB实现。

三、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。

实验四最优树的构造一、实验目的熟悉最优树的构造算法,掌握最优树的构造过程。

二、实验内容从键盘输入一组权值,构造出对应的最优树,列出构造过程。

用C语言或MATLAB实现。

三、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。

部分参考答案:实验二C++源程序#include<iostream.h>int num;class guanxi{public:int jz[100][100];void set(){cout<<"shu ru yuan su shu"<<endl;cin>>num;cout<<"put in the guanxi"<<endl;int i,j;for(i=0;i<num;i++)for(j=0;j<num;j++)cin>>jz[i][j];cout<<"关系剧阵是:"<<endl;for(i=0;i<num;i++)for(j=0;j<num;j++){cout<<jz[i][j]<<" ";if (j==num-1)cout<<endl;}cout<<endl;}friend void zifan();friend void duichen();friend void chuandi();};void zifan(guanxi ox){int i,j;for(i=0;i<num;i++)ox.jz[i][i]=1;for(i=0;i<num;i++)for(j=0;j<num;j++){cout<<ox.jz[i][j]<<" ";if (j==num-1)cout<<endl;}}void duichen(guanxi ox){int i,j;for(i=0;i<num;i++)for(j=0;j<num;j++){if(ox.jz[i][j]==1)ox.jz[j][i]=1;}for(i=0;i<num;i++)for(j=0;j<num;j++){cout<<ox.jz[i][j]<<" ";if (j==num-1)cout<<endl;}}void chuandi(guanxi ox){int i,j,k;for(i=0;i<num;i++)for(k=0;k<num;k++)if(ox.jz[k][i]==1){for(j=0;j<num;j++)if(ox.jz[i][j]==1)ox.jz[k][j]=1;}for(i=0;i<num;i++)for(j=0;j<num;j++){cout<<ox.jz[i][j]<<" ";if (j==num-1)cout<<endl;}}main(){guanxi o1;o1.set();cout<<"它的自反闭包是:"<<endl;zifan(o1);cout<<"它的对称闭包是:"<<endl;duichen(o1);cout<<"它的传递闭包是:"<<endl;chuandi(o1);return 0;}C源程序#include<stdio.h>int main(){int i,j,k,n;static int str[122],zifan[122],chuandi[122],duich[122];printf("Please input the jie:\n");scanf("%d",&n);printf("A=%d\n",n);for(i=0;i<n*n;i++){scanf("%d",&str[i]);}printf("The shu zu is:\n");for(j=0;j<n*n;j++){printf("%4d",str[j]);if((j+1)%n==0)printf("\n");}for(j=0;j<n*n;j++){zifan[j]=str[j];chuandi[j]=str[j];duich[j]=str[j];}printf("The zifan bibao is:\n");for(i=0;i<n*n;i++){if(i%(n+1)==0)zifan[i]=zifan[i]||1;printf("%4d",zifan[i]);if((i+1)%n==0)printf("\n");}printf("The duich bibao is:\n");for(i=0,j=0;i<n*n&&j<n;i++){if(i>j*(n+1)&&i<(j+1)*n){ duich[i]=duich[(i-j*(n+1))*(n-1)+i]||duich[i];duich[(i-j*(n+1))*(n-1)+i]=duich[(i-j*(n+1))*(n-1)+i]||duich[i];}else if(i>=(j+1)*n)j++;}for(i=0;i<n*n;i++){printf("%4d",duich[i]);if((i+1)%n==0)printf("\n");}printf("The chuandi bibao is:\n");for(i=0;i<n;i++)for(j=0;j<n;j++)if(chuandi[j*n+i]){for(k=0;k<n;k++)chuandi[j*n+k]=chuandi[j*n+k]||chuandi[i*n+k];}for(i=0;i<n*n;i++){printf("%4d",chuandi[i]);if((i+1)%n==0)printf("\n");}return 0;}实验三#include <iostream.h>class luchang{private:int N;int **p;public:luchang(int n);~luchang();int input();luchang &operator =(luchang &A);luchang &mul(luchang &A,luchang &B);void disply();int disply(int M);};luchang::luchang(int n){N=n;int i;p=new int*[N];for (i=0;i<N;i++)p[i]=new int[N];}luchang::~luchang(){int i;for (i=0;i<N;i++)delete p[i];delete p;}int luchang::input(){int i,j;for (i=0;i<N;i++){for (j=0;j<N;j++)cin>>p[i][j];}return 0;}luchang& luchang::operator =(luchang &A){int i,j;for (i=0;i<N;i++){for(j=0;j<N;j++)p[i][j]=A.p[i][j];}return *this;}luchang& luchang::mul(luchang &A,luchang &B) {int i,j,k,sum=0;for (i=0;i<N;i++){for (j=0;j<N;j++){for (k=0;k<N;k++){sum+=B.p[i][k]*A.p[k][j];p[i][j]=sum;}sum=0;}}return *this;}void luchang::disply(){for (int i=0;i<N;i++){for (int j=0;j<N;j++)cout<<p[i][j]<<" ";cout<<endl;}}int luchang::disply(int M){int i,j;int count=0;for (i=0;i<N;i++){for (j=0;j<N;j++){if (p[i][j]==M)count++;else continue;}}cout<<count<<endl;return 0;}void main(){cout<<"请输入图中的点数V"<<endl;int n=0;cin>>n;luchang ob1(n),ob2(n),ob3(n);cout<<"请输入邻接矩阵"<<endl;ob1.input();ob2=ob1;ob3=ob1;cout<<"请输入要查找的路长M"<<endl;int M=0;cin>>M;for (int i=0;i<M-1;i++){ob3.mul(ob1,ob2);ob2=ob3;}ob3.disply();ob3.disply(M);cout<<endl;}。

《离散数学》实验课程指导书

《离散数学》实验课程指导书
printf("**************************************************\n\n");
printf("您要在多少个数中进行线性查找,请输入(1~100):");
scanf("%d",&n);
printf("\n");
while(n<1 || n>100) //如果输入的数据列表长度不在[1,100]之间
scanf("%d",&a[i]);
i=0;
do
{
exchanged=0;
for(j=0;j<l-1-i;j++)
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
exchanged=1;
}
if (i==0)
printf("\n");
printf("第%d趟冒泡排序法由小到大排序后:\n",i+1);
{ int r[50];
int length;
}list,*sqlist;
int CreateSqlist(sqlist s)
{
int i;
printf("请输入您要进行搜索的数据队列的长度:\n");
scanf("%d",&(s->length));
printf("\n请输入您要进行搜索的%d个数据:\n",s->length);
printf("冒泡排序算法\n");

离散数学课后习题答案 (2)

离散数学课后习题答案 (2)

离散数学课后习题答案1. 第一章习题答案1.1 习题一答案1.1.1 习题一.1 答案根据题意,设集合A和B如下:Set A and BSet A and B在此情况下,我们可以得出以下结论:•A的幂集为{ {}, {a}, {b}, {a, b} };•B的幂集为{ {}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} };•A和B的笛卡尔积为{ (a, 1), (a, 2), (a, 3), (b, 1), (b, 2), (b, 3) }。

因此,习题一.1的答案为:•A的幂集为{ {}, {a}, {b}, {a, b} };•B的幂集为{ {}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} };•A和B的笛卡尔积为{ (a, 1), (a, 2), (a, 3), (b, 1), (b,2), (b, 3) }。

1.1.2 习题一.2 答案根据题意,集合A和B如下所示:Set A and BSet A and B根据集合的定义,习题一.2要求我们判断以下命题的真假性:a)$A \\cap B = \\{ 2, 3 \\}$b)$\\emptyset \\in B$c)$A \\times B = \\{ (a, 2), (b, 1), (b, 3) \\}$d)$B \\subseteq A$接下来,我们来逐个判断这些命题的真假性。

a)首先计算集合A和B的交集:$A \\cap B = \\{ x\\,|\\, x \\in A \\, \\text{且} \\, x \\in B \\} = \\{ 2, 3 \\}$。

因此,命题a)为真。

b)大家都知道,空集合是任意集合的子集,因此空集合一定属于任意集合的幂集。

根据题意,$\\emptyset \\in B$,因此命题b)为真。

c)计算集合A和B的笛卡尔积:$A \\times B = \\{ (x, y) \\,|\\, x \\in A \\, \\text{且} \\, y \\in B \\} = \\{ (a, 1), (a, 2), (a, 3), (b, 1), (b, 2), (b, 3) \\}$。

《离散数学》实验指导书-2019版

《离散数学》实验指导书-2019版

《离散数学》课程实验指导书《离散数学》实验指导书合肥工业大学计算机与信息学院王晓华,杨娟,李书杰,汪荣贵2019年09月目录目录 (1)概述 (3)第一篇数理逻辑 (4)实验1 逻辑运算表示与验证 (4)1.1 实验要求和目的 (4)1.2 实验课时 (4)1.3 实验环境 (4)1.4 实验平台简介 (4)实验2 交通信号灯模型设计 (6)2.1 实验要求和目的 (6)2.2 实验课时 (6)2.3 实验环境 (6)2.4 思考题 (6)第二篇集合与关系 (7)实验3 小型关系数据库系统实现 (7)3.1 实验要求和目的 (7)3.2 实验课时 (7)3.3 实验环境 (7)3.4 实验平台简介 (7)实验4 关系的闭包运算及Floyd-Warshall算法求解 (10)4.1 实验要求和目的 (10)4.2 实验课时 (10)4.3 实验环境 (10)4.4 实验平台简介 (10)第三篇整数论 (12)实验5 数论之模运算 (12)5.1 实验要求和目的 (12)5.2 实验课时 (12)5.3 实验环境 (12)5.4 实验平台简介 (12)第四篇图论 (16)实验6 最短路径的Dijstra与Floyd-Warshal算法实现 (16)6.1 实验要求和目的 (16)6.2 实验课时 (16)6.3 实验环境 (16)6.4 实验平台简介 (16)实验7 欧拉回路的DFS或Fleury算法求解 (20)7.1 实验要求和目的 (20)7.2 实验课时 (20)7.3 实验环境 (20)7.4 实验平台简介 (20)实验8 最优树的Huffman算法求解 (22)8.1 实验要求和目的 (22)8.2 实验课时 (22)8.3 实验环境 (22)8.4 实验平台简介 (22)实验9 多相位交通信号灯智能控制模型设计与算法实现 (24)9.1 实验要求和目的 (24)9.2 实验课时 (25)9.3 实验环境 (25)9.4 思考题 (25)附录A:实验报告 (26)概述(1)实验概述运用某种程序设计语言选择并设计实现离散数学的数理逻辑系统、集合与关系、整数论、图论四个篇章共8个实验的相关内容,以检验和巩固离散数学中的基本知识、加深对本课程定义、定理、算法的理解,锻炼和培养学生的计算思维能力,完成系统设计,实现问题求解,达到有效提升综合实践能力和创新能力的目的,并有效缓解离散数学课程概念多、理论性强、高度抽象等特点给学生带来的畏难情绪。

离散数学课后答案详解第二版

离散数学课后答案详解第二版

离散数学课后答案详解第二版离散数学课后答案详解第二版是一本重要的参考书,在学习离散数学的过程中能够提供很大的帮助。

下面就是本书中的一些重要知识点和解答,希望对各位读者有所帮助。

一、命题逻辑1.什么是命题?命题是用来陈述某个陈述语句真假的陈述句。

2.什么是合取和析取?合取是将两个命题连接起来,且要求两者同时成立,符号用“∧”表示;析取是也将两个命题连接起来,但是只要求其中一个成立即可,符号用“∨”表示。

3.什么是条件和双条件?条件是指前者为真则后者为真,否则后者为假,符号用“→”表示;双条件是指前者为真则后者为真,否则后者为假;同时后者为真则前者也为真,反之后者为假则前者也为假,符号用“↔”表示。

4.什么是命题公式?命题公式是用变量、命题连接词和括号构成的表达式,构成命题公式的常常为命题或者是一些常用的命题连接词。

二、谓词逻辑1.什么是一阶逻辑?一阶逻辑是对命题进行量化的扩展。

除了命题外,一阶逻辑还包括了“个体”和它们之间的关系,以及用于描述这些关系的“量词”。

2.什么是量词?量词包括“存在量词∃”和“全称量词∀”,前者表示存在至少一个使谓词成立的个体,后者表示所有个体都满足该谓词。

3.什么是命题函数?命题函数是将数学函数和逻辑命题符号相结合的一种新型命题符号。

4.什么是名词?名词是指代对象的标签,它是一般化的名词。

例如,女人是一般化的名词,梅丽莎是特定的名词。

三、集合论和图论1.什么是集合?集合是指具有某种共同特征而组成的元素的整体。

2.什么是集合的理论?集合的理论是关于集合的性质、关系和操作的一种抽象理论。

3.什么是图?图是用来描述一些个体之间的关系的工具,由节点和边构成。

其中节点表示个体,边表示个体之间的某种关系。

4.什么是路径?路径是指通过边连接一些节点的一系列节点。

四、树和排序1.什么是树?树是一种数据结构,它由一组节点和边构成。

节点可以包含数据,边用于连接节点并表示关系。

2.什么是排序?排序是一种对数据进行重新排列的操作,目的是使数据具有某种有序结构。

(完整版)离散数学实验指导书及其答案

(完整版)离散数学实验指导书及其答案

实验一命题逻辑公式化简【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。

【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。

实验用例:用化简命题逻辑公式的方法设计一个5人表决开关电路,要求3人以上(含3人)同意则表决通过(表决开关亮)。

【实验原理和方法】(1)写出5人表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。

(2)上面公式中的每一个联结词是一个开关元件,将它们定义成C语言中的函数。

(3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。

(4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。

参考代码:#include<stdio.h>int vote(int a,int b,int c,int d,int e){//五人中任取三人的不同的取法有10种。

i f( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e || c&&d&&e)return 1;e lsereturn 0;}void main(){i nt a,b,c,d,e;p rintf("请输入第五个人的表决值(0或1,空格分开):");s canf("%d%d%d%d%d",&a,&b,&c,&d,&e);i f(vote(a,b,c,d,e))printf("很好,表决通过!\n");e lseprintf("遗憾,表决没有通过!\n");}//注:联结词不定义成函数,否则太繁实验二命题逻辑推理【实验目的】加深对命题逻辑推理方法的理解。

离散数学第四版课后标准答案

离散数学第四版课后标准答案

离散数学第四版课后答案第1章习题解答1.1 除(3),(4),(5),(11)外全是命题,其中,(1),(2),(8),(9),(10),(14),(15)是简单命题,(6),(7),(12),(13)是复合命题。

分析首先应注意到,命题是陈述句,因而不是陈述句的句子都不是命题。

本题中,(3)为疑问句,(5)为感叹句,(11)为祈使句,它们都不是陈述句,所以它们都不是命题。

其次,4)这个句子是陈述句,但它表示的判断结果是不确定。

又因为(1),(2),(8),(9),(10),(14),(15)都是简单的陈述句,因而作为命题,它们都是简单命题。

(6)和(7)各为由联结词“当且仅当”联结起来的复合命题,(12)是由联结词“或”联结的复合命题,而(13)是由联结词“且”联结起来的复合命题。

这里的“且”为“合取”联结词。

在日常生活中,合取联结词有许多表述法,例如,“虽然……,但是……”、“不仅……,而且……”、“一面……,一面……”、“……和……”、“……与……”等。

但要注意,有时“和”或“与”联结的是主语,构成简单命题。

例如,(14)、(15)中的“与”与“和”是联结的主语,这两个命题均为简单命题,而不是复合命题,希望读者在遇到“和”或“与”出现的命题时,要根据命题所陈述的含义加以区分。

1.2 (1)p: 2是无理数,p为真命题。

(2)p:5能被2整除,p为假命题。

(6)p→q。

其中,p:2是素数,q:三角形有三条边。

由于p与q都是真命题,因而p→q为假命题。

(7)p→q,其中,p:雪是黑色的,q:太阳从东方升起。

由于p为假命题,q为真命题,因而p→q为假命题。

(8)p:2000年10月1日天气晴好,今日(1999年2月13日)我们还不知道p的真假,但p的真值是确定的(客观存在的),只是现在不知道而已。

(9)p:太阳系外的星球上的生物。

它的真值情况而定,是确定的。

1(10)p:小李在宿舍里. p的真值则具体情况而定,是确定的。

离散数学实验指导书(附带模板)

离散数学实验指导书(附带模板)

《离散数学》实验指导书一、实验目的《离散数学》是现代数学的一个重要分支,是计算机科学与技术专业的基础理论课,也是该专业的核心课程和主干课程。

“离散数学”是计算机专业一门重要的专业技术基础课程,是计算机专业的一门核心的关键性课程。

该课程一方面为后继课程如数据结构、编绎原理、操作系统、数据库原理、人工智能和形式语言与自动机等提供必要的理论基础;同时,更为重要的是培养学生的抽象思维能力和逻辑推理能力,为今后的学习和工作打好基础。

无论从计算机学科发展的过去、现在和未来看,《离散数学》都是计算机科学与技术专业不可缺少的重要组成部分。

这门课程有着其它课程不可替代的地位和作用,是一门承前启后的课程。

根据《离散数学》课程本身的理论性较强的特性,为了帮助学生更好地学习本课程,理解和掌握所学基本概念和方法,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,设置实践环节十分重要。

通过实验实践内容的训练,突出逻辑性思维训练的特征, 目的是学习离散数学中的基本算法和方法,掌握数理逻辑、关系和图论中的基本算法,提高学生学习的兴趣及实际动手的能力。

通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握所学知识,培养分析、解决实际问题的能力。

二、实验要求掌握真值表技术,熟悉联结词合取、析取、条件和双条件的概念。

熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。

熟悉邻接矩阵和两结点间长度为m 的路的数目的关系。

熟悉最优树的构造算法,掌握最优树的构造过程。

实验前作好准备,分析问题并确定算法,设计代码。

做实验过程中认真分析和调试程序,记录并分析实验结果。

实验后完成实验报告,实验报告包括实验目的、实验内容、源程序、运行结果及分析。

可以使用C、VC或MATLAB完成实验。

实验题目包括真值计算、关系闭包计算、计算两结点间长度为m的路的数目、最优树的构造四个实验,每个实验要求2个学时完成。

三、实验设备及环境PC机一台,软件C、VC或MATLAB四、实验内容实验一真值计算1、实验目的熟悉五个常用联结词合取、析取、条件和双条件的概念,掌握真值表技术。

离散数学课后习题答案

离散数学课后习题答案

离散数学课后习题答案离散数学课后习题答案离散数学是计算机科学中的一门重要课程,它涵盖了诸多数学概念与技巧,为计算机科学的理论基础打下了坚实的基础。

在学习离散数学的过程中,课后习题是巩固知识、提高能力的重要途径。

然而,有时候我们会遇到一些难以解答的问题,需要参考一些答案来进行思考与学习。

本文将为大家提供一些离散数学课后习题的答案,希望能对大家的学习有所帮助。

一、集合论1. 设A={1,2,3},B={2,3,4},求A∪B和A∩B的结果。

答案:A∪B={1,2,3,4},A∩B={2,3}。

2. 证明:任意集合A和B,有(A-B)∪(B-A)=(A∪B)-(A∩B)。

答案:首先,对于任意元素x,如果x属于(A-B)∪(B-A),那么x属于A-B或者x属于B-A。

如果x属于A-B,那么x属于A∪B,但x不属于A∩B;如果x属于B-A,同样有x属于A∪B,但x不属于A∩B。

所以(A-B)∪(B-A)属于(A∪B)-(A∩B)。

另一方面,对于任意元素x,如果x属于(A∪B)-(A∩B),那么x属于A∪B,但x不属于A∩B。

所以x属于A或者x属于B。

如果x属于A,但x不属于B,那么x属于A-B;如果x属于B,但x不属于A,那么x属于B-A。

所以x属于(A-B)∪(B-A)。

所以(A∪B)-(A∩B)属于(A-B)∪(B-A)。

综上所述,(A-B)∪(B-A)=(A∪B)-(A∩B)。

证毕。

二、逻辑与证明1. 证明:如果p为真命题,那么¬p为假命题。

答案:根据命题的定义,命题要么为真,要么为假,不存在其他情况。

所以如果p为真命题,那么¬p为假命题。

2. 证明:对于任意整数n,如果n^2为偶数,则n为偶数。

答案:假设n为奇数,即n=2k+1(k为整数)。

那么n^2=(2k+1)^2=4k^2+4k+1=2(2k^2+2k)+1。

根据偶数的定义,2(2k^2+2k)为偶数,所以n^2为奇数。

离散数学实践指导书

离散数学实践指导书

《离散数学实践》实验指导书课程类型:必修课适应专业:计算机科学与技术总学时:20学时实验学时:20(上机)实验次数:7先修课程:C(++)语言一、前言《离散数学》课程实验的目的是培养学生使用所学过的计算机程序设计语言求解一些简单的离散数学问题,通过实验帮助实验者理解有关的重要概念,加深了解和更好地掌握《离散数学》课程教学大纲要求的内容。

在《离散数学实践》的课程实验过程中,要求学生做到:1. 预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前做出思考和分析;2. 认真书写实验报告。

实验报告包括实验目的和要求,实验情况及其分析;写出程序设计说明,给出源程序框图和清单;3. 实验完成之后,应对算法与源程序进行评价,对运行结果进行分析,提交源程序及两组调试数据及其实验结果;4. 遵守机房纪律,爱护实验设备。

二、实验目的1. 培养学生动手编程解决实际问题的能力;2. 训练学生分析问题和调试程序的能力;3. 锻炼学生分析科技实验结果的能力;4. 为后续的课程学习和工作奠定良好的基础。

三、实验要求1. 问题分析:充分地分析和理解问题本身,弄清要求做什么,用什么算法。

2. 程序设计1) 根据所采用的算法,设计数据结构,画出流程图并编程;2) 最后准备调试程序的数据及测试方案。

3. 上机调试1) 对程序进行编译,纠正程序中可能出现的语法错误;2) 调试前,先运行一遍程序看看究竟将会发生什么;3) 如果情况不好,根据事先设计的测试方案并结合现场情况进行错误跟踪,包括单步调试. 设置观察窗输出中间变量值等手段。

4. 整理实验报告1) 实验内容:采用的算法名称;2) 问题描述:包括目标. 任务. 条件约束描述等;3) 设计:数据结构设计和核心算法设计. 主要功能模块的输入. 处理(算法框架)和输出;4) 测试范例:测试结果的分析讨论. 测试过程中遇到的主要问题及所采用的解决措施;5) 心得:包括程序的改进设想,经验和体会;6) 程序清单:源程序,其中包括变量说明及详细的注释。

离散数学实验指导书_工程认证(实验6:洒水车路线问题)

离散数学实验指导书_工程认证(实验6:洒水车路线问题)

实验六洒水车路线问题●实验所属系列:离散数学课程实验●实验对象:本科●相关课程及专业:离散数学,计算机科学与技术●实验类型:设计型实验●实验时数(学分):4学时实验目的解决与图论中欧拉回路有关的实际问题,扩展对于书本知识的理解,提高程序设计能力和逻辑思维能力。

实验内容与要求一辆洒水车从所在的市政办公点出发,需要在所有负责的街道上洒水,并最后回到原点。

问洒水车如何设计路线才能使得走的路程最短。

实验的软硬件环境PC机一台,装有C/C++/JA V A语言集成开发环境。

实验过程和方法1)对给定问题进行理论分析;将这个问题抽象成图论的语言,就是给定一个连通图,每条边的权值就是街道的长度,本问题转化为在图中求一条回路,使得回路的总权值最小。

如果街道的连通图为欧拉图,则只要求出图中的一条欧拉回路即可。

否则,洒水车要完成任务就必须在某些街道上重复走若干次。

如果重复走一次,就加一条平行边,于是原来对应的图形就变成了多重图。

只是要求加进的平行边的总权值最小就行了。

于是,问题就转化为,在一个有奇度数结点的赋权连通图中,增加一些平行边,使得新图不含奇度数结点,并且增加的边的总权值最小。

因此,问题的关键在于如何增加这些平行边。

设V1为图中所有奇度数节点的集合,下面给出了算法:1.使用弗洛伊德算法计算图中任一两结点间的最短路径长度。

2.构成一个|V1|×|V1|的矩阵,这个矩阵给出了图中每两个奇度数结点间的最短路径长度,3.将矩阵中的结点进行两两组合,找出一个最佳的组合情况,这种组合使得他们的最短路径长度之和最小。

4.根据前面得到的最佳组合,求出各对组合的最短路径。

并将最短路径上的每条边都加一条平行边。

5.利用Fleury算法求欧拉回路。

下面举例说明这个算法:上图的奇度数结点为1,3,6,11奇度数结点构成的矩阵为136111-153876315-247663824-5211767652-结点的最佳组合为:136111-153876315-247663824-5211767652-由于是对称的矩阵,我们只关心上三角部分:136111-153876315-247663824-5211767652-现在我们得到1和3,6和11之间的最短路径(1;3) (6;9), (9;11)将最短路径上的边各添加一条平行边。

离散数学课后答案

离散数学课后答案

离散数学课后答案第一章离散数学基础题目1问题:证明集合A和集合B的笛卡尔积的基数等于集合A 和集合B的基数的乘积。

答案:设集合A的基数为|A|,集合B的基数为|B|。

我们要证明集合A和集合B的笛卡尔积的基数等于集合A和集合B的基数的乘积,即|(A x B)| = |A| * |B|。

首先,我们可以将集合A x B表示为{(a, b) | a∈A, b∈B}。

由于A和B是两个集合,集合A x B中的元素可以看作是将A 中每个元素与B中每个元素组成的有序对。

因此,集合A x B 中的元素个数等于A中元素的个数乘以B中元素的个数,即|(A x B)| = |A| * |B|。

题目2问题:对任意两个集合A和B,证明A∩(A∪B) = A。

答案:要证明A∩(A∪B) = A,首先我们需要理解集合的交和并的定义。

- 集合的交:集合A∩B表示同时属于集合A和集合B的元素组成的集合。

- 集合的并:集合A∪B表示属于集合A或集合B的元素组成的集合。

现在,我们开始证明。

首先,根据集合的并的定义,A∪B 表示属于集合A或集合B的元素组成的集合。

因此,任意属于集合A的元素也一定属于A∪B,即A⊆A∪B。

其次,根据集合的交的定义,A∩(A∪B)表示同时属于集合A和集合A∪B的元素组成的集合。

由于A⊆A∪B,所以A中的元素一定属于A∪B,因此A∩(A∪B) = A。

综上所述,对任意两个集合A和B,A∩(A∪B) = A成立。

第二章命题逻辑题目1问题:证明合取命题的真值表达式。

答案:合取命题的真值表达式表示命题P和命题Q同时为真时合取命题为真,否则为假。

假设命题P和命题Q的真值分别为真(T)或假(F),那么合取命题的真值可以通过以下真值表得出:P Q P∧QT T TT F FF T FF F F从上述真值表可以看出,只有P和Q都为真时,合取命题才为真。

如果其中一个或两个命题为假,则合取命题为假。

题目2问题:证明命题的等价关系。

离散数学课本参考答案3

离散数学课本参考答案3

1、小王今天说:“如果我有女朋友,那么我晚上会去看电影。

”我晚上在电影院遇到小王看电影,请问小王有女朋友吗?无法判断小王是否有女朋友2、小王一位诚实的人,他今天说:“如果我有女朋友,那么我晚上会去看电影。

”请问他晚上会不会去看电影?无法判断小王是否去看电影P37习题11.2(1)-(5)前四题为真命题第五题是假命题,真值为11110或T T T TF1.3(1)P R Q ⌝∧→ (2) Q R → (3) P Q →⌝1.4(了解即可)(1)P :我努力学习 Q :我通过考试 符号为:P Q →(2)P :我努力学习 Q :我通过考试 符号为:Q P →(3)P :小刘去出差 Q :小王去出差 符号为:()P Q ⌝∧或P Q ⌝∨⌝(4)P :他能按时到达目的地 Q :飞机晚点 符号为:Q P →⌝(5)P :今天他起晚了 Q :堵车 R :他迟到 符号为:P1.6()()()()()()()1()()()A B A A B A A A B A A B A A B →→⇔⌝∨⌝∨⇔∨⌝∨⌝⇔⌝⌝∨→⌝⇔⌝→→⌝条件转化律结合律条件转化律 ()()()()()()()()()()()()()()()()()()()()()2A B A B B A A B B A A B B A A B B A A B A A B B B A A B A B ⌝↔⇔⌝→∧→⇔⌝⌝∨∧⌝∨⇔⌝⌝∨∨⌝⌝∨⇔∧⌝∨∧⌝⇔∨∧∨⌝∧∨⌝∧⌝∨⌝⇔∨∧⌝∨⌝德摩根德摩根分配律 ()()()()()()()()3A D B D A B DA DB D A B D A B D→∧→⇔∨→⇔⌝∨∧⌝∨⇔⌝∧⌝∨⇔⌝∨∨ 1.7()()()()()()()11A B B A CA B A B C C C→↔⌝→⌝∧⇔→↔→∧⇔∧⇔()()()()21A B C A B C A A B C B C B C∧∧∨⌝∧∧⇔∨⌝∧∧⇔∧∧⇔∧1.8 ()1A C B C ∨⇔∨,A B ⇔不一定成立,例A=1,B=0,C=1 ()2A C B C ∧⇔∧,A B ⇔不一定成立,例A=1,B=0,C=0 ()3,A B A B A B A B⌝⇔⌝⌝⌝⇔说明和真值相同,即与真值相同,即1.9 ()()()()()()()()()()11P P Q Q P P Q QP P Q Q P P P Q Q ∧→→⇔⌝∧⌝∨∨⇔⌝∨∧⌝∨⇔⌝∨∧⌝∨⌝∨⇔ ()()()()()()()()()()()21P Q P P Q P Q P P Q P Q P Q P P Q Q P Q →→→∧⇔⌝⌝∨∨⌝∨∧⇔∧⌝∨⌝∨⇔∨⌝∨∧⌝∨⌝∨⇔ ()()()31P P Q P P Q ⌝→→⇔∨⌝∨⇔(1.10 1.11不要求)1.12(1)()()()1,3P Q Q P Q QP Q Q Q ⌝∨⌝→⇔⌝⌝∨⌝∨⇔∧∨⇔⇔∑()()()()()32∑⇔∧⇔⌝∧∨∧⇔⌝∨∧Q P Q Q Q P Q P Q ()()()()()()()31,2,3,4,5,6,7P P Q Q R P P Q Q R P Q R ∨⌝→∨⌝→⇔∨∨∨∨⇔∨∨⇔∑ ()()()()()()()()()()()()()()∑⇔∧∧∨⌝∧⌝∧⌝⇔∨∧∧∨⌝∧⌝∧⌝∨∧⌝⇔⌝∧⌝∨∧∧∨⌝⇔⌝∧⌝→⌝∧∧→7,004R Q P R Q P R Q P R Q P P P R Q P R Q P R Q P R Q P ()()∑⇔∧∧⌝∨7,6,5,4,35R Q P P。

离散数学答案屈婉玲版第二版高等教育出版社课后答案.docx

离散数学答案屈婉玲版第二版高等教育出版社课后答案.docx

离散数学答案屈婉玲版第⼆版⾼等教育出版社课后答案.docx离散数学答案屈婉玲版第⼆版⾼等教育出版社课后答案第⼀章部分课后习题参考答案16设p 、q 的真值为0; r 、S 的真值为1,求下列各命题公式的真值。

(1) p ∨ (q ∧ r)⼆ O V (0 ∧ 1) U 0(2) ( p? r )∧ (「q ∨ S)⼆ (0? 1)∧ (1 ∨ 1)⼆ 0∧ 1= 0. (3)( ⼀ p ∧⼀ q ∧ r ) ? (P ∧ q ∧, r)⼆(1∧ 1∧ 1)(0 ∧ 0∧ 0)=0(4) (⼀ r ∧ S )→(P ∧⼀ q) U (0∧ 1)→ (1 ∧ 0) = 0→O= 1 17 .判断下⾯⼀段论述是否为真:“⼆是⽆理数。

并且,如果3是⽆理数,则' 2也是⽆理数。

另外6能被2整除,6才能被4整除。

”答:p:⼆是⽆理数 1q: 3是⽆理数 0 r:2是⽆理数 1s: 6能被2整除1 t: 6能被4整除 0命题符号化为:p ∧ (q →r) ∧ (t →S)的真值为1,所以这⼀段的论述为真19.⽤真值表判断下列公式的类型: (4) (P → q) → (_q —_ P) (5) (P ∧ r)' (—p ∧⼀q) (6) ((P →q) ∧ (q → r)) →(p →r)(5) 公式类型为可满⾜式(⽅法如上例) (6) 公式类型为永真式(⽅法如上例)答:(4)_ p → q^q 1 1 1POOIOOI 1 1 1 0 所以公式类型为永真式P 1 1 0 0q —_p 1 1 0 1(p → q)→ (—q →-P) 1 1 1 1第⼆章部分课后习题参考答案3. ⽤等值演算法判断下列公式的类型,对不是重⾔式的可满⾜式,再⽤真值表法求出成真赋值?⑴⼀(p∧q→q)(2) (p→(P ∨q))∨(p→r)(3) (P∨q)→(P∧r)答:(2) (p→(p∨q))∨(p→r):= (⼀p∨(p∨q))∨(⼀p∨r):= ^ p∨p∨q∨r= 1 所以公式类型为永真式⑶P q r p∨q P ∧r (P∨q)→ (P∧0 0 0 0 0 10 0 1 0 0 10 1 0 1 0 00 1 1 1 0 01 0 0 1 0 01 0 1 1 1 11 1 0 1 0 01 1 1 1 1 1所以公式类型为可满⾜式4. ⽤等值演算法证明下⾯等值式:⑵(P → q) ∧(P → r)⼆(P → (q ∧r))⑷(P ∧- q) ∨ (—p∧q)= (p ∨q) ∧⼀(P ∧q)证明(2)(P →q) ∧(P →r)(^p∨q) ∧( ⼀p∨r)=^p∨(q ∧r)):=p→ (q ∧ r)(4) (P ∧— q) ∨ (—p∧q) = (p ∨ (—p∧q)) ∧(~ q∨ ( —p∧q)⼆(P∨— P) ∧(P∨q)∧(⼀q∨-P) ∧Cq∨q)U 1 ∧(P ∨q) ∧^ (P ∧q) ∧1U (P ∨q) ∧^ (P ∧q)5. 求下列公式的主析取范式与主合取范式,并求成真赋值(1) ( ^P→q)→(⼀q∨P)(2) _(P→q) ∧q∧r(3) (P ∨(q ∧r)) →(P ∨q∨r)解:(1) 主析取范式(-p→ q) → (-q P)--(P q) (⼀q P)=(—P ^q) ( ⼀q P)=(-P ^q) (⼀q P) (⼀q -P) (P q) (P ^q)-(-P ^q) (P ^q) (P q)U m0m2m3U ∑ (0,2,3)主合取范式:(^P→q)→(⼀q P)--(P q) (⼀q P)U ( -p -q) (⼀q P)=(-p ( -q P)) ( -q (-q P))=1 (p — q)-(P _q) - M iU ∏ (1)(2) 主合取范式为:—(P → q) q r = ⼀(⼀p q) q r=(P _ q) q r = 0所以该式为⽭盾式?主合取范式为∏(0,1,2,3,4,5,6,7)⽭盾式的主析取范式为0(3) 主合取范式为:(P (q r)) → (P q r)u ⼀(P (q r)) → (P q r)=(⼀p ( ⼀q _ r)) (P q r)U ( ⼀p (P q r)) (( ⼀q ^ r)) (P q r)) =1 1所以该式为永真式?永真式的主合取范式为1主析取范式为∑(0,1,2,3,4,5,6,7)第三章部分课后习题参考答案14.在⾃然推理系统P中构造下⾯推理的证明⑵前提:p—;q, —(q r),r结论:_ P(4)前提:q“ p,q s,s I t,t r结论:P q证明:(2)①—(q r) 前提引⼊②—q ⼀r ①置换③ q ? ⼀r ②蕴含等值式④r 前提引⼊⑤⼀q ③④拒取式⑥p— q 前提引⼊⑦」P (3)⑤⑥拒取式证明(4):①t r 前提引⼊②t ①化简律③qι S前提引⼊④SI t 前提引⼊⑤q t ③④等价三段论(q~ t)(t > q) ⑤置换⑦(q T )⑥化简⑧q ②⑥假⾔推理⑨ q—;P 前提引⼊⑩P ⑧⑨假⾔推理(11)p q ⑧⑩合取15在⾃然推理系统P中⽤附加前提法证明下⾯各推理(1)前提:p— (q > r),S > p,q结论:S-;r证明①S 附加前提引⼊②Sr P 前提引⼊③P ①②假⾔推理④P- (q - r) 前提引⼊⑤ q—;r ③④假⾔推理⑥q 前提引⼊⑦r ⑤⑥假⾔推理16在⾃然推理系统P中⽤归谬法证明下⾯各推理:(1)前提:p ■ —q, —r q,r - S结论:- P证明:①P 结论的否定引⼊② p—;「q 前提引⼊③⼚q ①②假⾔推理r q 前提引⼊⑤「r ④化简律⑥r 「S 前提引⼊⑦r ⑥化简律⑧r 「r ⑤⑦合取由于最后⼀步r 「r是⽭盾式,所以推理正确.第四章部分课后习题参考答案3.在⼀阶逻辑中将下⾯将下⾯命题符号化,并分别讨论个体域限制为(a),(b)条件时命题的真值:(1) 对于任意X,均有声-2=(x+ )(x T Q.(2) 存在x,使得x+5=9.其中(a)个体域为⾃然数集合.(b) 个体域为实数集合.解:F(x): F=2=(x+遢)(x :區).G(x): x+5=9.(1)在两个个体域中都解释为-XF(X),在(a)中为假命题,在(b)中为真命题。

离散数学课后习题答案(左孝凌版)演示教学

离散数学课后习题答案(左孝凌版)演示教学

离散数学课后习题答案(左孝凌版)离散数学课后习题答案 (左孝凌版)1-1,1-2(1)解:a)是命题,真值为T。

b)不是命题。

c)是命题,真值要根据具体情况确定。

d)不是命题。

e)是命题,真值为T。

f)是命题,真值为T。

g)是命题,真值为F。

h)不是命题。

i)不是命题。

(2)解:原子命题:我爱北京天安门。

复合命题:如果不是练健美操,我就出外旅游拉。

(3)解:a)(┓P ∧R)→Qb)Q→Rc)┓Pd)P→┓Q(4)解:a)设Q:我将去参加舞会。

R:我有时间。

P:天下雨。

Q↔ (R∧┓P):我将去参加舞会当且仅当我有时间和天不下雨。

b)设R:我在看电视。

Q:我在吃苹果。

R∧Q:我在看电视边吃苹果。

c) 设Q:一个数是奇数。

R:一个数不能被2除。

(Q→R)∧(R→Q):一个数是奇数,则它不能被2整除并且一个数不能被2整除,则它是奇数。

(5) 解:a)设P:王强身体很好。

Q:王强成绩很好。

P∧Qb)设P:小李看书。

Q:小李听音乐。

P∧Qc)设P:气候很好。

Q:气候很热。

P∨Qd)设P: a和b是偶数。

Q:a+b是偶数。

P→Qe)设P:四边形ABCD是平行四边形。

Q :四边形ABCD的对边平行。

P↔Qf)设P:语法错误。

Q:程序错误。

R:停机。

(P∨ Q)→ R(6) 解:a)P:天气炎热。

Q:正在下雨。

P∧Qb)P:天气炎热。

R:湿度较低。

P∧Rc)R:天正在下雨。

S:湿度很高。

R∨Sd)A:刘英上山。

B:李进上山。

A∧Be)M:老王是革新者。

N:小李是革新者。

M∨Nf)L:你看电影。

M:我看电影。

┓L→┓Mg)P:我不看电视。

Q:我不外出。

R:我在睡觉。

P∧Q∧Rh)P:控制台打字机作输入设备。

Q:控制台打字机作输出设备。

P∧Q(1)解:a)不是合式公式,没有规定运算符次序(若规定运算符次序后亦可作为合式公式)b)是合式公式c)不是合式公式(括弧不配对)d)不是合式公式(R和S之间缺少联结词)e)是合式公式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一命题逻辑公式化简【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。

【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。

实验用例:用化简命题逻辑公式的方法设计一个5人表决开关电路,要求3人以上(含3人)同意则表决通过(表决开关亮)。

【实验原理和方法】(1)写出5人表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。

(2)上面公式中的每一个联结词是一个开关元件,将它们定义成C语言中的函数。

(3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。

(4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。

参考代码:#include<stdio.h>int vote(int a,int b,int c,int d,int e){//五人中任取三人的不同的取法有10种。

i f( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e || c&&d&&e)return 1;e lsereturn 0;}void main(){i nt a,b,c,d,e;p rintf("请输入第五个人的表决值(0或1,空格分开):");s canf("%d%d%d%d%d",&a,&b,&c,&d,&e);i f(vote(a,b,c,d,e))printf("很好,表决通过!\n");e lseprintf("遗憾,表决没有通过!\n");}//注:联结词不定义成函数,否则太繁实验二命题逻辑推理【实验目的】加深对命题逻辑推理方法的理解。

【实验内容】用命题逻辑推理的方法解决逻辑推理问题。

实验用例:根据下面的命题,试用逻辑推理方法确定谁是作案者,写出推理过程。

(1)营业员A或B偷了手表;(2)若A作案,则作案不在营业时间;(3)若B提供的证据正确,则货柜末上锁;(4)若B提供的证据不正确,则作案发生在营业时间;(5)货柜上了锁。

【实验原理和方法】(1)符号化上面的命题,将它们作为条件,营业员A偷了手表作为结论,得一个复合命题。

(2)将复合命题中要用到的联结词定义成C语言中的函数,用变量表示相应的命题变元。

将复合命题写成一个函数表达式。

(3)函数表达式中的变量赋初值1。

如果函数表达式的值为1,则结论有效, A偷了手表,否则是B偷了手表。

用命题题变元表示:A:营业员A偷了手表B:营业员B偷了手表C:作案不在营业时间D:B提供的证据正确E:货柜末上锁则上面的命题符号化为 (A||B) && (!A||C) && (!D||E) && (D||!C) && !E要求找到满足上面式子的变元A,B的指派便是结果。

C语言算法:i nt A,B,C,D,E;f or(A=0;A<=1;A++)for(B=0;B<=1;B++)for(C=0;C<=1;C++)for(D=0;D<=1;D++)for(E=0;E<=1;E++)if((A||B) && (!A||C) && (!D||E) && (D||!C) && !E)printf("A=%d,B=%d\n",A,B);}/*实验结果是:A=0,B=1,即B偷了手表*/实验三集合运算【实验目的】掌握用计算机求集合的交、并、差和补运算的方法。

【实验内容】编程实现集合的交、并、差和补运算。

【实验原理和方法】(1)用数组A,B,C,E表示集合。

输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。

以下每一个运算都要求先将集合C置成空集。

(2)二个集合的交运算:把数组A中元素逐一与数组B中的元素进行比较,将相同的元素放在数组C中,数组C便是集合A和集合B的交。

C语言算法:f or(i=0;i<m;i++)for(j=0;j<n;j++)if(a[i]==b[j]) c[k++]=a[i];(3)二个集合的并运算:把数组A中各个元素先保存在数组C中。

将数组B中的元素逐一与数组B中的元素进行比较,把不相同的元素添加到数组C中,数组C便是集合A和集合B的并。

C语言算法:for(i=0;i<m;i++)c[i]=a[i];f or(i=0;i<n;i++){for(j=0;j<m;j++)if(b[i]==c[j]) break;if(j==m){ c[m+k]=b[i];k++;}}(4)二个集合的差运算:把数组A中各个元素先保存在数组C中。

将数组B中的元素逐一与数组B中的元素进行比较,把相同的元素从数组C中删除,数组C便是集合A和集合B的差A-B。

C语言算法:f or(i=0;i<m;i++)c[i]=a[i];f or(i=0;i<n;i++)for(j=0;j<m;j++)if(b[i]==c[j]){for(k=j;k<m;k++)c[k]=c[k+1];/*移位*/m--;break;}(5)集合的补运算:将数组E中的元素逐一与数组A中的元素进行比较,把不相同的元素保存到数组C中,数组C便是集合A关于集合E的补集。

求补集是一种种特殊的集合差运算。

实验四 二元关系及其性质【实验目的】掌握二元关系在计算机上的表示方法,并掌握如果判定关系的性质。

【实验内容】 编程判断一个二元关系是否为等价关系,如果是,求其商集。

等价关系:集合A 上的二元关系R 同时具有自反性、对称性和传递性,则称R 是A 上的等价关系。

【实验原理和方法】(1)A 上的二元关系用一个n ×n 关系矩阵R=n n ij r ⨯)(表示,定义一个n ×n 数组r[n][n]表示n ×n 矩阵关系。

(2)若R 对角线上的元素都是1,则R 具有自反性。

C 语言算法:int i,flag=1;for(i=0;i<N && flag ;i++)if(r[i][i]!=1) flag=0; 如果flag=1, 则R 是自反关系(3)若R 是对称矩阵,则R 具有对称性。

对称矩阵的判断方法是:R r R r ji ij ∈∀∈∀有,。

C 语言算法:int i,j,flag=1;for(i=0;i<N && flag ;i++)for(j=i+1;j<N && flag;j++)if(r[i][j] &&r[j][i]!=1) flag=0; 如果flag=1, 则R 是对称关系(4)关系的传递性判断方法:对任意i ,j ,k ,若111===ik jk ij r r r 有且。

C 语言算法:int i,j,k,flag=1;for(i=0;i<N && flag;i++)for(j=0;j<N && flag;j++)for(k=0;k<N && flag;k++)if(r[i][j] &&r[j][k] && r[i][k]!=1) flag=0; 如果flag=1, 则R 是传递关系(5)求商集的方法:商集是由等价类组成的集合。

已知R 是等价关系,下面的算法是把等价类分行打印出来。

C 语言算法:int i,j,flag=1;int a[N];for(i=0;i<N;i++)a[i]=i+1;/*i代表第i个元素*/for(i=0;i<N;i++){if(a[i]){printf("{ ");for(j=0;j<N;j++)if(r[i][j] && a[j]!=0){printf("%d ",a[j]);/*打印和第i个元素有关系的所有元素*/a[j]=0;}printf("}\n");}}实验五 关系闭包运算【实验目的】掌握求关系闭包的方法。

【实验内容】编程求一个关系的闭包,要求传递闭包用warshall 方法。

【实验原理和方法】设N 元关元系用r[N][N]表示,c[N][N]表示各个闭包,函数initc(r)表示将c[N][N]初始化为r[N][N]。

(1)自反闭包:A I R R r =)(。

C 语言算法: 将关系矩阵的对角线上所有元素设为1。

initc(r);/*将关系矩阵的对角线上所有元素设为1*/for(i=0;i<N;i++) c[i][i]=1;(2)对称闭包:R R R s '= )(C 语言算法: 在关系矩阵的基础上,若1,1==ji ij r r 令。

initc(r);for(i=0;i<N;i++)for(j=0;j<N;j++) if(c[i][j]) c[j][i]=1;/*将关系矩阵的对角线上所有元素设为1*/(3)传递闭包:n R R R R t 2)(=,或用warshall 方法。

方法1:n R R R R t 2)(=,下面求得的关系矩阵T=n n ij b ⨯)(就是)(R t 。

int b[N][N];initc(r);/*用c 装好r*/for(m=1;m<N;m++) /*得r 的m 次方,用c 装好*/{for(i=0;i<N;i++)for(j=0;j<N;j++){b[i][j]=0;for(k=0;k<N;k++)b[i][j]+=c[i][k]*r[k][j];if(b[i][j]) b[i][j]=1;} initc(b);/*把r 的m 次方b 赋给c 保存*/方法2:warshall方法initc(r);/*用c装好r*/for(i=0;i<N;i++)for(j=0;j<N;j++)if(c[j][i])for(k=0;k<N;k++){c[j][k]=c[j][k]+c[i][k];if(c[j][k]) c[j][k]=1;}实验六 欧拉图判定和应用【实验目的】掌握判断欧拉图的方法。

相关文档
最新文档