《教学大纲---软件基础算法设计课程设计.docx》由会员分享,可在线阅读,更多相关《教学大纲---软件基础算法设计课程设计.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(2015)软件基础算法设计课程设计教学大纲名 称:软件基础算法设计课程设计课程编码:英文名称:Course design of Software basic algorithm实习周数:2周其中实验学时: 学 分:2学分安排学期:第二学年第3学期适用专业:软件工程一、课程设计目的及任务 数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际
2、问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:l 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;l 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;l 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;l 训练学生用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。二、课程设计的基本要求1、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。2、
3、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:a)需求分析在该部分中叙述每个模块的功能要求b)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。c)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。d
4、)调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。课程设计总结:(保存在word文档中)总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对数据结构课程的认识等内容;4、每组实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分;(上交时每人交一份,文件夹的取名规则为:“学号 姓名”,如“ 高魁”。该文件夹下至少包括:“源代码”、“课程设计报告”、“可执行文件”。由学习委员收集刻盘按规定时间统一
5、上交)。5、课程设计报告不要附原代码,可以对重点函数及结构进行说明。报告格式见要求。6、报告提交形式:课程设计报告纸质和电子文档(按班级统一刻盘)。三、课程设计地点及要求课程设计在学院的专业实验室完成,每个学生上机时间不少于24个小时。要求在规定的时间必须到实验室接受指导教师的进度检查和答疑。四、课程设计的选题原则 在下面各设计任务中按学号指定一个题目进行设计或其他类似策略。五、课程设计题目样例1、运动会分数统计参加运动会的n个学校编号为1n。比赛分成m个男子项目和w个女子项目,项目编号分别为1m和m+1mw。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项
6、目只取前三名,得分顺序为5,3,2。哪些项目取前五名或前三名由学生自己设定。写一个统计程序产生各种成绩单和得分报表。(1)各项目结束时,输入前三名或前五名的项目编号、运动员姓名、校名和名次(成绩);(2)产生各学校的成绩单,内容包括每个学校所取得的每项成绩的项目号、名次(成绩)、姓名和得分,并统计各学校总分;(3)可以按学校编号、男女团体总分排序输出;(4)可以按学校编号查询学校某个项目的情况;(5)可以按项目编号查询取得前三或前五名的学校。2、集合的并、交和差运算的程序编制一个能演示执行集合的并、交和差运算的程序。集合的元素限定为小写字母符a.z ,集合的大小n27。集合输入的形式为一个以回
7、车符为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤去。输出的运算结果字符串中将不含重复字符或非法字符。演示程序以用户和计算机的对话方式执行。3、文章编辑输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的
8、各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章;4、民航订票系统; 1录入可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2查询可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3订票(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;4退票可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。5修改航班信息:当航班信息改变可以修改航班
9、数据文件。1根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。5、车厢调度问题假设停在铁路调度站(如教科书中图3.1(b)所示)入口处的车厢系列的编号依次为1,2,3,n。设计一个程序,求出所有可能由此输出的长度为n 的车厢系列。设计一个程序,求出由一个编号依次为1,2,、,n的车厢序列可能产生的所有出栈系列。利用双向栈存储结构实现调度站和输出序列这两个栈的空间共享。 对于每个输出序列演示出所有操作序列的变化过程 。6、构造可以使n个城市连接的最小生成树给定一个地区的n个城市间的距离网,用Pr
10、im算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。2、表示城市间距离网的邻接矩阵(要求至少6个城市,10条边)3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。7、火车售票系统的设计与实现通过此系统可以实现售票、退票、车票剩余情况查询等功能。每张车票包含车次、车厢、座位信息。在售票、退票、查询剩余票等环节中,都必须显示出车票的
11、信息,即车次、车厢、座位情况。为简单起见,在此假设所有出售的车票均为同一车次的车票。退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票,而且退票可以再次销售。8、图书管理系统的设计与实现设计一个计算机管理系统完成图书管理基本业务。每种书的登记内容包括书号、书名、著作者、现存量、库存量和借阅信息;对书号建立索引顺序表以提高查找效率;系统主要功能如下:采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;归还:注销对借阅者的登记,改变该书的现存量。9、客户消费积分管理系统
12、的设计与实现针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。采用一定的存储结构进行客户信息的存储;对客户的信息可以进行修改、删除、添加;能够根据消费情况进行客户积分的累加;根据积分情况,对客户实行不同程度的打折优惠;10、产品进销存管理系统的设计与实现针对某一种行业的库房的产品进销存情况进行管理。采用一定的存储结构对库房的货品及其数量进行分类管理;可以进行产品类的添加、产品的添加、产品数量的添加;能够查询库房每种产品的总量、进货日期、销出数量、销售时间等。自选题 允许有能力的同学自选题目,但题目必须注明问题描述和具体要求,且题目的工作量要达到或超过已给题目,并
13、经指导教师审核同意才可以进行自选题目的课程设计。六、课程设计的具体日程安排序号内容地点时间安排(天)1布置任务教室0.52问题分析及解决方案确定实验室、图书馆13形成编程思路实验室24使用具体语言实现算法实验室35上机调试程序实验室36编写课程设计报告实验室、图书馆2七、考核及成绩评定1、上交要求上交设计报告和相关光盘。其中设计报告要以打印稿的形式上交。光盘内容包括程序源码设计报告的电子文档。整个班级的设计均刻在一张光盘上,可按姓名或分组建立相关文件夹进行存储。2、评分标准根据完成任务的情况(必须进行系统演示)、课程设计报告书的质量和课程设计过程中的工作态度等按照30%、50%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。上机程序检查未通过者、无设计报告者以及严重抄袭他人设计者,成绩为不及格。八、主要教材、参考书1. 严蔚敏.数据结构及应用算法教程(C语言版).北京:清华大学出版社.20022. 严蔚敏.数据结构及应用算法教程(修订版).北京:清华大学出版社.20113. 张铭.数据结构与算法.北京:清华大学出版社.20084. 许卓群.数据结构与算法.北京:高等教育出版社.20045. 张尧学,史美林.计算机操作系统教程(第三版).北京:清华大学出版社.2006
限制150内