b13计本_数据结构课设计任务书b13计本_数据结构课程设计任务书.doc
文本预览下载声明
B13计算机科学与技术
《数据结构与算法分析》课程设计任务书
电气与信息工程学院 计算机系 颜 慧 (2014.11)
课程设计目的
2013级计算机科学与技术(本)专业学生在学习《数据结构与算法分析》课程后,进行为期2周的课程设计。本次课程设计要达到如下教学目的:
1.巩固已学过的基础知识。包括:复习巩固顺序表、链表、字符串、栈、队列、数组、矩阵、树与二叉树、图等数据结构的逻辑结构、存储结构和基本操作的实现和应用;递归、查找、排序等技术。
2.提高基础知识的应用水平,对零散的知识点进行整合,形成完整的编程知识,提高编程能力和编程技巧。
3.学会具有一定规模应用项目的分析、设计、实现、调试的方法和步骤,在实践中掌握设计要点。
4.学会自己进行参考资料的收集、整理;掌握课程设计文档的撰写方法和要点。
二.设计课题及要求
本次课程设计由指导教师指定课题。学生运用所学的数据结构的知识,从下面题目中选择一个题目完成。
(一).复杂表达式求值(栈的应用)
设计要求: 求复杂算数表达式的值。
具体要求:设计一个程序,计算含有如下标识符的表达式的值。
(1) 数值:包括整数和实数,数值可带正、负号。
(2) 一般运算符:正号、负号、加、减、乘、除、求模和乘方,其中可以包括括号。
(3) 单词(即运算函数):abs、sqrt、exp、ln、log10、sin、cos和tanh。
例如:输入一个表达式: 2*sqrt(16)-(-3+5)*(-5),得到运算结果18
(二). 文字处理程序(字符串的应用)
设计要求:用户可通过键盘输入一页文字,也可以从硬盘上打开一个文件,设计一个可以统计出字符个数的程序(分别统计各种字符和总字符数),并可实现查找、替换、文件的保存、文件的加密和解密等功能。
具体要求:
用户可以输入一页文字,每行最多不超过80个字符,共N行。输入的文字包括英文字母(可大小写)、任何数字及标点符号。将用户输入的文字存储在本地硬盘上。
(1)分别统计出其中的英文字母个数、空格个数、整篇文章总字数(带标点符号),并显示统计信息;
(2)统计某一字符串在文章中出现的次数,并输出该次数;
(3)允许用户删除某一子串,并将后面的字符前移。可保存更新之后的文章,可允许用户查看更新之后的文章。
(4)查找某个字符串,输出其所在行号和列号。
(5)字符串替换,用某个字符串替换文章中原有字符串,并可保存替换之后的文章。
(6)文本的加密和解密。
(三).图书管理信息系统(线性表的应用)
设计要求:设计并实现一个图书管理信息系统,用计算机实现图书管理功能。图书管理一般包括:图书采编、图书编目、图书查询、图书流通(借书、还书)等。
具体要求:
读者管理功能:建立读者信息文件,存储读者信息。
图书管理功能:建立图书信息文件,输入若干种书的记录,以书号为关键字;以书名、作者及出版社作为次关键字。
查询功能:用户可根据书号、书名、作者及出版社对图书进行查询,显示查询结果;可根据读者的姓名或借书证编号来查询读者的借书情况。
业务管理:实现图书的借书、还书功能,包括建立图书流通记录信息文件(包括借书记录、还书记录),可进行图书的借阅和归还。
统计图书的借阅次数并进行排序。
(四).家谱管理程序(二叉树的应用)
设计要求:编写一个程序,采用一棵二叉树表示一个家谱关系,用二叉树实现家谱运算。
具体要求:
(1) 文件操作功能:记录输入、记录输出、清除全部文件记录和将家谱记录存盘。初始化:用户可输入一个家族的族谱,输入完成之后可保存在文件中。
在其后的操作中,可从文件里读取族谱信息、增加新的家族成员、修改已有的家族成员、删除已存在的家族成员、可清除所有的家族成员信息。操作完成之后可保存在文件中。
(2) 家谱操作功能:用括号表示法和凹入法输出家谱二叉树,并能查找某人的配偶、所有孩子、所有祖先、兄弟等功能。
(五).公交车换乘查询系统(图的应用)
设计要求: 根据广州市的公交车情况,由乘客给出上车和下车站的地点, 查询换乘公交车的最佳方案。
具体要求:
建立一个文件存放公交车的路线信息(至少存储5条不同路线的公交车信息)。乘客可查询每一条公交车路线的详细信息。
乘客可通过输入上车和下车站的地点,查询换乘公交车的最佳方案,即输出换乘的公车线路,乘车方向、路经车站和换乘的车站。
三.设计过程
需求分析:分析题目要完成的功能、具体要求,收集资料
总体设计:设计整体的功能结构图和数据表结构
详细设计:设计各功能模块的流程图
编写代码:编写各功能模块的具体实现代码
集成:各功能模块的调试、组合,形成完整的项目
运行和测试:项目的整体调试,
验收:学生演示程序的运行过程,指导教师进行项目验收
四.课程设计文档的撰写工作
1.课程
显示全部