课程设计的步骤和报告规范 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章课程设计的步骤和报告规范
课程设计的步骤:
一、问题分析和任务定义
在设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么?对所需完成的任务作出明确的回答。
二、系统设计
系统设计分为逻辑设计和详细设计两步。逻辑设计指的是,对问题描述中的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义软件模块结构图;详细设计则为定义相应的存储结构,并写出各函数模块的伪码算法。
三、编码实现和调试
四、总结和整理课程设计报告
课程设计报告规范:
课程设计报告的开头应给出题目、专业、班级、学号、姓名、指导老师和完成日期,并包括以下十个内容:
一、问题描述
二、基本要求
三、数据结构的设计
四、软件模块结构图
五、程序流程图
六、源程序
七、调试分析
八、测试数据
九、用户使用手册
十、心得体会
第二章课程设计选题
1、文本文件单词的检索与计数
问题描述:要求编程建立一个文本文件,每个单词不包含空格且不跨行,单词由字符序列构成且区分大小写;统计给定单词在文本文件中出现的总次数;检索输出某个单词出现在文本中的行号、在该行中出现的次数以及位置。该设计要求可分为三个部分实现:其一,建立文本文件,文件名由用户用键盘输入;其二,给定单词的计数,输入一个不含空格的单词,统计输出该单词在文本中的出现次数;其三,检索给定单词,输入一个单词,检索并输出该单词所在的行号、该行中出现的次数以及在该行中的相应位置。
(1)建立文本文件
(2)给定单词的计数
(3)检索单词出现在文本文件中的行号、次数及其位置。
2、火车票销售
问题描述:试编制一个简单的火车票销售系统,可完成售票、退票、车票剩余情况查询等功能。每张车票包含车次、座位等信息。
3、DES加密解密算法的实现
问题描述:DES算法处理的数据对象是一组64比特的明文串。设该明文串为m=m1m2…m64 (mi=0或1)。明文串经过56比特的密钥K来加密,最后生成长度为64比特的密文E。然后将密文E解密,还原成明文m。
4、RSA加密解密算法的实现
问题描述:RSA是一个比较完善的公开密钥算法,其公钥和私钥是一对大素数的函数。加密时,先将明文变换成0至n-1的一个整数M。设密文为C,则加密过程为:C≡Me (mod n)。解密过程为:M≡Cd (mod n)。要求:分析RSA算法的功能需求,详细设计实现RSA算法的数据结构和流程,给出测试用例和测试步骤,得出测试和结论。RSA算法的实现程序必须提供加密和解密两个接口:int encrypt()和int decrypt()。当加密或者解密成功时返回CRYPT_OK,失败时返回CRYPT_ERROR。
5、二叉树的遍历及左右子树的交换
问题描述:实现二叉树的中序、前序、后序遍历的递归、非递归遍历算法,层次遍历的非递归遍历算法,应包含建树的实现,其次将其所有结点的左右子树交换。
6、哈夫曼树在通信编码中的应用
问题描述:设一份电文中有不同出现频率的字符,为了提高电文的输入和翻译效率,必须有一套简短而又不会产生歧义的字符代码。试根据哈夫曼算法,对电文中的不同字符,构造出一棵哈夫曼树,对每个字符进行编码。要求:
1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中)
2)分别采用动态和静态存储结构
3)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;
4)编码:利用建好的哈夫曼树生成哈夫曼编码;
5)输出编码;
6)译码功能;
7)显示哈夫曼树;
7、二叉排序树的实现
问题描述:用顺序和二叉链表作存储结构
1)以回车('\n')为输入结束标志,输入数列L,生成一棵二叉排序树T;
2)对二叉排序树T作中序遍历,输出结果;
3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”;
8、通讯录的管理
问题描述:试编程完成通讯录的一般性管理工作,如通讯录中记录的增加、修改、查找、删除、输出等功能。每个记录包含姓名、电话号码、住址等个人基本信息。
设计内容:本系统应完成一下几方面的功能:
1)输入信息——enter();
2)显示信息———display( );
3)查找以姓名作为关键字———search( );
4)删除信息———delete( );
5)存盘———save ( );
6)装入———load( ) ;
9、学生成绩统计、排序的实现
问题描述:在学生成绩管理中,经常会遇到求平均成绩,统计不及格学生成绩,统计优秀学生人数,以及按成绩对学生进行排名等。现假设有某个班级的若干名学生,每个学生都考试完成了4门课程,试对所有学生的成绩完成以下工作:
(1)求每门课程的平均成绩。
(2)输出所有有不及格课程的学生的学号、姓名、全部课程的成绩、平均成绩。
(3)输出所有平均分在90分以上(含90分)的学生学号、姓名。
(4)对4门课程中的任何一门,可随意抽取1门按学生成绩进行排序
10、多种基本内排序方法的实现
问题描述:设计一个合成的排序程序。可供排序的方法是:插入排序、快速排序、归并排序、堆排序。要求程序具有(1)显示排序结果。(2)提供最好和最坏情况下对比计时的功能。(3)提供在不同数组元素的个数情况(当N分别等于100,1000,5000,20000时)下各种排序算法的计算时间的统计功能。
11、工程造价最小问题
问题描述:如果以无向网表示n个城市之间的交通网络建设规划,顶点表示城市,边上的权表示该线路的造价,试设计一个方案,使这个交通网的总造价最小。
12、旅游导游系统问题
问题描述:假设一个旅游景区由n个不同景点组成(有向网),并用带权邻接矩阵表示,权值表示两个景点间的步行时间,试编写程序求任意两个景点间的最短步行时间。
13、迷宫问题
问题描述:从迷宫的入口开始寻找一条到出口的路径。要求显示迷宫的布局,及找到的路径(最好显示寻找路径的过程)。走到某一步后,假定往下有四个方向的可能,即上、下、左、右四个方向。
14、简易文本编辑器的实现
问题描述:一个简易文本编辑器的功能包括:(1)文本文件的保存,读入;(2)字符的输入、修改、删除、换行;(3)利用模式匹配实现文本中字符串的定位。
15、运动会分数统计。
问题描述:某学校开运动会,共有m个班参加,比赛设有n个男子项目和L个女子项目。假设项目编号为1~n,n+1~n+L,并且假设编号为偶数的项目取前5名,得分顺序为7,5,3,2,1,编号为奇数的项目取前3名,得分顺序为5,3,2。请编写出一个统计程序以产生:各班成绩单(包括各班所得的各项成绩的项目号,名次,姓名和得分);团体总分报