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

  • 35
  • 0
  • 约1.49万字
  • 约 15页
  • 2021-07-13 发布于湖北
  • 举报
实验一 命题逻辑公式化简 【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌 握利用基本等价公式化简公式的方法。 【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。 实验用例: 用化简命题逻辑公式的方法设计一个 5 人表决开关电路, 要求 3 人以上 (含 3 人)同意则表决通过(表决开关亮) 。 【实验原理和方法】 (1)写出 5 人表决开关电路真值表, 从真值表得出 5 人表决开关电路的主合取公式 (或 主析取公式) ,将公式化简成尽可能含五个基本联结词最少的等价公式。 (2 )上面公式中的每一个联结词是一个开关元件,将它们定义成 C 语言中的函数。 (3)输入 5 人表决值( 0 或 1),调用上面定义的函数,将 5 人表决开关电路真值表的 等价公式写成一个函数表达式。 (4 )输出函数表达式的结果,如果是 1,则表明表决通过,否则表决不通过。 参考代码: #includestdio.h int vote(int a,int b,int c,int d,int e) { / / 五人中任取三人的不同的取法有 10 种。 i f( abc || abd || abe || acd || ace || ade || bcd || bce || bde || cde) return 1; else return 0; } void main() { i nt a,b,c,d,e; printf( 请输入第五个人的表决值( 0 或 1,空格分开) :); scanf(%d%d%d%d%d,a,b,c,d,e); i f(vote(a,b,c,d,e)) printf( 很好,表决通过! \n); else printf( 遗憾,表决没有通过! \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 要求找到满足上面式子的变元

文档评论(0)

1亿VIP精品文档

相关文档