计算机软件基础 实验指导书

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

试验一:线性表的设计与实现
Experiment No.1: The Design and Implementation of Linear List
实验学时:2
实验类型:设计
先修课程:<<c语言程序设计>>、<<计算机软件基础>>
适用专业:自动化专业
一、实验目的
1. 掌握用程序开发环境上机调试线性表的基本方法;
2. 掌握线性表的基本操作(插入、删除、查找)以及线性表合并等运算采用顺序存储结构和链接式存储结构时的不同实现方法。

二、实验内容
1.“线性表倒序”问题
2. “集合求差”问题
三、实验要求
1.“线性表倒序”问题
[问题说明] 实现线性表的倒序输出。

[基本要求] 线性表A={a1,a2,...,an},元素为整型,用结构变量存放,将线性表倒序为A={an,...a2,a1}。

首先在屏幕显示“--输入链表开始--”;然后手动输入线性表的各节点,节点数不少于10,若输入0则退出,即输入完毕;输入完毕后在屏幕显示原始链表序列,并显示原始链表的倒序序列。

2. “集合求差”问题
[问题说明] 求A、B两个集合的差集合C。

[基本要求] 设定有两个数组A和B,每个数组内元素个数均为20个(手动输入随机实时数据)。

然后计算C=A-B,即当且仅当某元素c为A的元素,但不是B中元素时,将该元素c用C数组存放。

最后的结果将A、B、C数组内的元素全部显示在屏幕上。

四、实验装置
PC机一台,含Windows XP(可用自带电脑的win7/8/10、liunx、MacOS等)操作系统,装有Turboc C 2.0、CODE BLOCKS或VS程序开发环境。

五、实验步骤
1. 进入编译环境,按照实验要求编写程序;
2. 调试程序;
3. 按照实验要求验证程序正确性,并记录实验数据;
4. 修改完善程序;
5. 课后撰写实验报告。

六、实验数据及处理
将上述实验输入、输出数据根据所涉及的问题进行核对,对程序结果进行确认分析。

针对实验内容的各个问题,设计一至二组测试用例,对程序的正确性进行分析。

七、实验报告要求
1. 对样本程序(或自己所设计的完成相应功能的程序)进行分析注释;
2. 记录实验过程和结果的数据,对测试数据及执行结果进行分析;
3. 讨论程序的改进方法。

试验二:树型结构的应用
Experiment No.2: The Application of Tree structure
实验学时:2
实验类型:设计
先修课程:<<c语言程序设计>>、<<计算机软件基础>>
适用专业:自动化专业
一、实验目的
1. 掌握指针变量、动态变量的含义。

2. 掌握二叉树的结构特性,以及各种存储结构的特点及适用范围。

3. 掌握用指针类型描述、访问和处理二叉树的运算。

二、实验内容
1. “二叉排序树建立与遍历”问题
2. “叶子结点统计”问题
三、实验要求
1. “二叉排序树建立与遍历”问题
[问题说明] 建立二叉排序树,并对建立的二叉排序树中序遍历。

[基本要求] 手动输入一组元素(不少于16个),按照二叉排序树的性质建立二叉排序树,并且实现对该二叉排序树的中序遍历。

要求将输入的元素序列、二叉排序树的中序遍历序列输出显示到屏幕上。

2. “叶子结点统计”问题
[问题说明] 求一个二叉树中叶子结点的个数。

[基本要求] 对于内容1中得到的二叉排序树,统计其中叶子结点的数目。

将程序计算得到的叶子结点数量显示在屏幕上。

四、实验装置
PC机一台,含Windows XP(可用自带电脑的win7/8/10、liunx、MacOS等)操作系统,装有Turboc C2.0、CODE BLOCKS或VS程序开发环境。

五、实验步骤
1. 进入编译环境,按照实验要求编写程序;
2. 调试程序;
3. 按照实验要求验证程序正确性,并记录实验数据;
4. 修改完善程序;
5. 课后撰写实验报告。

六、实验数据及处理
将上述实验输入、输出数据根据所涉及的问题进行核对,对程序结果进行确认分析。

针对实验内容的各个问题,设计一至二组测试用例,对程序的正确性进行分析。

七、实验报告要求
1. 对样本程序(或自己所设计的完成相应功能的程序)进行分析注释;
2. 记录实验过程和结果的数据,对测试数据及执行结果进行分析;
3. 讨论程序的改进方法。

试验三:查找算法的应用实验
Experiment No.5: The Application of searching algorithms.
实验学时:2
实验类型:设计
先修课程:<<c语言程序设计>>、<<计算机软件基础>>
适用专业:自动化专业
一、实验目的
1. 掌握常用的查找算法以及用高级语言实现查找的方法。

2. 熟练掌握顺序表和有序表的查找方法以及静态查找树的构造方法和查找算法,理解静态查找树的二分搜索法查找节点的过程。

二、实验内容
1. “顺序检索”问题
2.“对半检索”问题
三、实验要求
1. “顺序检索”问题
[问题说明]:对于长度小于20的查找表,设计顺序检索算法查找一个数组中特定的元素。

[基本要求]:①设定关键字的数据类型为整型。

②屏幕依次显示:“输入查找表的长度:xxx”,“输入xxx个记录的关键字值(数据之间用空格隔开):”,“输入要查找的元素:”。

③若查找成功,屏幕显示“该元素在表中的位置为:”;若查找失败,显示“该元素不存在!”。

2. “对半检索”问题
[问题说明] 使用对半检索查找一个数组中特定的元素。

[基本要求] 手动输入一组元素数不少于16的数组并将其显示在屏幕上。

然后手动输入任一个该数组中的元素,设计对半检索算法检索出该元素在数组中序号并显示在屏幕上。

四、实验装置
PC机一台,含Windows XP(可用自带电脑的win7/8/10、liunx、MacOS等)操作系统,装有Turboc C2.0、CODE BLOCKS或VS程序开发环境。

五、实验步骤
1. 进入编译环境,按照实验要求编写程序;
2. 调试程序;
3. 按照实验要求验证程序正确性,并记录实验数据;
4. 修改完善程序;
5. 课后撰写实验报告。

六、实验数据及处理
将上述实验输入、输出数据根据所涉及的问题进行核对,对程序结果进行确认分析。

针对实验内容的各个问题,设计一至二组测试用例,对程序的正确性进行分析。

七、实验报告要求
1. 对样本程序(或自己所设计的完成相应功能的程序)进行分析注释;
2. 记录实验过程和结果的数据,对测试数据及执行结果进行分析;
3. 讨论程序的改进方法。

试验四:排序算法的应用实验
Experiment No.6: The Application of sorting algorithms.
实验学时:2
实验类型:设计
先修课程:<<c语言程序设计>>、<<计算机软件基础>>
适用专业:自动化专业
一、实验目的
1. 掌握常用排序算法以及用高级语言实现排序算法的方法。

2. 深刻理解排序的定义和各种排序方法的特点,并能加以灵活应用。

3. 了解各种排序方法的排序过程及其依据的原则,初步学会对排序方法进行时间复杂性分析的方法。

二、实验内容
1. “选择排序”问题
2. “快速排序”问题
三、实验要求
1. “选择排序”问题
[问题说明] 给出至少10个学生的考试成绩表,每条信息由姓名与分数组成,设计一个“选择排序”算法:①按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;②按名次列出每个学生的姓名与分数。

[基本要求] 学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出进行格式控制。

2. “快速排序”问题
[问题说明] 将一个数组进行快速排序。

[基本要求] 手动输入一组元素数不少于20的数组,使用快速排序算法将该数组按从大到小的顺序排序。

将手动输入的数组分别按原顺序和排序后的顺序显示在屏幕上。

四、实验装置
PC机一台,含Windows XP(可用自带电脑的win7/8/10、liunx、MacOS等)操作系统,装有Turboc C2.0、CODE BLOCKS或VS程序开发环境。

五、实验步骤
1. 进入编译环境,按照实验要求编写程序;
2. 调试程序;
3. 按照实验要求验证程序正确性,并记录实验数据;
4. 修改完善程序;
5. 课后撰写实验报告。

六、实验数据及处理
将上述实验输入、输出数据根据所涉及的问题进行核对,对程序结果进行确认分析。

针对实验内容的各个问题,设计一至二组测试用例,对程序的正确性进行分析。

七、实验报告要求
1. 对样本程序(或自己所设计的完成相应功能的程序)进行分析注释;
2. 记录实验过程和结果的数据,对测试数据及执行结果进行分析;
3. 讨论程序的改进方法。

相关文档
最新文档