辽宁科技大学实践教学大纲。
课程名称:数据结构程序训练。
英文名称:project for data structure
适用专业:计算机科学与技术、网络工程、软件工程。
1、设计目的和要求。
1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
2、设计内容。
1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?
2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。
逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;
3.详细设计:定义相应的存储结构并写出各函数的伪码算法。
在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;
4.程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;
5.程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。
能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;
6.结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析;
7.编写课程设计报告(报告具体内容见后面的第三大项)
3、设计时间。
2023年-2023年第一学期第周。
4、设计方式和安排。
设计方式:学院实验室上机。
安排: 第18周末,布置题目。
第周上机编程序。
5、考核内容和方式。
课程设计结束时,要求学生写出课程设计报告(附源程序),可运行的软件系统;
课程设计成绩分两部分,设计报告占30%,设计作品占70%。按照优秀、良好、中、及格,不及格五级给予成绩。
周末验收时,先交报告,然后以答辩形式进行,讲解不超过10分钟,教师提问5分钟。成绩按优、良、中、及、不及评定,不交报告不给成绩。
二、课程设计题目如下:
题目(1)二叉树。
设计算法,在二叉树输入规则下,可以求出二叉树的叶子个数与结点总个数。
题目(2)进制转换。
设计算法利用栈类实现把十进制整数转换为二至九进制之间的任一进制输出。
题目(3)链表。
1.在一个有序表中插入一个元素,使得该表仍然有序。
2.将一个链表中的元素进行拆分,将所有奇数放到一个链表中,将所有的偶数放到另一个链表中。
3.将两个链表合并成一个链表。
4.将一个链表中的所有元素逆序存储并显示。
题目(4)一元多项式加法计算。
1、任务:预先给出两个一元多项式,并且按照指数非递减的,将其用链表结构存储。
2、设计要求:
1)输入并建立多项式;
2)输出多项式;
3)两个多项式相加,并建立输出多项式。
三、上交相关内容要求。
上交的成果的内容必须由以下三个部分组成,缺一不可。
1.上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);
2.课程设计报告:(保存在word 文档中,文件名要求按照"姓名-学号-课程设计报告"起名,如文件名为"张三-001-课程设计报告".doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
其中包括:a)需求分析:
在该部分中叙述,每个模块的功能要求。
b)概要设计。
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计。
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析。
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
3.课设总结: (保存在word 文档中)总结可以包括 :
课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。
课程设计题目要求
一 万能红外遥控器的设计。功能 万能红外遥控器要求可以学习不同遥控器的某个按件功能。使用时先用原遥控器对着万能红外遥控器按一下某操作键,万能红外遥控器通过红外学习后就可实现原遥控器中该键的遥控功能,例如学习电视机或者空调的开关按键。二 数字万用表的设计。功能 数字万用表可以测量0 2.5v范围内的2...
课程设计题目要求
1 已知单位负反馈系统的开环传递函数,试用频率法设计串联滞后校正装置使系统的速度误差系数,相位裕度为,剪切频率。2 已知单位负反馈系统的开环传递函数,试用频率法设计串联滞后 超前校正装置,使之满足在单位斜坡作用下,系统的速度误差系数,系统的相角裕量,校正后的剪切频率。3 已知单位负反馈系统的开环传递...
课程设计题目三要求
设计题目三 微波炉控制器的设计。现需设计一个微波炉控制器wblkzq,其外部接口如下图所示。通过该控制器再配以4个七段数码二极管完成微波炉的定时及信息显示。data0 15.0 resetset tstarttestclk各信号的功能及要求如下 clk是秒时钟脉冲输入,它接收每秒一个时钟脉冲的节拍信...