文档库 最新最全的文档下载
当前位置:文档库 › 计算机课程设计题目汇总

计算机课程设计题目汇总

计算机课程设计题目汇总
计算机课程设计题目汇总

现将各教研室上报的课程设计题目汇总如下,各位指导课程设计的老师可以根据自己的情况,从中挑选题目(可以对题目作适当修改)供学生选择。

1.电梯调度算法模拟

说明:电梯调度算法的基本原则就是如果在电梯运行方向上有人要使用电梯则继续往那个方向运动,如果电梯中的人还没有到达目的地则继续向原方向运动。具体而言,如果电梯现在朝上运动,如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求;如果电梯向下运动,则刚好相反。

题目难度:较难

设计要求:模拟多人在不同楼层同时要求到各自目的地时电梯的响应顺序,要求使用C 语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:可以用一个结构体表示乘电梯的人,其中内容包括人的姓名、起始楼层、目的楼层;建立一个结构体的数组模拟当前所有需要乘电梯的人。把这个结构体数组作为程序的输入,通过对数组中每个人的起始楼层和目的楼层进行分析,确定每个人进出电梯的顺序,并打印输出。

比如:当前楼层是4,结构体数组中共有3个人,A:7 →3 B:6→10 C:7→8;

则输出应该是:当前楼层为6,B进入

当前楼层为7,C进入

当前楼层为8,C出去

当前楼层为10,B出去

当前楼层为7,A进入

当前楼层为3,A出去

2.迷宫求解

说明:求迷宫从入口到出口的路径,即从迷宫的入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向继续探索,直到所有可能的通路都探索为止。

题目难度:一般

设计要求:给出迷宫的入口和出口及相关的通路,求出从入口到出口的路径。要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:可以使用一个二维数组来表示迷宫,其中分别用1、0表示通与不通;算法的基本思想是:若当前位置“可通”,则纳入“当前路径”,并继续朝“下一位置”探索,即切换“下一位置”为“当前位置”,如此重复,到达出口;若当前位置“不可通”,则应顺着“来向”退回到“前一通道块”,然后朝“来向”之外的其它方向探索。若该通道块四周4个方块均“不可通”,则应从“当前路径”中删除该通道块。使用栈结构记录当前路径,当前位置入栈表示向前行,出栈则表示从当前位置退回。

3.学生运动会成绩数据库

功能:

学生运动会成绩数据库系统记录某校运动会上全部运动项目,各系获得的分数及排名的情况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。进入系统后可

以输入和修改某个项目的结果情况,可以按各系院编号输出总分;按总分排序;按男团体总

分排序;按系院编号查询;按项目编号查询;按女团体总分排序。

分步实施:

1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2)完成最低要求:建立一个文件,包括某个系,5个项目的得分情况,能对文件中的信息进行扩充(追加),修改和删除;

3)进一步要求:完成对多个系,多个项目的得分排序,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。

键盘输入:系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分)

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

4. 哈夫曼树应用

功能:

1.从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;

2.利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中,并输出结果,将文件CodeFile以紧凑格式先是在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrint中。

3.利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中,并输出结果。

分步实施:

1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2)完成最低要求:完成功能1;

3)进一步要求:完成功能2和3。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

5. 图的遍历

功能:实现图的深度优先, 广度优先遍历算法,并输出原图结构及遍历结果。

分步实施:

1) 初步完成总体设计,搭好框架;

2)完成最低要求:两种必须都要实现,写出画图的思路;

3)进一步要求:画出图的结构,有兴趣的同学可以进一步改进图的效果。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是

没有价值的。

6.n维矩阵乘法:A B-1

功能:设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,输出ab-1结果。

分步实施:

1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2)完成最低要求:建立一个文件,可完成2维矩阵的情况;

3)一步要求:通过键盘输入维数n。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

7.数组应用

功能:按照行优先顺序将输入的数据建成4维数组,再按照列优先顺序输出结果,给出任意处的元素值,并给出对应的一维数组中的序号。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:完成第一个功能;

3.进一步要求:进一步完成后续功能。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

8.数组应用2

功能:读入数组下标,求出数组A靠边元素之和;求从A[0][0]开始的互不相邻的各元素之和;当m=n时,分别求两条对角线上的元素之和,否则打印出m!=n的信息。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:求出2维数组的功能;

3.进一步要求:完成3维以上数组的功能。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

9.n元多项式乘法

功能:完成两个n元多项式作乘法,给出明确的等式形式。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:建立一个文件,实现两个一元二次多项式作乘法。

3.进一步要求:实现三元二次多项式的乘法。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

10.集合运算

功能:使用链表来表示集合,完成集合的合并,求交集等操作。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:

3.进一步要求:

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

6)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

11.公园的导游图

功能:给出一张某公园的导游图,游客通过终端询问可知:

从某一景点到另一景点的最短路径。游客从公园大门进入,选一条最佳路线,使游客可以不重复地游览各景点,最后回到出口(出口就在入口旁边)。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:建立一个文件,包括5个景点情况,能完成遍历功能;

3.进一步要求:进一步扩充景点数目,画出景点图,有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

12.商店存货管理系统

功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的货物。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:建立一个文件,包括5个种类的货物情况,能对商品信息进行扩充(追加),修改和删除以及简单的排序;

3.进一步要求:扩充商品数量,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

13.汉诺威塔

功能:编程序显示n(n<=9)层汉诺威塔的调整过程。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:实现5层汉诺威塔的调整过程;

3.进一步要求:直至实现n=9时的情况。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。

14.个人帐簿管理系统设计

功能:个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。

分步实施:

1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2.完成最低要求:建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除;

3.进一步要求:完成对每月的开支排序,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5) 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是

没有价值的。

15.排序系统设计

功能:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m是停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列。

分步实施:

4.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

5.完成最低要求:建立一个文件,包括某人5个人的情况。

6.进一步要求:有兴趣的同学可以自己扩充系统功能。

要求:1)界面友好,函数功能要划分好

2)总体设计应画一流程图

3)程序要加必要的注释

4)要提供程序测试方案

5) 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是

没有价值的。

16.

用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”

字符

A B C D E F G H I J K L M

频度

64 13 22 32 103 21 15 47 57 1 5 32 20

字符

N O P Q R S T U V W X Y Z

频度

57 63 15 1 48 51 80 23 8 18 1 16 1

17.分词算法----正向最大匹配分词算法

说明:何为分词?中文分词与其他的分词又有什么不同呢?分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段可以通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,但是在词这一层上,中文比之英文要复杂的多、困难的多。

正向最大匹配分词算法就是从左到右进行切词,以最大词组进行匹配。例如:“中华人民共和国成立了。”这个词可以切分为“中华/人民/共和国/成立/了。”也可以切分成“中华人民共和国/成立/了。”而后一种就是最大正向匹配算法了。

题目难度:一般

设计要求:利用VC++、JAVA之类有界面的编程工具进行编写。要求输入一篇文章,在一定的时间之内进行分词,并显示分词时间。

并根据分词效果,提出改进方案。

设计提示:词组数据库由教师给出,学生也可以自己添加词汇,学生建立数据的连接,并进行分词匹配。

18.野人过河问题

说明:野人过河问题属于人工智能学科中的一个经典问题,问题描述如下:

有三个僧人和野人准备渡过一条河,但是只有一条船,而且船每次最多可以载两个人。现在他同在河的一边,想渡过河去,条件是:在河的任何一边必须保证僧人的数目大于等于野人的数目,否则野人就会把僧人吃掉,请给出渡河方案。

题目难度:较难

设计要求:模拟僧人和野人的渡河顺序,要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:先分析问题的初始状态和目标状态,假设河分为甲岸和乙岸:初始状态:甲岸,3野人,3牧师;

乙岸,0野人,0牧师;

船停在甲岸,船上有0个人;

目标状态:甲岸,0野人,0牧师;

乙岸,3野人,3牧师;

船停在乙岸,船上有0个人;

整个问题就抽象成了怎样从初始状态经中间的一系列状态达到目标状态。问题状态的改变是通过划船渡河来引发的。考虑用什么样的数据结构和搜索算法

19.运动会统计问题

说明:参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2(假设编号为奇数的项目取前五名,编号为偶数的项目取前三名)。写一个统计程序产生各种成绩单和得分报表。

题目难度:一般

设计要求:要求使用用C语言编程实现,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。完成的具体功能有:

1.可以输入各个项目的前三名或前五名的成绩。

2.产生各学校的成绩单,内容包括学校编号、项目编号、选手姓名、名次、得分。

3.产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。

设计提示:假设n≤20,m≤30,w≤20,姓名长度不超过20个字符。每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并按名次顺序输入运动员姓名、校名和成绩等。选择一种合适的数据结构实现。

20.人鬼过河问题

河的一边有三个人和三个鬼,河中有一小船,每次最多能乘坐2个人或鬼,而且至少要有一个人或鬼船才能行驶。请设计一种算法,把人和鬼都送到对岸。注:不论是在河边、船上,如果人鬼数量相同,则鬼和人能和谐相处,鬼不吃人,否则,鬼吃掉人。要求算法能给出整个运送过程,包括每次船行驶的方向(是驶向对岸还是返回),船上的人和鬼数量。

21.循环节(repeating cycle)

问题描述:

求一个分数对应的十进制小数的循环节。我们定义一个小数的循环节是它的第一个最短

的向右无限循环的数字串。

下面是一些分数的循环节,循环节部分用括号括住,例如:

分数十进制小数循环节循环节长度(位数)

1/6 0.1(6) 6 1

5/7 0.(714285) 714285 6

1/250 0.004(0) 0 1

输入:输入文件的每行包含两个正整数,第一个为分子,第二个为分母,它们之间用一

个空格隔开,这两个正整数值均不超过3000,输入以00结束。

输出:输出到屏幕。对应输入的每一行,有两行输出,其中第一行输出一个分数和它的

小数表示,其中小数由非循环节部分加上第一个出现的循环节或者不大于50位的小数,第二行输出整个循环节的长度,如小数超过50位仍未出现循环节则认为循环节长度为0。

输入样例:输出样例:

1 6 1/6=0.1(6)

5 7 1

1 250 5/7=0.(714285)

00 6

1/250=0.004(0)

1

22.拼字游戏 (word crosses)

拼字游戏历史悠久,能锻炼人的思维和提高单词记忆量。在欧美报纸的版面中经常会见到。本题只是简单地演示单组交叉词。所谓单组交叉词,是指两个单词交叉放置,一个

水平放置,另一个垂直放置,交叉点是两个单词都共用一个字母,而且交叉点遵循交叉

靠前原则,即这公用的字母尽量在水平单词的前方,然后也尽量在垂直单词的上方。例如:DEFER,PREFECT(前一个为水平单词)的交叉点是E,而PREFECT,EDFER的交叉点是R。双交叉词是指有两组单组交叉词,它们的水平单词放在同一行。

试编程将输入的每四个一组的单词尽可能组成双交叉词。

输入:输入文件由若干行组成,每行有四个单词,按顺序每两个为一组,每组第一个单

词为水平单词,每个单词由1到10个大写字母组成,单词之间用一个空格隔开。最后一行由一个"#"结束。

输出:输出文件由一系列双交叉词组成,每个水平单词之间隔三个空格。若不能构成双

交叉词,则显示"Unable to make two crosses"。每组双交叉词间空一行。

输入样例:

AT PART RIGHT BUT

PEANUT BANANA VACUUM GREEDY

输出样例:

B

P U

AT RIGHT

R

T

Unable to make two crosses

23.校园导游咨询(为来访的客人提供各种信息服务)

1、基本要求:

1)设计大学城平面图,在校园景点选10个左右景点。以图中顶点表示大学城内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。

2)为来访客人提供图中任意景点相关信息的查询。

3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。实现提示:一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。顶点和边均含有相关信息。

24.十进制数与八进制数互换的实现

要求: 采用相应的数据结构,实现十进制数到八进制数的转换.

25.大整数乘法的实现

要求: 以数组这种数据结构来实现,整数最大允许的长度为80位.

26.较难模拟一种掷骰子游戏

有这样一种游戏:4个人(A-D),每个人有4个骰子,各自在一个筒中摇匀后停止。每个人可以看到自己此时4个骰子的点数。由A开始,根据自己骰子点数估计某个点数的总个数,报两个数字:骰子个数和点数,如“4个3”,然后等待下家B报数;B报出的数字中,骰子个数只能大于上家;如此重复;最后当某个人不再报数而叫“停”时,4人均打开摇筒。如果个数和点数恰与叫停者的上家所报相符,则上家胜;如果不相符,则叫停者胜。如果无人叫停,则继续报数直至报出的数字为“16个6”时结束。

用C语言编程模拟这个过程。报数的步骤可由用户输入数据进行模拟。

注:骰子,亦称色子,即一个质地均匀的正六面体,每面分别标有数字1-6,在游戏中用于产生区间[1,6]内的随机整数。

27.较易行人过街红绿灯的手动控制

城市非繁华街道上有一种由行人手动控制的过街红绿灯。无行人穿过马路时行人指示为红灯,汽车指示为绿灯,汽车能够连续地正常通过(A状态)。当有人按下手动开关时,一段时间后(注*)行人指示为绿灯,汽车指示为红灯,汽车不能通过而行人能够穿过马路(B 状态),且B状态只能持续一个指定的时间段。

注*:当汽车连续通过(A状态)的时间已超过某个给定的值,则按下开关后立即切换到B状态;如果按下开关时A状态时间未达到给定值,则必须等待一定时间后才能切换到B状态,这个时间的长度可事先设定。

编程模拟这种红绿灯的控制。

28.循环赛日程表

说明:设计一个满足以下要求的比赛日程表:

(1)每个选手必须与其他n-1个选手各赛一次;

(2)每个选手一天只能赛一次;

(3)循环赛一共进行n-1天。

题目难度:一般

设计要求:请使用C语言编程,设计一个有效的算法解决循环赛日程表问题。

设计提示:按分治策略,将所有的选手分为两半,n个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。递归地用对选手进行分割,直到只剩下2个选手时,比赛日程表的制定就变得很简单。这时只要让这2个选手进行比赛就可以了。

29.多边形游戏

说明:

多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。

游戏第1步,将一条边删除。随后n-1步按以下方式操作:

(1)选择一条边E以及由E连接着的2个顶点V1和V2;

(2)用一个新的顶点取代边E以及由E连接着的2个顶点V1和V2。将由顶点V1和V2的整数值通过边E上的运算得到的结果赋予新顶点。

最后,所有边都被删除,游戏结束。游戏的得分就是所剩顶点上的整数值。

题目难度:较难

设计要求:

请使用C语言编程,设计一个有效的算法解决下述问题:对于给定的多边形,计算最高得分。

设计提示:

在所给多边形中,从顶点i(1≤i≤n)开始,长度为j(链中有j个顶点)的顺时针链p(i,j) 可表示为v[i],op[i+1],…,v[i+j-1]。

如果这条链的最后一次合并运算在op[i+s]处发生(1≤s≤j-1),则可在op[i+s]处将链分割为2个子链p(i,s)和p(i+s,j-s)。

设m1是对子链p(i,s)的任意一种合并方式得到的值,而a和b分别是在所有可能的合并中得到的最小值和最大值。m2是p(i+s,j-s)的任意一种合并方式得到的值,而c和d分别是在所有可能的合并中得到的最小值和最大值。依此定义有a≤m1≤b,c≤m2≤d

(1)当op[i+s]='+'时,显然有a+c≤m≤b+d

(2)当op[i+s]='*'时,有min{ac,ad,bc,bd}≤m≤max{ac,ad,bc,bd}

换句话说,主链的最大值和最小值可由子链的最大值和最小值得到。

30.棋盘覆盖问题

说明:在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L 型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。

题目难度:难

设计要求:请使用C语言编程,设计一个有效的算法解决棋盘覆盖问题。

设计提示:

当k>0时,将2k×2k棋盘分割为4个2k-1×2k-1 子棋盘(a)所示。特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。为了将这3个无特殊方格的子棋盘转化为特殊棋盘,可以用一个L型骨牌覆盖这3个较小棋盘的会合处,如(b)所示,从而将原问题转化为4个较小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘简化为棋盘1×1。

31.魔方阵

说明:把整数1到n2排成一个n×n方阵,使方阵中的每一行,每一列以及对角线上的数之和都相同。

题目难度:一般

设计要求:要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:如n为奇数,魔方阵可按下述方法构成:

(1) 把1填在第一行的正中间,然后填入后续的数;

(2) 若数k填在第i行第j列的格子中,那么k+1应填在它的左上方,即第i-1行第j-1列的那个格子中,如果左上方无格子,即:若i-1为0,那么填在第n行第j-1列的格子中;若j-1为0,那么填在第i-1行第n列的格子中;若i-1和j-1都为0,那么填在第n行第n列的格子中。

(3) 若按(2)的方法找到的格子中已填过数了,那么数k+1改填在第k个数的正下方。即填在第i+1行和第j列的那个格子中。编程序实现上述算法,并模拟显示其过程。

32.地图着色

说明:地图上有不同国家(不同区域),每个国家都与其他一些国家邻接。现要求对地图着色,使所有的国家与它的邻接的国家有不同的颜色。通常由四种颜色就已足够。

题目难度:较难

设计要求:要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:可采取试探的方法逐步逼近最后解,即按某种模式生成一个部分解,检查它是否合格。如为合格,在扩展这个部分解向最后解逼近,否则为不合格,不管如何扩展这个部分解都不会得到最后解。这时必须放弃已生成的部分解中的某些结果,“回朔”到先前的部分解,在生成一个部分解,直到获得最后解。这种算法称为回朔算法。以着色一个六个区域的地图为例。

区域邻接关系

表中数据正是所需输入的数据,

可以用一个n×n的矩阵来存放(n为

区域数目)。0表示邻接区域的结束。

设着色的颜色次序为红、蓝、绿、黄。

对于区域起首先着成红色。对于区域2,因与区域1邻接,所以不能再着红色,而只能着第二种颜色,即蓝色。同理区域3着绿色,区域4着黄色,区域5着蓝色,区域6由于与

区域1、3、4和5邻接,所以四种颜色都不合适。这时,必须回溯到区域5,它不能是已着好的蓝色,也不能着蓝色的下一种颜色绿色,因为这会使它与区域3同色,再选下一种颜色,即黄色,它与区域1和3不同色。所以区域5退去蓝色,改着黄色。此后,区域6可着蓝色。最后,得到的解为各区域的颜色依次为红、蓝、绿、黄、黄、蓝。

采用递归算法:

区域编号以自然数编号1…n(n为区域数)

颜色可用枚举值enum color {red=1,blue,green,yellow};

算法描述为:

Void colorarea(int j) //参数j为当前要着色的区域编号

for(c=red;c<=yellow;c++)

{

if(区域j可着c色) //即区域j的邻接区域都没有着过c色

if(j==n) prtmap;//输出结果

else colorarea(j+1);//进一步着色下一个区域

区域j退去c色

}

33.模拟人工发牌

说明:用计算机模拟发牌程序。假设一副扑克牌有52张,共4个玩家,编写程序统计出各玩家手里拿的牌的牌面(牌面包括纸牌的大小和花色)。

题目难度:一般

设计要求:要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:

定义一个4行13列的整数类型的二维数组,每一行分别表示一种花色:黑桃、红桃、草花、方块。每一列分别表示A到K 共十三个牌点。数组各元素的初始值为0,表示还没有发牌。然后给每个数组元素赋予1到4之间的随机数,表示这张牌随机地发给某个玩家。例如第一行第七列的元素,表示黑桃7,其值为2,表示这张牌发给了第2个玩家。依此类推。

34.搬山游戏

说明:设有n座山,计算机与人作为比赛的双方,双方轮流搬山。规定每次搬山的数目不能超过k座,谁搬最后一座谁输。游戏开始时,计算机请人输入山的总数(n)和每次允许搬山的最大数目(k)。然后请人先开始,人输入了需要搬走的山的数目后,计算机马上输出它搬多少座山,并提示尚余多少座山。双方轮流搬山直到最后一座山搬完为止。计算机显示谁是赢家,并问人是否要继续比赛。若人不想玩了,可以输入山的总数为0,计算机便会告诉人共完了几局,双方胜负如何。

题目难度:较难

设计要求:计算机请人输入山的总数(n)和每次允许搬山的最大数目(k)。然后请人先开始,人输入了需要搬走的山的数目后,计算机马上输出它搬多少座山,并提示尚余多少座山。要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。

设计提示:

首先设计计算机参加游戏的算法,计算机每次搬山时应遵循如下原则:

(1)当:剩余山的数目-1<=可移动的最大数k时,计算机要移(剩余山的数目-1)座,

以便将最后一座山留给人。

(2)对于任意正整数x, y,一定有:

0<=x%(y+1)<=y

因此,对于我们的问题来说,在有n座山的情况下,计算机为了将最后一座山留给人,而且又要控制每次搬山的数目不超过最大数k,它应搬山的数目要满足下列关系:搬山数量=(当前所剩的山数-1)%(k+1)

如果算出结果为0,即整除无余数,则规定只搬一座山,以防止冒进后发生问题。

35.关键路径的求解问题

一.问题的基本阐述:

通常把计划、施工过程、生产流程、程序流程的都当成一个工程。除了很小的工程外、一般都把工程分为若干个叫做“活动”的子工程。完成了这些“活动”的子工程,这个工程就可以完成了。通常我们用有向图表示一个工程。在这种有向图中,用顶点表示活动,用有向边 表示活动Vi必须先于活动Vj进行。如果在无有向环的带权有向图中用有向边表示一个工程中的各项活动(ACTIVITY),用有向边上的权值表示活动的持续时间(DURATION),用顶点表示事件(EVENT),则这种的有向图叫做用边表示活动的网络,简称AOE(active on edges)网络。 AOE网络在某些工程估算方面非常有用。他可以使人们了解:

(1):研究某个工程至少需要多少时间?

(2):那些活动是影响工程进度的关键?

在AOE网络中,有些活动可以并行的进行。从源点到各个顶点,以至从源点到汇点的有向路径可能不止一条。这些路径的长度也可能不同。完成不同路径的活动所需的时间虽然不同,但只有各条路径上所有活动都完成了,这个工程才算完成。因此,完成整个工程所需的时间取决于从源点到汇点的最长路径长度,即在这条路径上所有活动的持续时间之和。这条路径长度就叫做关键路径(critical path)。

二.:设计步骤:

1: 以某一工程为蓝本,采用图的结构表示实际的工程计划的时间。

2: 调查以分析和预测这个工程计划个阶段的时间。

3: 用调查的结果建立AOE网(Activity On Edge Network),即边表示活动的网络,并用图的形式表示。

4: 用图来存储这些信息。

5: 用CreateGraphic();函数建立AOE图。

6: 用SearchMapPath();函数求出最大路径,并打印出关键路径。

7:编写代码

8: 测试

三. 设计代码:(要求用C语言或JAVA语言实现)

36.囚徒困境的实际问题:

一.基本问题阐述:

有两个参与者和一个庄家。参与者每人有一式两张卡片,各印有“合作”和“背叛”。参与者各把一张卡片文字面朝下,放在庄家面前。文字面朝下排除了参与者知道对方选择的可能性。然后,庄家翻开两个参与者卡片,根据以下规则支付利益:

一人背叛、一人合作:背叛者得5分(背叛诱惑),合作者0分(受骗支付)。

二人都合作:各得3分(合作报酬)。

二人都背叛:各得1分(背叛惩罚)。

二.求解(要求用C语言或JAVA语言)

1.每个人所能得分的所有情况及可得的最高分和最低分;

2.两个人能得分和的所有情况及最高分和最低分

3. 比较互相背叛的及单独背叛,合作获分比背叛高还是低

37.用C语言或JAVA语言,设计一个学生的学籍管理系统;

要求:1.要有对学生的各信息进行各种操作的功能,比如添加删除学生等等

2.设计过程中会用到排序的算法,请你总结各种经典的排序算法,

3.设计过程中会用到查找得法,请你总结各种经典的查找算法

4.写出具体的设计过程

37.查找算法集锦

说明:查找,根据给定的某个值,在查找表(已经排好序)中确定一个其关键字等于给定的记录或数据元素。若表中存在这样的一个记录,则称查找是成功的,此时查找的结果为给出整个记录的信息,或指示该记录在查找表中的位置;若表中不存在关键字等于给定值的记录,则称查找不成功。查找算法有多种,各有优缺点。

题目难度:难

设计要求:要求使用C语言编程,至少完成下述查找算法

1)顺序查找从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,

若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,查找

不成功。

2)折半查找先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或

找不到该记录为止。

3)二叉排序树查找

二叉排序树或者是一棵空树;或者是具有下列性质的二叉树:

I.若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;

II.若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;

III.它的左、右子树了分别为二叉排序树。

二叉排序树的插入和删除

二叉排序树是一种动态树表,其特点是,树的结构通常不是一资生成的,面是在查找过程中,当树中不存在关键字等于给定值的结点时再进行插入。新插入的结点一定是一个新添加的叶子结点,并且是查找不成功时查找路径上访问的最后一个结点的左孩子或右孩子结点。

设计提示:

参考相关资料、书籍,理解各种查找方法;

定义恰当的数据结构。

38.排序算法集锦

说明:排序,将一个数据元素的无序序列重新排列成一个按关键字有序的序列,排序的顺序有升序和降序。数据可以是任意类型,如果是字符串则按字符的ASCII码值进行排序。排序的方法有20多种,各有优缺点。

题目难度:难

设计要求:要求使用C语言编程,至少完成下述排序算法

(1)选择法每一趟在n-i+1(i=1,2,...n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。包括:简单选择排序、树形选择排序和堆排序

(2)插入排序

包括:直接插入排序是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表

折半插入排序为了提高查找速度,可以采用折半查找,这种排序称折半插入排序。

2-路插入排序为减少排序过程中移动记录的次数,在折半插入排序的基础上加以改进:

(3)冒泡排序法

(4)归并排序法将两个或两个以上的有序表组合成一个新的有序表的方法叫归并。

(5)合并排序法将待排序元素分成大小大致相同的2个子集合,分别对2个子集合进行排序,最终将排好序的子集合合并成为所要求的排好序的集合。

(6)快速排序法在快速排序中,记录的比较和交换是从两端向中间进行的,关键字较大的记录一次就能交换到后面单元,关键字较小的记录一次就能交换到前面单元,记录每次移动的距离较大,因而总的比较和移动次数较少。

设计提示:

参考相关资料、书籍,理解各种排序方法;

定义恰当的数据结构。

39.巨大整数的乘法(分治法)

说明:此2数很大,以至于其已经超过了计算机能表示的整数的范围,或其乘积已经超过了计算机能表示的整数的范围。

题目难度:难

设计要求:请使用C语言编程,设计一个有效的算法,可以进行两个n位(二进制数)大整数的乘法运算。

设计提示:

将此2数转换为2进制字符串,并进行分段。

X = a 2n/2 + b Y = c 2n/2 + d

XY = ac 2n + (ad+bc) 2n/2 + bd

为了降低时间复杂度,必须减少乘法的次数。

1.XY = ac 2n + ((a-c)(b-d)+ac+bd) 2n/2 + bd

2.XY = ac 2n + ((a+c)(b+d)-ac-bd) 2n/2 + bd

考虑到a+c,b+d可能得到m+1位的结果,使问题的规模变大,故不选择第2种方案。

如果将大整数分成更多段,用更复杂的方式把它们组合起来,将有可能得到更优的算法。

40.蚂蚁觅食过程模拟

说明:

1)各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。

2)当一只找到食物以后,它会向环境释放一种信息素,吸引其他的蚂蚁过来,这样越来越

多的蚂蚁会找到食物。

3)有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果令开辟的道路

比原来的其他道路更短,那么,渐渐,更多的蚂蚁被吸引到这条较短的路上来。

4)最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。

题目难度:难

设计要求:请使用C语言编程,设计一个有效的算法,模拟蚂蚁觅食的过程。

设计提示:

1)要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开

障碍物,

2)要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;

3)如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小。

4)更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。

41.棋盘覆盖问题(递归法)

说明:在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L 型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。

题目难度:难

设计要求:请使用C语言编程,设计一个有效的算法解决棋盘覆盖问题。

设计提示:

当k>0时,将2k×2k棋盘分割为4个2k-1×2k-1 子棋盘(a)所示。特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格。为了将这3个无特殊方格的子棋盘转化为特殊棋盘,可以用一个L型骨牌覆盖这3个较小棋盘的会合处,如(b)所示,从而将原问题转化为4个较小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘简化为棋盘1×1。

42.循环赛日程表(动态规划法)

说明:设计一个满足以下要求的比赛日程表:

(1)每个选手必须与其他n-1个选手各赛一次;

(2)每个选手一天只能赛一次;

(3)循环赛一共进行n-1天。

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

操作系统课程设计题目

课程设计任务书 一、课程设计目的 《计算机操作系统》课程设计是计算机类专业的集中实践性环节之一,是学习完《计算机操作系统》课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系统软件和应用软件提供必要的软件理论基础。 二、课程设计内容及要求 课程设计要求: 每位同学从下述设计任务中任选一个任务完成,上机验收运行结果,现场提问,并提交所完成该任务的课程设计报告。 实验要求: 1)上机前认真使用C语言编写好程序,采用Visual C++6.0作为编译环境; 2)上机时独立调试程序 3)上机验收运行结果,现场提问 4)根据具体任务要求,提交课程设计实验报告,报告内容包括:课程设计目的、内容、基本原理、模块划分、数据结构、算法设计、程序流程图(包括主程序流程图、模块详细设计流程图等)、以及算法源码(必须有相关注释,以有助于说明问题为宜,不得全盘打印而不加任何注释)、心得体会等。

设计内容一页式虚拟存储管理页面置换算法 1.目的和要求 在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础 2.实验内容 阅读教材《计算机操作系统》,掌握存储器管理相关概念和原理。 模拟实现页式虚拟存储管理的三种页面置换算法(OPT、FIFO和LRU),并通过比较性能得出结论。 前提: (1)页面分配采用固定分配局部置换。 (2)作业的页面走向和分得的物理块数预先指定。可以从键盘输入也可以从文件读入。 (3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。 3.实验环境 Windows操作系统、VC++6.0、C语言 4.实验提示 (1)基础知识 存储管理是操作系统进行资源管理的一个重要功能。现代操作系统广泛采用虚

软件综合课程设计报告模板

(课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。) 计算机软件综合 课程设计报告 学院、系:吉林大学珠海学院计算机科学与技术系 专业名称:2015级软件工程专业课程设计科目:计算机软件综合课程设计 题目:******* 系统 学生姓名:(小组所有成员的学号、姓名) 指导教师: 完成时间:2017年9月—2018年1月

目录 1引言 (4) 1.1编写目的 (4) 1.2背景说明 (4) 2 需求分析 (4) 2.1系统总体目标 (4) 2.2 系统功能 (4) 2.3数据需求 (4) 2.3数据流图 (5) 3 数据库概念结构设计 (5) 3.1系统E-R模型 (5) 3.2模块E-R模型 (5) 4 数据库逻辑结构设计 (5) 4.1 逻辑结构设计 (5) 4.2物理结构设计 (6) 5 安全性设计 (6) 5.1 身份验证模式 (6) 5.2 登陆管理 (6) 5.3 权限管理 (6) 6 源代码及其实现 (7)

5.1 系统开发技术 (7) 5.2 模块1设计及其实现 (7) 5.3 模块2设计及其实现 (7) 7 总结 (7) 6.1 课程设计心得体会 (7) 6.2 建议 (7) 8 参考文献 (7)

题目(三号,黑体,居中) 说明:一组只写一份报告,即下面内容,自己也可以根据实际情况进行调整和补充。 每个人写一份《课程设计成绩评定表》附在后面。 1引言 1.1编写目的 1.2背景说明 1.系统名称:公交查询系统 2.该项目的提出者:************ 3.开发者:********** ********* 4.运行该软件的单位:公交公司及广大乘客 2需求分析 2.1系统总体目标 2.2 系统功能 详细阐述系统的用户类型及其所属主要功能 2.3数据需求 根据系统功能整理出出系统中和数据相关的信息,要列出数据的详细信息。

电子技术课程设计题目

电子技术课程设计一、课程设计目的: 1.电子技术课程设计是机电专业学生一个重要实践环节,主要让学生通过自己设计并制作一个实用电子产品,巩固加深并运用在“模拟电子技术”课程中所学的理论知识; 2.经过查资料、选方案、设计电路、撰写设计报告、答辩等,加强在电子技术方面解决实际问题的能力,基本掌握常用模拟电子线路的一般设计方法、设计步骤和设计工具,提高模拟电子线路的设计、制作、调试和测试能力; 3.课程设计是为理论联系实际,培养学生动手能力,提高和培养创新能力,通过熟悉并学会选用电子元器件,为后续课程的学习、毕业设计、毕业后从事生产和科研工作打下基础。 二、课程设计收获: 1.学习电路的基本设计方法;加深对课堂知识的理解和应用。 2.完成指定的设计任务,理论联系实际,实现书本知识到工程实践的过渡; 3.学会设计报告的撰写方法。 三、课程设计教学方式: 以学生独立设计为主,教师指导为辅。 四、课程设计一般方法 1. 淡化分立电路设计,强调集成电路的应用 一个实用的电子系统通常是由多个单元电路组成的,在进行电子系统设计时,既要考虑总体电路的设计,同时还要考虑各个单元电路的选择、设计以及它们之间的相互连接。由于各种通用、专用的模拟、数字集成电路的出现,所以实现一个电子系统时,根据电子系统框图,多数情况下只有少量的电子电路的参数计算,更多的是系统框图中各部分电子电路要正确采用集成电路芯片来实现。 2. 电子系统内容步骤: 总体方案框图---单元电路设计与参数计算---电子元件选择---单元电路之间连接---电路搭接调试---电路修改---绘制总体电路---撰写设计报告(课程设计说明书) (1)总体方案框图: 反映设计电路要求,按一定信息流向,由单元电路组成的合理框图。 比如一个函数发生器电路的框图: (2)单元电路设计与参数计算---电子元件选择: 基本模拟单元电路有:稳压电源电路,信号放大电路,信号产生电路,信号处理 电路(电压比较器,积分电路,微分电路,滤波电路等),集成功放电路等。 基本数字单元电路有:脉冲波形产生与整形电路(包括振荡器,单稳态触发器,施密特触发器),编码器,译码器,数据选择器,数据比较器,计数器,寄存器,存储器等。 为了保证单元电路达到设计要求,必须对某些单元电路进行参数计算和电子元件 选择,比如:放大电路中各个电阻值、放大倍数计算;振荡电路中的电阻、电容、振荡频率、振荡幅值的计算;单稳态触发器中的电阻、电容、输出脉冲宽度的计 算等;单元电路中电子元件的工作电压、电流等容量选择。

《操作系统课程设计》题目要求

操作系统课程设计要求 一.设计目的 熟悉Linux编程环境,加强对Linux命令的理解及函数的运用 二.设计内容 1. 在Linux环境下模拟实现简单命令解释器。 (1)要求实现的基本命令包括: pwd //显示当前所在目录的路径名 dir <目录名> //列出指定目录名中的所有目录及文件 cd <目录名或路径>//改变当前工作目录 newdir <目录名> //新建目录 deldir <目录名> //删除目录 exit //退出命令解释程序 (2)可选做的扩展命令包括: rename <旧文件名> <新文件名> //重命名一个文件或目录 find <目录> -name <待查找的文件名> //在指定的目录及其子目录中查找指定的文件date //显示当前日期 (3)提示:整个程序的大致框架可参考如下: while ( exit未被输入) { 接收键盘的一行输入 分析输入的命令 对输入的命令进行处理,调用系统函数实现功能 } 2. 设计要求 (1) 设计必须在Linux环境下进行。 (2) 命令解释程序的提示符为:姓名拼音@ (3) 程序编写中不得使用system()系统调用。 (4) 整个程序必须严格经过测试,完成所有基本功能。源程序应有较详尽的注释。 3.可能用到的系统调用: open(),close(),read(),write(),creat() chdir(), opendir(),readdir(),rewinddir(),closedir(),rmdir(),mkdir() getcwd(), ftw() time(), localtime(), asctime()

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

单片机课程设计题目汇总(全)

单片机原理与接口技术课程设计题目汇总 说明:为便于同学提前探讨开发思路,特将本课程设计的可选题目发给大家。 每个同学可以在以下题目中选一题要求:课程设计考核内容包括:源程序;设计报告文档基于单片机的电子时钟设计设计内容:1、用LCD液晶作为显示设备(30分) 2、可以分别设定小时,分钟和秒,复位后时间为:00: 00:00 (30 分) 3、能实现日期的设置,年、月、日(30分) 4、其他创新内容(10分)如:闹钟功能;显示星期;整点音乐报时等。 图示: 2010-04-09 MON 11:06:42 基于单片机的交通灯显示系统(一) 设计内容:1、东西方向、南北方向均有红、黄、绿三种信号灯;(30 分) 2、带紧急制动按钮,按钮按下,所有方向亮红灯;再次按下,恢复正常显 示(20分) 3、夜间模式按钮按下,所有方向显示黄灯闪烁(20分) 4、实时提醒绿灯亮的剩余时间(30分)图示: 基于单片机的交通灯显示系统(二) 设计内容:1、东西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒(40分) 2、信号灯分绿灯(3种)、红灯、黄灯,每次绿灯换红灯时,黄灯亮3秒 钟。(30分) 3、东西干道和南北干道交替控制,每次干道绿灯交替时,有 3 秒钟所有干道的交通灯都是黄灯闪烁3秒钟,提示已经进入路口的车辆迅速通过。(30分)

4、其他创新内容。(10分) 图示: 四、基于单片机的波形发生器设计 设计内容:1、设计一款能产生3种以上波形的波形发生器(30分) 2、设计波形选择按钮(采用3个独立按键)(10分) 3、点阵显示波形图案(20分) 4、能同时输出两种波形(30分) 5、显示频率(10分) 图示: 五、基于单片机的LED点阵广告牌设计 设计内容:1、能显示不同字符、图形的LED点阵广告牌(30分) 2、用独立按键控制不同字符的切换效果(如闪烁、静止、平移)(30 分) 3、可通过串口从电脑下载更新需要显示的字符(30分) 4、其他创新功能(10分) 图示:略 六、基于单片机的篮球计分器设计 设计内容:1、设计LCD显示篮球比分牌(30分) 2、通过加分按钮可以给A队或B队加分(20分) 3、设计对调功能,A队和B队分数互换,意味着中场交换场地。(20 分) 4、显示比赛倒计时功能(20分) 5、创新内容:如显示第几小节(10分) 显示: A 083: B 079 4th Period 10:25

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统-课程设计

课程设计说明书(操作系统) 题目:进程调度 院系:计算机科学与工程学院 专业班级:信息安全13-2 学号:20133029xx 学生姓名:xx 指导教师:xx 2015年12月15日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

安徽理工大学课程设计(论文)成绩评定表

摘要 现代计算机系统中,进程是资源分配和独立运行的基本单位,是操作系统的核心概念。因而,进程就成为理解操作系统如何实现系统管理的最基本,也是最重要的概念。进程调度是进程管理过程的主要组成部分,是必然要发生的事件。 在现代操作系统中,进程的并发机制在绝大多数时候,会产生不断变化的进程就绪队列和阻塞队列。处于执行态的进程无论是正常或非正常终止、或转换为阻塞状态,都会引发从就绪队列中,由进程调度选择一个进程进占CPU。 进程调度的核心是进程调度的算法.在本课程设计中,用良好清晰的界面向用户展示了进程调度中的时间片轮转调度算法。在最终实现的成果中,用户可指定需要模拟的进程数,CPU时间片和进程的最大执行时间,并且选择需要演示的算法,界面将会动态的显示进程调度过程及各个队列的变化。通过此进程调度模拟系统,用户可以对时间片轮转调度算法有进一步以及直观的了解。 关键词:进程,调度,PCB,时间片轮转

目录 1.设计目的 (6) 2.设计思路 (6) 3.设计过程 (8) 3.1流程图 (8) 3.2算法 (8) 3.3数据结构 (10) 3.4源代码 (10) 4.实验结果及分析 (20) 4.1 使用说明 (20) 4.2程序演示 (20) 5.实验总结 (24) 6.参考文献 (24)

计算机网络课程设计题目

计算机网络课程设计 一. 中小型千兆网吧组建 内容及要求: 用BOSON软件实现小规模网络的模拟。熟悉对路由器和交换机的配置命令,调通网络,并通过实例深入理解网络基本工作原理及实现方法。学会网络构建、日常维护以及管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能,网吧包含100-200台上网的计算机。二.小型网络的组建 通过对网络的具体规划和组建,掌握网络互连设备的使用及工作原理;掌握IP地址的配置及数据传输过程和路由的选择。 具体要求如下: 1.使用模拟仿真软件,构建一个小型网络。要求使用路由器、交换机等网络互连设备。根据设计要求,选择网络类型。 2.分配和配置IP地址,要求配置内部网络地址。 3.对交换机、路由器等进行配置。 4.通过使用模拟仿真软件,模拟局域网间的数据通信过程。 5.分析通信过程中出现的问题,并加以解决。 6. 写出课程设计报告:设计目的、设计内容、设计方案、拓扑图、设备选型、方案报价、子网划分等内容。 (1)企业网络工程 (2)银行网络工程 (3)医院网络工程

(4)校园网网络工程 (5)大型机场信息网络工程 (6)邮电综合管理信息网 (7)某航空公司网络系统建设 (8)某市宽带信息网络 (9)证券交易网络系统 (10)学校以太网网络建设 三.Ping程序的设计与实现 设计的目的是使学生掌握网络层协议的原理及实现方法。设计内容,在给定的Ping程序的基础上做如下功能扩充: ●-h 显示帮助信息 ●-b 允许ping一个广播地址,只用于IPv4 ●-t 设置ttl值,只用于IPv4 ●-q 安静模式。不显示每个收到的包的分析结果,只在结束时,显示汇总结果 Ping命令的基本描述 Ping的操作是向某些IP地址发送一个ICMP Echo消息,接着该节点返回一个ICMP Echo reply消息。 ICMP消息使用IP头作为基本控制。IP头的格式如下 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version=4 IHL Internet头长 Type of Service = 0 Total Length IP包的总长度 Identification, Flags, Fragment Offset 用于IP包分段 Time to Live IP包的存活时长 Protocol ICMP = 1 Addresses 发送Echo消息的源地址是发送Echo reply消息的目的地址,相反,发送Echo

2017操作系统(含课程设计) - 随堂练习

随堂练习提交截止时间:2017-12-15 23:59:59 当前页有10题,你已做10题,已提交10题,其中答对10题。 1.(单选题) 操作系统是基本的特征是() A、并发 B、共享 C、虚拟 D、异步 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 2.(单选题) 下面不属于操作系统设计目标的是() A、提高资源利用率 B、提高系统吞吐量 C、用户操作计算机更方便 D、并行执行多个进程 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 3.(单选题) 历史上最早出现的操作系统是() A、单道批处理系统 B、多道批处理系统 C、分时系统 D、实时系统 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 4.(单选题) 实时操作系统必须在()内处理完来自外部的事件。 A、响应时间 B、周转时间 C、被控对象规定时间 D、调度时间 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 5.(单选题) 操作系统是对()进行管理的软件。 A、软件 B、硬件 C、计算机资源 D、应用程序 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 6.(单选题) 配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的一台计算机只是一台逻辑上的计算机,称为()计算机。 A、并行 B、真实 C、虚拟 D、共享 答题: A. B. C. D. (已提交)

问题解析: 7.(单选题) 操作系统中采用多道程序设计技术提高了CPU和外部设备的() A、利用率 B、可靠性 C、稳定性 D、兼容性 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 8.(单选题) 在操作系统中,并发性是指若干事件____发生( ) A、在同一时刻 B、在不同时刻 C、在某一时间间隔内 D、依次在不同时间间隔内 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 9.(单选题) ()操作系统允许在一台主机上同时联接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A、网络操作系统 B、批处理操作系统 C、实时操作系统 D、分时操作系统 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 10.(单选题) 下面关于操作系统的叙述中正确的是 ( ) A、批处理作业必须提交作业控制信息 B、分时系统不一定都具有人机交互功能 C、从响应时间的角度看,实时系统与分时系统差不多 D、由于采用了分时技术,用户可以独占计算机的资源 答题: A. B. C. D. (已提交) 参考答案:A 问题解析:

操作系统课程设计论文

学年论文(课程设计)题目:操作系统课程设计 学院数学与计算机学院 学科门类工学 专业网络工程 学号 姓名 指导教师王煜 年月日

河北大学学年论文(课程设计)任务书 (指导教师用表) 指导教师签字: 系主任签字: 主管教学院长签字: 装 订 线

河北大学学年论文(课程设计)成绩评定表学院:数学与计算机学院 装 订 线

摘要 此系统实现了存储管理、设备管理和进程管理。 存储管理部分主要实现主存空间的分配和回收。存储管理采用可移动的可变分区存储管理方式。采用数组来模拟主存,大小为512个字节。 设备管理主要包括设备的分配和回收。模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。设备分配时采用采用先来先服务策略。设备回收时唤醒等待设备的进程。 进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。其中硬件中的中央处理器用不断循环的函数CPU( )模拟,重要寄存器(如:程序状态寄存器PSW、指令寄存器IR)用全局变量模拟,中断的发现是在函数CPU中加检测PSW 的方式来模拟,时钟的模拟通过timer控件实现。进程控制块的模拟通过数组,本系统最多容纳10个。进程调度时采用时间片轮转调度算法,时间片为5。 关键词:存储管理设备管理进程管理时间片

ABSTRACT The system has storage management, equipment management and process management. The storage management has achieved the allocation and recovery of the main memory space. Variable storage management is used as storage management .We simulate the main memory by array, whose size is 512 bytes. The device management, including the distribution and recovery of devicet. We simulate three devices ,A,B,C. the numbers of them are 3,2,1. The distribution of device used to adopt first-come first-service strategy. It awakes the blocking process when the device is recycled. The process management, including scheduling ,creating revocation ,blocking and waking up the process, the realization of the interruption.We simulate the central processing unit by the cycling function named CPU(),simulate the important register by global variable, simulate the recovering of interruption by checking PSW in the function of CPU(),simulate the clock by the timer control. The simulation of the process control block by array, whose number is up to 10. When the scheduling of the process happens, we use the algorithm of time piece rotation scheduling, and the time piece is 5. Key words: storage device process time

《计算机科学与编程导论》课程设计参考题目及要求

《计算机科学与编程导论》课程设计参考设计题目 1、学生信息管理 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●学生信息录入功能(学生信息用文件保存)---输入 ●学生信息浏览功能——输出 ●查询、排序功能——算法 1、按学号查询 2、按姓名查询 ●学生信息的删除与修改(可选项) (2)功能要求 ●界面简单明了; ●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新 输入; ●最好用链表的方式实现。 (3)算法分析 首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。 对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。 2、学生综合测评系统 每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。 A、学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 提示:学生信息可先输入到数组中,排序后可写到文件中。 (2) 插入(修改)同学信息: 提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容, (3) 删除同学信息: 提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

操作系统课程设计题目

实验一进程调度 一、实验目的 观察、体会Linux 系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程调度算法,进程切换的理解。 二、实验内容 采用动态优先数的方法,编写一进程调度程序模拟程序。模拟程序只进行相应的调度模拟操作,不需要实际程序。 [提示]: (1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为: 进程名 指针 要求运行时间 优先数 状态 其中,进程名——作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。 指针——按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。 要求运行时间——假设进程需要运行的单位时间数。 优先数——赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态——可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。 (2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。 (3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一单元指出队首进程,用指针指出队列的连接情况。 (4) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实习是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行: 优先数-1 要求运行时间-1 来模拟进程的一次运行。 提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。 (5) 进程运行一次后,若要求运行时间?0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。 (6) 若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,

软件综合课程设计教学大纲

珠海学院课程教学大纲 课程名称:计算机软件综合课程设计 适用专业: 2015级软件工程专业 课程类别:专业基础课 制订时间:2017年6月 计算机科学与技术系制

目录 1 《计算机软件综合课程设计》教学大纲 2 《计算机软件综合课程设计》(模板) 3 《计算机软件综合课程设计》成绩评定表

《计算机软件综合课程设计》教学大纲 一、课程设计基本信息 课程代码: 课程名称:计算机综合应用课程设计 课程学时:32学时 课程学分:2.0 适用对象:计算机科学与技术专业、软件工程专业 先修课程:高级语言程序设计、数据结构、操作系统、数据库原理与应用 二、课程设计目的和任务 本课程设计是检验计算机专业的学生在大学主干课程完成之后,为了加深和巩固学生对前两年所学理论和应用知识的理解,同时提高学生综合运用的能力和分析问题、解决的问题的能力而开设的一门实践课程。 通过本环节学生能够充分把前两年学到的知识综合应用到实际的编程实践中,可以进一步巩固所学到的理论。通过实现一个中等规模的应用软件,提高利用计算机系统解决实际问题的能力,为顺利毕业、进入社会打好基础;通过对程序的规范编写,可以培养学生良好的编程风格,包括程序结构形式,行文格式和程序正文格式等;并培养学生的上机调试能力。 三、课程设计方式 1、课程设计题目的选定 采用指导教师提供参考题目与学生自主命题相结合的办法选定课程设计题目。要求不多于4个人一个小组,不得重复,所涉及数据库的基本表至少在5张表以上,在尽量满足数据库设计原则的前提下,允许适当冗余以提高检索的速度。其中学生自主命题需要指导教师严格的审核,看是否满足课程要求,检查是否为重复课题。 2、课程设计任务的完成

计算机网络课程设计题目

计算机网络课程设计题目

计算机网络课程设计 题目一 基本要求:根据用户需求,设计网络,并完成相关文档和文件工作。要求通过查找资料,独立完成设计,全部图、表只能使用WORD或VISIO 的相关工具来画,不得粘贴扫描的图片。 路由器和交换机、PC机配置利用boson netsim 或类似软件来辅助进行,防火墙、服务器配置用文档描述。 1、某高校要求设计一个校园网, 一、用户需求 (1)用户规模500台计算机。 (2)用户大致平均分散在4栋楼房内,4栋楼房排成前后两排,楼房之间各相距200米,楼房高4层。每栋楼的4楼用户构成两个VLAN。(3)中心机房设在其中1栋楼房的1楼靠近另一栋楼房的一端。 (4)安装对外WWW、业务WWW、邮件、FTP、BBS、DNS、数据库七个服务器。提供匿名服务,但FTP仅对内部开放。 (5)提供LAN、WLAN接入。

(6)在业务WWW服务器上配备基于Web的业务应用系统,所有用户使用业务系统实现网上办公。 (7)要求出口带宽为1Gbps。 二、设计要求 (1)写出简要的可行性分析报告。 (2)设计网络结构,并给出解释。 (3)除用户计算机已购置外,其余全部设备和通信线路需要重新购买、安装。试具体给出全部主要设备的配置、型号或技术指标及其测算依据。 (4)给出工程预算(包括设备、线路等,不含施工费)及其计算依据。 题目二 设计一个中小企业网络规划与设计的方案:一、用户需求 (1)公司有1000 台PC (2)公司共有7个部门,不同部门的相互访问

要求有限制,公司有3个跨省的分公司。 (3)公司有自己的内部网页与外部网站,公司能够提供匿名的FTP,邮件,WWW服务,但FTP 只对内部员工开放。 (4)公司有自己的OA 系统 (5)公司中的每台机能上互联网,每个部门的办公室联合构成一个VLAN。 (6)核心技术采用VPN。 二、设计要求 (1)写出简要的可行性分析报告。 (2)设计网络结构,并给出解释。 (3)除PC机已购置外,其余全部设备和通信线路需要重新购买、安装。试具体给出全部主要设备的配置、型号或技术指标及其测算依据。(4)给出工程预算(包括设备、线路等,不含施工费)及其计算依据。 题目三 题目:广告公司网络的设计 1.基本背景描述 某广告公司现有分公司1(50台pc)和分公司2(40台pc),分公司1和分公司2都拥有各自独立的部门。分公司1和分公司2包括:策划部、市场部、设计部。为提高办公效率,该广告公司决定建立一个内部网络。 该广告公司内部使用私有IP地址192.168.160.0/23,要求该广告公司的分公司1和分公司2之间使用路由器进行连接(不使用vpn技术),使用动态的路由

计算机网络课程设计题目和要求

计算机网络课程设计通过课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议和LAN、WAN上的实际工作能力;学会网络构建、网络日常维护以及网络管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能。运用网络工程和软件工程思想,按照需求分析、规划、设计、配置的基本流程,经历一个完整的网络工程过程,培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力,培养学生将理论知识应用于实践的能力。 一、格式要求及须知: (1)使用学院网站的课程设计模版,要求格式美观,字体及编号要求见表1。 表1 字体及编号要求

(2)参考文献:参考课本的参考文献格式(附录C)。但编号换成[1]、[2]……(3)附录:课程设计中的代码或得到的数据包等数据将作为该设计附件或附录,题目需要但没有的相应代码及数据包文件的将记整组不及格,需要重做。 (4)成绩记录:该设计成绩将记录到教务处成绩管理系统中。 (5)打印:经审查(发邮件到指导老师处或当面交流修改)后,方可打印、存档。打印后递送到指导老师的信箱。 (6)如发现两组设计雷同或抄袭互联网,该组重做! 二、任务完成形式: 交付课程设计说明书、设计作品(需要验收)。 设计作品指的是完整的源程序代码(对于第二类题目为仿真文件)。 课程设计说明书(纸质+电子版),内容包括:设计任务、需求分析、总体设计、详细设计(相应地给出关键的代码)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 设计工作计划与进度安排: 根据所选题目,合理安排进度计划,总体上需要40个小时。以下仅供参考: 1. 原理知识 4小时 2. 程序设计技术 4小时 3. 开发环境与程序调试环境 4小时 4. 总体设计、关键环节的详细设计 8小时

相关文档
相关文档 最新文档