
离散实验(一)
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
《离散实验(一)》是一篇探讨离散数学理论在实际问题中应用的文章。通过具体的实验案例,揭示了离散结构和算法的重要性,并展示了如何解决现实生活中的复杂问题。
根据提供的实验报告,我们可以提取出以下关键知识点:
### 实验背景
本次实验是关于离散数学的一个实践项目,主要目标是通过编程的方式实现利用真值表法求取任意含有三个以内变量的合式公式的主析取范式(DNF)和主合取范式(CNF)。该实验针对南京邮电大学计算机科学与技术系的学生进行。
### 实验目的
- 学习并掌握如何列出任意合式公式的真值表。
- 掌握根据真值表求解相应的主析取范式和主合取范式的方法。
- 提升学生的逻辑思维能力和编程能力。
### 实验环境
- **硬件**: PC机。
- **软件**: 使用 VC++6.0 集成开发环境。
### 实验原理及内容
#### 内容概述
本实验旨在通过编写程序来实现对含有三个以内变量的合式公式的主析取范式和主合取范式的计算。具体步骤包括:
1. 输入一个合法的命题公式。
2. 分析公式中的变量,并统计变量个数。
3. 构建对应的真值表。
4. 根据真值表求解主析取范式和主合取范式。
#### 实验代码解析
- **预处理头文件**: 实验程序包含了多个标准库文件,如 `stdio.h`、`stdlib.h`、`string.h`、`conio.h` 和 `math.h`。这些库提供了输入输出操作、字符串操作等基本功能支持。
- **全局变量定义**: 定义了一个常量 `N`, 表示数组的最大长度,并且包含了一些辅助函数,如用于判断的 `panduan()` 函数、求取主合取范式的 `tkh()` 和求取主析取范式的 `fkh()`
- **主函数解析**: 主函数是程序的入口点。它首先打印提示信息告知用户如何输入合法命题公式。接着接收并分析用户的输入。
- **变量统计**: 遍历输入的公式,统计其中出现的变量个数,并记录每个变量。
- **构建真值表**: 根据变量数量生成相应的真值表。
- **求解主析取范式和主合取范式**: 利用辅助函数分别计算出主析取范式和主合取范式的表达形式。
### 实验流程
1. 用户输入命题公式,遵循特定符号约定(如使用 `!` 表示非、`&` 表示与、`|` 表示或等)。
2. 系统分析输入的公式,统计其中变量个数,并记录每个变量。
3. 根据变量数量构建真值表。
4. 利用辅助函数求解主析取范式和主合取范式。
5. 输出最终结果。
### 小结
通过本次实验,学生不仅能够深入了解命题逻辑的基本概念,还能学会如何利用计算机编程解决实际问题。这对于提高学生的逻辑思维能力和编程技巧具有重要意义。此外,该实验要求学生熟练使用C语言进行编程,对于计算机专业的学习者来说至关重要。
全部评论 (0)


