数据结构超市密码箱存取系统实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构实验》课程实验教学大纲
一、课程基本信息
课程名称:数据结构实验
英文名称: Data Structure
课程编码: B/1112112B
课程性质: 独立设课
课程类别:专业必修课程
课程总学时: 14
课程总学分: 1
适用专业:计算机科学与技术/网络工程方向
先修课程:高级语言程序设计,离散数学,概率论与数理统计
开课系部: 计算机科学与技术系
二、实验课程的目的与要求
这门课程的主要任务是培养学生的算法设计能力及良好的程序设计习惯。通过学习,要求学生能够掌握典型算法的设计思想及程序实现,能够根据实际问题选取合适的存储方案设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。学习这门课程,习题和实验是两个关键环节。学生理解算法,上机实验是最佳的途径之一。因此,实验环节的好坏是学生能否学好《数据结构》的关键。通过实验课程更好的训练学生算法分析及算法设计的能力。
三、主要仪器设备与实验基本要求
硬件要求:微型计算机一台(Pentium或以上)
软件要求:Windows操作系统,Turbo C 或VC++等
实验要求:
1.上机前要作好充分准备,根据实验题目编写好源程序。
2.对上机操作过程中可能出现的问题预先分析,确定调试步骤和测试方法,对运行结果如何分析等。
3.上机实验完成后,认真写出实验报告,对上机中出现的问题进行分析、总结。
4.上机过程中要遵守实验室的各项规章制度,爱护实验设备,服从指导老师安排。
5.本课程的实验过程中,不得进行游戏、上网等操作。
四、实验项目名称和课内学时分配
序号实验项目名称
时
数
实验
属性
实验者
类别
必开
选开
每套仪器人
数
实验类
型
1 简单算法实验专业类本科生选开 1 验证
2 线性表的基本操作 4 专业类本科生必开 1 综合
3 栈和队列的应用 2 专业类本科生必开 1 设计
4 二叉树两种存储结
构的应用
4 专业类本科生必开 1
综合
5 图 2 专业类本科生必开 1 综合
6 小型系统开发
(课程设计)
2 专业类本科生必开 1 设计
注:设计性和综合性实验如课内学时不够,学生可利用开放实验室利用课余时间完成本次实验内容。
五、实验内容及要求
实验项目一
实验项目名称:简单算法实验
实验项目的目的和要求:
1.复习C语言指针的用法
2.复习C语言结构体的用法
3.理解时间复杂度分析的基本方法
上机实验内容:
1.用指针方式编写程序:从键盘输入N个整型数据,并存入数组,要求将N个数中最大的数与第一个数交换;将其中最小的数最后一个数交换。
2.有N 个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。要求从键盘依次输入N 个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分数,并将N 个学生的数据输出。
说明:不占课内学时
实验项目二
实验项目名称:线性表的基本操作
实验项目的和要求:
1.掌握线性表的特点
2.掌握线性表的顺序存储结构和链式存储结构的基本运算。
3.尽可能考虑算法的健壮性
4.实验报告中要写出测试数据、错误分析以及收获。
上机实验内容一:两种存储结构的基本运算
1.用结构体类型描述线性表的两种存储结构
2.完成课堂上所讲的两种存储结构的基本运算
3.要求用二级菜单实现
*****************************
* 1-------顺序表 *
* 2-------链表 *
* 0-------退出 *
*****************************
请输入的选择:(0-2):
线性表的链式存储
##############################
# 1----前插建立链表#
# 2----后插建立链表 #
# 3----访问第i个元素 #
# 4----插入 #
# 5----删除 #
# 6----求线性表的表长 #
# 0----退出 #
##############################
请输入选择(0-6):
上机实验内容二:超市密码存储箱系统的设计与实现
1.顾客使用箱子的流程为“投一元硬币”--------“找到一个空箱子,同时产生密码”(系统完成)--------“打印密码,打开箱子”(系统完成)--------“取密码纸存包,并关闭箱子,入超市购物”--------“购物结束”--------“输入密码”--------“找到对应箱子并打开”(系统完成)--------“取包”。
2.现要求设计程序模拟以上系统完成的功能
①界面:在我们的模拟系统中,箱子在屏幕上被画出来,并编号,空箱为蓝色,被使用时变成红色,再变为空后则恢复蓝色;
②通过按“1”键模拟顾客投币;
③当空箱子被顾客申请得到的同时,系统自动生成6位数密码,此密码不能与正在被使用的任何一个箱子的密码相同。
3.设计分析
在设计时,可利用链表来组织所有的箱子,所有的箱子以结点的形式表示,结点中存