程序设计基础课程设计任务书619文档格式.docx
《程序设计基础课程设计任务书619文档格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础课程设计任务书619文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
![程序设计基础课程设计任务书619文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/1/5ebad177-0158-4224-905c-0ce241490627/5ebad177-0158-4224-905c-0ce2414906271.gif)
3、完成上述显示、查找(姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。
设计要求
1、用C语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。
课程设计实验报告要求:
1、题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案
设计考核
1、考勤10%
2、实现功能60%
3、设计报告30%
设计题目2
通讯录管理系统
录入联系人信息(包括姓名、电话号码、地址、备注等);
通讯录管理系统要求实现以下功能:
1、输入每一位联系人记录,将其信息存入文件中。
2、查询所有联系人的信息,并按可选的自定义规则进行排序;
3、记录修改,将修改的记录信息保存于文件中。
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上。
3、完成上述查询(姓名、电话号码等)、信息删除与修改功能。
1、用程序设计基础实现程序设计;
2、利用结构体数组实现联系人信息的数据结构设计;
4、考勤10%
5、实现功能60%
6、设计报告30%
设计题目3
计算机辅助教学(CAI)软件开发:
小学算术题。
产生两个随机整数,做加,减,乘和除运算,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示学生给出答案,答错了要提示重新输入,直到答对为止。
要统计给分,且累计,够一定分数后可进级,即从个位进到十位。
同样,也可降级。
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成一位数的加、减、乘、除运算,并有统计功能,即一次答对的成功率为90%上后可晋级,做两位数的加减;
3、完成两位数的加、减、乘、除运算,并有统计功能,即一次答对的成功率为90%上后可晋级,做三位数的加减;
以此类推到四位数。
4、最后给出每个学生的分数(百分制)。
2、系统的各个功能模块要求用函数的形式实现;
3、界面友好(良好的人机交互),程序加必要的注释。
7、考勤10%
8、实现功能60%
9、设计报告30%
商店销售管理系统
屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。
顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。
完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。
初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上;
3、能按商品编号进货和销售;
4、进一步要求:
完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。
2、利用结构体数组实现信息的数据结构设计;
考勤10%
实现功能60%
设计报告30%
设计题目4
商店销售管理系统。
已知技术参数和设计要求
1、输入每一位联系人记录,将其信息存入文件中。
1、选择合适的数据结构
2、结点结构的设计
3、算法设计与分析
4、程序设计、实现、调试
5、课程设计说明书
设计工作计划与进度安排
1、设计工作4学时
2、实现与调试16学时
3、课程设计说明书8学时
设计考核要求
1、考勤20%
2、课程设计说明书50%
3、答辩30%
计算机科学与技术系制
黄淮学院计算机科学系
《数据结构》课程设计任务书
设计题目
哈夫曼编\译码器
题目的基本要求是:
1.初始化,键盘输入字符集大小n,n个字符和n个权植,建立哈夫曼树。
2.编码,利用建好的huffman树生成huffman编码;
3.输出编码;
4.译码功能;
5.字符和频度如下:
字符空格ABCDEFGHIJKLMNOPQ
频度18664132232103211547571232205763151
字符RSTUVWXYZ
频度48518023818116
五子棋小游戏
要求:
编写基于命令行的五子棋小游戏
阶段:
1、实现五子棋的人人对局功能
2、实现五子棋的人机对局功能
3、实现两机对局
前两阶段必须实现,后一阶段不做要求。
文章编辑
功能:
输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行;
要求
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中出现的次数,并输出该次数;
(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;
输入数据的形式和范围:
可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:
(1)分行输出用户输入的各行字符;
(2)分4行输出"
全部字母数"
、"
数字个数"
空格个数"
文章总字数"
(3)输出删除某一字符串后的文章;
1、结点结构的设计
2、算法设计与分析
3、程序设计、实现、调试
4、课程设计说明书
约瑟夫环问题
编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。
设计一个程序来求出出列顺序。
利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。
测试数据:
m的初值为20,n=7,7个人的密码依次为3,1,7,2,4,7,4,则正确的输出是什么?
输入数据:
输入m的初值,n,输入每个人的密码,建立单循环链表。
输出形式:
建立一个输出函数,将正确的输出序列。
赫夫曼树的建立
任务:
建立最优二叉树函数
可以建立函数输入二叉树,并输出其赫夫曼树
在上交资料中请写明:
存储结构、基本算法(可以使用程序流程图)、输入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
各种排序程序的改进算法
用程序实现插入法排序、起泡法改进算法排序;
利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。
输入的数据形式为任何一个正整数,大小不限。
输出的形式:
数字大小逐个递增的数列。
字符串的操作
基本功能要求:
(1)字符串采用数组存储,建立两个字符串String1和String2。
输出两个字符串。
(2)将字符串String2的头n个字符添加到String1的尾部。
输出结果。
(3)查找串String3在串String1中的位置,若String3在String1中不存在,则插入String3在String1中的m位置上。
(1)String1:
“typedefstructArcBox”
String2:
“VertexTypedata”
String3:
“data”
n:
6,m:
7
(2)String1:
“structArcBox”
“VertexType”
“Box”
3,m:
3
链表的基本操作
一、设计目的
1.掌握线性链表的建立。
2.掌握线性链表的基本操作。
二、设计内容和要求
利作链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。
一元稀疏多项式计算器
基本功能定为
(1)输入并建立多项式
(2)输出多项式,输出形式为整数序列:
n,c1,e1,c2,e2,.....,Cn,en,其中n是多项式的相数,Ci和Ei分别是第i项的系数和指数,序列按指数降序排列
(3)两个多项式相加,建立并输出和多项式
(4)两个多项式相减,建立并输出差多项式
(5)两个多项式相乘,建立乘积多项式
(6)计算多项式在x处的值
实现提示:
用带表头结点的单链表存储多项式
利用Hash技术统计C源程序中关键字的频度
一、任务描述
扫描一个C源程序,用Hash表存储该程序中出现的关键字,并统计该程序中的关键字出现的度。
用线性探测法解决Hash冲突。
设Hash函数为:
Hash(Key)=[(Key的首字母序号)*100+(Key的尾字母序号)]Mod41。
关键字39个,参考C语言教材。
二、数据结构设计
①关键字表的存储结构;
②Hash表中的结点结构。
频度、冲突次数
三、功能设计
①从一个大字符串中分解单词
②识别是否是关键词;
用哪种方法:
有序表查找、二叉查找树?
③Hash函数,解决冲突,统计冲突次数。
key=>
地址
④插入Hash表,或调整Hash表项中的频度
⑤输出Hash表,关键词总数,冲突次数
自己想象,功能要多,设计要合理。
四、技术讨论
①文件不同,Hash表各项次序是否一样?
②考察多个C源程序文件,计算当关键词总数约为1000时,冲突次数的总次数?
③Hash表空间增大后,是否冲突一定减少?
④比较其他的Hash函数,其他的冲突处理方法,效率有何差别。
⑤题目所给的Hash函数,好吗?
运动会分数统计
参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;
取前五名的积分分别为:
7、5、3、2、1,前三名的积分分别为:
5、3、2;
哪些取前五名或前三名由学生自己设定。
(m<
=20,n<
=20)
功能要求:
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,
3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;
可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:
输入数据形式和范围:
可以输入学校的名称,运动项目的名称
有中文提示,各学校分数为整形
界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
要求使用1、全部合法数据;
2、整体非法数据;
3、局部非法数据。
进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明;
纸牌游戏
编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;
然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;
然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;
...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:
这时正面向上的牌有哪些?
宿舍管理查询软件
1.任务:
为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:
A.采用交互工作方式
B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)
2.查询菜单:
(用二分查找实现以下操作)
C.按姓名查询
D.按学号查询
E.按房号查询
打印任一查询结果(可以连续操作)
地图着色问题
设计要求:
已知中国地图,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色总数最少。
校园导航问题
设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
学校超市选址问题(带权有向图的中心点)
对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。
请为超市选址,要求实现总体最优。
教学计划编制问题
针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
2、课程设