课程设计指导书.docx
- 文档编号:16303089
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:59
- 大小:49.09KB
课程设计指导书.docx
《课程设计指导书.docx》由会员分享,可在线阅读,更多相关《课程设计指导书.docx(59页珍藏版)》请在冰点文库上搜索。
课程设计指导书
软件技术基础
课程设计指导书
(第一版)
前言
计算机技术的飞速发展正在引发新一轮世界性技术革命。
在经济发展越来越全球化、科技创新越来越国际化、知识经济已初见端倪的今天,任何一门技术或任何一个领域离开了计算机恐怕都是不可想象的。
然而计算机技术发展之迅速、计算机及其相关IT产品市场竞争之激烈、计算机产业让人致富之迅猛也同样是人们始料不及的。
在新世纪,任何想在技术领域有一番作为的人,恐怕都不得不面对计算机技术的挑战。
学习计算机软件技术,除了需要刻苦努力外,还需要掌握软件和操作系统以及数据库的原理与设计技巧。
这些原理与技巧可以说是计算机前辈们一代接一代不停努力的结晶,学习和掌握它们对于激发自己的创造力和想象力是很有帮助的。
如何学习和掌握操作系统以及数据库技术的原理与实际技巧呢?
除了听课和读书之外,最好的办法恐怕就是在实践。
例如,自己设计开发一个小型操作系统和一个数据库应用系统等。
本书是一本配合《软件技术基础》课程的实验指导书,共收集了供广大同学实践的多个实验,除了给出题目外,还附带了大量的有效提示,在不降低实验难度的基础上,给读者最大的启发性提示。
当然,这些提示只是一种参考,里面完全可能存在错误和不妥之处,有待于各同行的指教,读者可以不局限于这些提示。
本书的编写得到了本学院电子信息与通信工程系各位老师的大力帮助和支持,在此,编者对他们表示衷心的感谢!
衷心希望本书能对学习软件技术基础的人有所帮助。
编者
2005年5月于长沙
第一章课程设计的目的、内容和要求
一、课程设计的目的
培养学生的实际动手能力,将课堂所学的理论知识运用到实践中来,从而提高对《软件技术基础》这门课的认识。
二、课程设计的内容
课程设计内容包括三个部分:
数据结构、操作系统、数据库设计及应用
三、课程设计的要求
1.每位同学准备实验本,上机前作好充分的准备工作,设计好每次实验的内容,事先熟悉与实验有关的软硬件环境。
2.实验时遵守实验室的规章制度,爱护实验设备,不得私自将使用的计算机加密码,影响其他同学的上机。
原则上每人固定实验设备,由始而终地进行实验,对于实验设备出现的问题,要及时向指导老师汇报。
3.统一以以下格式命名本人的实验文件:
[班级][学号]_[实验题号].[扩展名]
例:
通信021班学号为03的学生第四个实验的文件名为:
t02103_4.c
4.最终的实验报告按照要求书写(或打印),按时上交,仔细记录实验中的数据、源程序、实验结果,对于实验过程中出现的问题或疑惑要一并书写,并作为重点加以思考。
5.实际上机操作和书面报告结合检查
第二章课程设计的步骤和报告规范
课程设计的步骤:
一、问题分析和任务定义
在设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?
限制条件是什么?
对所需完成的任务作出明确的回答。
二、系统设计
系统设计分为逻辑设计和详细设计两步。
逻辑设计指的是,对问题描述中的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义软件模块结构图;详细设计则为定义相应的存储结构,并写出各函数模块的伪码算法。
三、编码实现和调试
四、总结和整理课程设计报告
课程设计报告规范:
课程设计报告的开头应给出题目、专业、班级、学号、姓名、指导老师和完成日期,并包括以下七个内容:
一、问题描述
二、基本要求
三、数据结构的设计
四、软件模块结构图
五、程序设计思想
六、程序流程图
七、源程序
八、调试分析
九、测试数据
十、用户使用手册
十一、心得体会
第三章课程设计选题
数据结构方向(Ⅰ):
Ⅰ—1最短路径。
问题描述:
试设计一个程序,求图中一个源点到其他各顶点的最短路径。
要求:
(1)用邻接表表示图。
(2)按长度非递减次序打印输出最短路径的长度及相应的路径。
Ⅰ—2简单编译器的实现(括号配对检查)
问题描述:
通常在程序调试时都有对源代码编译的过程,而对左右括号是否匹配也是编译过程中的一个重要环节,试设计一个程序对任意输入的语句或数学表达式,判断其左右括号是否匹配。
Ⅰ—3实现二叉树中所有结点左右子树的交换
问题描述:
对任意一棵二叉树,试将其所有结点的左右子树交换。
并将交换前后的不同二叉树分别用层序、前序、中序和后序四种不同的方法进行遍历。
Ⅰ—4哈夫曼树在通信编码中的应用
问题描述:
设一份电文中有不同出现频率的字符,为了提高电文的输入和翻译效率,必须有一套简短而又不会产生歧义的字符代码。
试根据哈夫曼算法,对电文中的不同字符,构造出一棵哈夫曼树,对每个字符进行编码。
Ⅰ—5二叉排序树查找
问题描述:
二叉排序树查找是指按照二叉排序树中结点的关系进行查找,查找关键字首先同树根结点进行比较,如果相等则查找成功;如果比根结点小,则在左子树中查找;如果比根结点大,则在右子树中进行查找。
Ⅰ—6学生成绩统计、排序的实现
问题描述:
在学生成绩管理中,经常会遇到求平均成绩,统计不及格学生成绩,统计优秀学生人数,以及按成绩对学生进行排名等。
现假设有某个班级的若干名学生,每个学生都考试完成了4门课程,试对所有学生的成绩完成以下工作:
(1)求每门课程的平均成绩。
(2)输出所有有不及格课程的学生的学号、姓名、全部课程的成绩、平均成绩。
(3)输出所有平均分在90分以上(含90分)的学生学号、姓名。
(4)对4门课程中的任何一门,可随意抽取1门按学生成绩进行排序
Ⅰ—7多种基本内排序方法的实现
问题描述:
设计一个合成的排序程序。
可供排序的方法是:
插入排序、快速排序、归并排序、基数排序。
要求程序具有
(1)显示排序结果。
(2)提供最好和最坏情况下对比计时的功能。
(3)提供在不同数组元素的个数情况(当N分别等于100,1000,5000时)下各种排序算法的计算时间的统计功能。
Ⅰ—8工程造价最小问题
问题描述:
如果以无向网表示n个城市之间的交通网络建设规划,顶点表示城市,边上的权表示该线路的造价,试设计一个方案,使这个交通网的总造价最小。
Ⅰ—9旅游导游系统问题
问题描述:
假设一个旅游景区由n个不同景点组成(有向网),并用带权邻接矩阵表示,权值表示两个景点间的步行时间,试编写程序求任意两个景点间的最短步行时间。
Ⅰ—10拓扑排序问题
问题描述:
采用适当的存储结构,实现有向网的存储,建立,输入,显示,以及实现对有向无环图的拓扑有序序列的输出。
Ⅰ—11迷宫问题
问题描述:
从迷宫的入口开始寻找一条到出口的路径。
要求显示迷宫的布局,及找到的路径(最好显示寻找路径的过程)。
走到某一步后,假定往下有四个方向的可能,即上、下、左、右四个方向。
Ⅰ—12简易文本编辑器的实现
问题描述:
一个简易文本编辑器的功能包括:
(1)文本文件的保存,读入;
(2)字符的输入、修改、删除、换行;(3)利用模式匹配实现文本中字符串的定位。
Ⅰ—13运动会分数统计。
问题描述:
某学校开运动会,共有m个班参加,比赛设有n个男子项目和L个女子项目。
假设项目编号为1~n,n+1~n+L,并且假设编号为偶数的项目取前5名,得分顺序为7,5,3,2,1,编号为奇数的项目取前3名,得分顺序为5,3,2。
请编写出一个统计程序以产生:
各班成绩单(包括各班所得的各项成绩的项目号,名次,姓名和得分);团体总分报表(包括班级,男团总分,女团总分和团体总分);
可假设m≤20,n≤15,L≤10,姓名长度不超过20个字符。
每个项目结束时,将其编号、类型符(区分取前5名还是取前3名)输入,并按名次输入运动员的姓名、班级、成绩。
Ⅰ—14停车场管理。
问题描述:
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按其到达时间的先后顺序,依次由北向南排队(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车辆内停满n辆汽车,则后来的汽车只能在门外的便道等候。
一旦有车开走,则排在便道上的第一辆车即可开入。
当停车场内某辆车要离开时,在它之后开入的车辆必须退出车场让路。
待该辆车开出大门后,退出的车辆再按原次序进入车场。
离开停车场的每辆车必须按它停留的时间交纳费用。
试为停车场编制按上述要求管理的模拟程序。
Ⅰ—15图遍历的演示。
问题描述:
很多涉及图上操作的算法都是以图的遍历操作为基础的,试编一个程序,演示在连通图的无向图上行遍全部结点的操作。
操作系统方向(Ⅱ):
Ⅱ—1试模拟生产者—消费者问题
问题描述:
有一群生产者进程在生产消息,并将此消息提供给消费者进程去消费,为使生产者进程和消费者进程能并发执行,生产者与消费者可以通过一个环形缓冲池联系起来,环形缓冲池由n个大小相等的缓冲区组成,每个缓冲区容纳一个消息。
每个生产者可不断地每次往缓冲池中送一个消息,而每个消费者则可不断地每次从缓冲池中取出一个消息消费。
尽管所有的生产者进程和消费者进程,都是以异步方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取消息,也不允许生产者进程向一个已装有消息且尚未被取走消息的缓冲区中投放消息。
请用信号量及PV操作实现这一组进程的工作过程。
Ⅱ—2试模拟读者—写者问题
问题描述:
某数据库有一个写进程,多个读进程,它们之间读、写操作的互斥要求是:
写进程运行时,其它读、写进程不能对数据库操作;读进程之间不互斥,可以同时读数据库。
请用信号量及PV操作实现这一组进程的工作过程。
Ⅱ—3试模拟分时调度算法原理
问题描述:
分时轮转调度算法是系统把所有就绪进程按先后次序排队,处理机总是优先分配给就绪队列中的第一个就绪进程,并分配它一个固定的时间片(如100毫秒)。
当该运行进程用完规定的时间片时,被迫释放处理机给下一个处于就绪队列中的第一个进程,分给这个进程相同的时间片,每个运行完时间片的进程,当未遇到任何阻塞时,就回到就绪队列的尾部,并等待下次转到它时再投入运行。
于是,只要是处于就绪队列中的进程,按此种算法迟早总可以分得处理机投入运行。
模拟实现这一组进程的工作过程。
Ⅱ—4试模拟最高响应比调度算法原理
问题描述:
从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。
模拟实现这一组进程的工作过程。
Ⅱ—5试模拟多级反馈队列调度算法原理
问题描述:
根据进程的类型或性质的不同,将就绪进程分为若干个独立队列,不同类型或性质的进程固定地分属于一个队列,每个队列可以采用适合的调度算法,不同的队列可使用不同的调度算法。
各个队列有不同的优先权。
各个队列进程执行的时间片的大小也各不相同。
仅当第一个队列空闲时,调度程序才调度第二个队列中的进程执行,仅当第1—i个队列空闲时,调度程序才调度第i+1个队列中的进程执行。
模拟实现这一组进程的工作过程。
Ⅱ—6试模拟先来先服务调度算法原理
问题描述:
每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。
该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。
模拟实现这一组进程的工作过程。
Ⅱ—7试模拟银行家算法原理
问题描述:
在死锁的避免中,银行家算法把系统状态分为安全状态和不安全状态,只要能使系统始终处于安全状态,便可以避免发生死锁。
所谓安全状态,是指系统能按某种顺序为每个进程分配所需资源,直到最大需求,使每一个进程都可以顺利完成,即可找到一个安全资源分配序列。
模拟实现这个工作过程。
Ⅱ—8试模拟最先内存分配算法原理
问题描述:
对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。
模拟实现这种内存分配过程。
Ⅱ—9试模拟最坏内存分配算法原理
问题描述:
每次分配主存时总是挑选一个最大的空闲区,分割一部分给作业使用,使剩下的部分不至于太小,仍可供使用。
为实现这种算法,把空闲区按长度递减次序登记在空闲区表中,分配时,顺序查找。
模拟实现这种内存分配过程。
Ⅱ—10试模拟最佳内存分配算法原理
问题描述:
是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。
为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时,顺序查找。
模拟实现这种内存分配过程。
Ⅱ—11试演示请求分页式内存管理算法原理
问题描述:
它是建立在纯分页基础上的,增加了请求调页功能、页面置换功能所形成的页式虚拟存储管理系统。
把作业分成大小相等的若干页,把主存分成与页大小相等的若干块;对每个作业限定分给它的主存块数,先把作业的部分页装入主存的这些块中,在作业运行时再装入所需要的页。
模拟实现这种内存管理过程。
Ⅱ—12试演示页的LRU置换算法原理
问题描述:
在存储分块表(或页表)中设一个“引用位”,当存储分块表中的某一页被访问时,该位自动置1,并由页面管理软件周期性把所有引用位置0。
这样,在一个时间周期T内,某些被访问过的页面其引用位为1,而未被访问过的页面其引用位为0。
因此,可根据引用位的状态来判别各页面最近的使用情况。
当需要置换一页面时,选择其引用位为0的页。
模拟实现这种页面置换过程。
Ⅱ—13试演示页的FIFO置换算法原理
问题描述:
总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被置换掉。
模拟实现这种页面置换过程。
Ⅱ—14试演示磁盘调度的SCAN算法原理
问题描述:
扫描(SCAN)调度算法总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。
如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。
采用这种调度算法,需要为访问者设置两个队列,根据磁头的移动方向,能访问到的访问者由近及远排队,背离磁头移动方向的访问者也由近及远排为另一队。
先按磁头移动方向队列调度访问者访问磁盘,当该方向没有访问者时,再改变方向,选择另一个访问者队列访问磁盘。
模拟实现这种磁盘调度过程。
数据库方向(Ⅲ):
Ⅲ—1图书借阅管理系统的开发
问题描述:
创建一个图书借阅管理系统,实现图书出借、图书归还、图书整理、打印报表、用户管理等功能。
Ⅲ—2房屋销售管理系统的开发
问题描述:
创建一个房地产公司楼盘销售的管理系统,实现房源登记、查看房屋信息、购买房屋、房屋信息维护、员工信息维护、销售记录查询、房屋信息查询等功能。
Ⅲ—3住院收费管理系统的开发
问题描述:
创建一个住院收费管理系统,其业务流程紧密围绕病人从住院直至出院过程中所涉及的费用帐务问题。
该系统主要包括住院登记、费用记账、结账出院三个模块。
Ⅲ—4订单生成系统的开发
问题描述:
在销售产品的过程中,对订单的处理,本着将产品和客户这两个要素有机地整合在一起,实现订单管理的电子化。
该系统主要包括:
商品信息查询维护、选取商品条目、逐条生成订单等功能。
Ⅲ—5实验室数据上报系统的开发
问题描述:
创建一个上报学校实验室的基础数据的系统。
该系统主要包括:
实验室的基本情况、实验室专职工作人员情况、实验室各类实验开出情况、实验室任务及人员情况、生成上面四项数据的上报文件等五个功能模块。
Ⅲ—6职工工资管理系统的开发
问题描述:
创建一个职工工资管理系统。
该程序具有:
输入数据功能;修改数据的功能;根据工号或姓名查找职工的工资情况功能;删除数据的功能;打印输出职工个人工资单及部门工资汇总表的功能。
Ⅲ—7通信电缆的使用管理系统的开发
问题描述:
该题目总共包括两张表格,其中表1是通信电缆的基本性能参数表,表2是通信电缆的使用情况表。
表1与表2的基本关系是表2中的所有电缆型号来源于表1。
设计要求:
1.要能完成表1、表2数据的输入、修改、查询和打印功能
2.在进行表2的数据录入时,若输入的电缆型号在表1中不能找到时,程序应给出相应的错误提示信息并能给予重输功能。
3.查询结果应有打印功能
4.打印的报表应是表格形式
表1、通信电缆性能表
电缆型号
铅皮厚(mm)
外径
总重量(g/m)
厂商
铜皮外径mm
总外径(mm)
HOL02
1.60
52.4
2845
郑州电缆厂
HOL22
1.60
51.1
4136
西安电缆厂
HQQ
1.95
33.6
33.6
3550
焦作电缆厂
HQQ02
1.70
33.1
39.5
3890
西安电缆厂
HQQ41
2.70
49.2
68.0
12730
郑州电缆厂
表2、通信电缆使用情况表
站、段
电缆型号
日期
备注
施工日期
第一次检修
第二次检修
长沙—株洲
HQQ
90.10.10
94.10.10
96.10.10
一直完好
株洲—衡阳
HOQ41
90.8.25
94.10.19
96.10.19
株洲—萍乡
HQQ
91.1.10
94.11.20
96.11.20
长沙—岳阳
HOL22
90.9.10
94.12.01
96.12.01
有断点
株洲—娄底
HOL22
93.9.08
95.12.03
96.12.03
Ⅲ—8通信设备的管理系统的开发
问题描述:
该题目总共包括两张表。
其中表1是通信设备的货存表。
表2是通信设备的领用表。
两表之间的主要关系有:
表2的代号和名称规格来源于表1,表1中的代号是唯一的,因而在表2的数据录入过程中只输入代号后,名称和规格应自动显示出来,不能让使用者再输入。
表2中的领用数量要受表1的数量限制,在输入表2中领用数量时,若大于表1的数量时应给出错误提示信息并显示出实际的库存量。
每次领取后均应将表1中的数量减去领取数量代替原有数量。
设计要求:
要求完成表1和表2数据的录入、修改、查询和打印功能。
其中查询也就有打印功能,所有打印报表均应为表格形式。
表1、通信设备货存表
代号
名称及规格
单位
数量
备注
ZZ
ZZ1800-03A无人机
箱
1
ZYW
ZYW07通信联话盒
箱
2
RT
1800路无人机箱地温头
套
5
TP
TP-5型充气盘
个
4
RA
电缆支架
个
4
YT
地脚螺栓M10ⅹ120
套
3
固定机箱用
TYY
铜鼻子
个
10
接地线用
表2、设备领用表
代号
名称及规格
单位
数量
领取日期
需要数量
实领数量
缺少数量
TP
TP-5型充气盘
个
3
3
0
96.08.10
YT
地脚螺栓M10ⅹ120
套
3
3
0
96.08.10
TP
TP-5型充气盘
个
2
1
1
96.08.21
TYY
铜鼻子
个
12
10
2
96.08.21
ZZ
ZZ1800-03A无人机
箱
1
1
0
96.08.22
Ⅲ—9设备维修管理系统的开发
问题描述:
该题目总共有两张相关的表格数据,表1是设备维修表,表2时职工档案表。
两表的主要关系是表1中的工作人员来源于表2的姓名栏。
设计要求:
首先要将表2数据初始化,即将为职工建立有关档案。
表2的检修者和检修员均来自表1的姓名栏,在输入这两栏时,若输入的姓名在表2中找不到,则应该提示出相应的错误信息。
要求完成表1和表2数据的录入,修改,查询和打印功能。
其中查询也应有打印功能,所有打印表均应为表格形式。
表1、设备维修表
设备名称
规格型号
日期
工作人员
备注
换下日期
修好日期
检修者
检验员
空气压缩机
JZH-0.4/0.1
95.06.10
95.07.05
邓亚东
谢元红
进口
电动机
0.25KW
95.06.19
95.06.29
宁建国
李明军
三相
减压阀
KJ-2
96.05.12
96.05.28
邓正安
赵巧云
减压器
YQY-6
96.05.13
96.06.09
邓亚东
李明军
表2、维修职工档案表
姓名
性别
出生年月
进局时间
职称
文化程度
邓亚东
男
1961.07.10
1982.07.05
工程师
本科
宁建国
男
1960.7.19
1983.07.11
工程师
本科
邓正安
男
1968.10.05
1989.11.05
助工
中专
赵巧云
女
1972.11.09
1994.7.04
助工
专科
李明军
男
1971.11.12
1994.7.04
工人
高中
Ⅲ—10常用设备管理系统的开发
问题描述:
本题目总共有一张表,表中所有数据均是由人工输入。
在本题目中,要把主要用途及特点和备注内容当成备注字段处理,因为该两项内容的字符数有可能大于254个字符。
设计要求:
要求完成整个表的数据输入、查询、打印。
特别是对备注字段的输入、查询、打印以及如何在屏幕上显示备注字段。
表1、常用备注一览表
仪表名
型号
主要用途及特点
重量
kg
厂家
备注
日期
购买日期
报费年限
电子交流稳压器
WY2000
对220V,50HZ市电行稳压
72
兴安通信厂
额定输出电压220V最大输出功率20000VA输入电压190-240V
90.01.10
10
高频阻抗电桥
CD-5
用于测量电缆的阻抗
南通无线电厂
测量频率60KHZ-30MHZ使用电压220V、50HZ
90.01.10
12
数显耐压故障测距仪
QSJ-JI
可测中同轴电缆压、故障点的位,利用模拟故障测量同轴管
6.5
邮电部第四工程公司
故障距离2-6200M故障电压500V-4000V
91.03.25
12
10W功率放大器
利用测试同轴电对称电缆近端、远端串音
二七通信厂
工作频率10KHZ-2MHZ
91.03.25
8
Ⅲ—11干部岗位职务培训管理系统的开发
问题描述:
本题目总共有两张表格。
其中表1是关于职工的基本档案表,表2是关于职工岗位培训表。
两表的关系是表2中的姓名、文化程度、职称、性别均来自于表1中的相关栏。
设计要求:
在表2的数据输入过程中,输入的姓名应该是表1中存在的,若表1中没有该姓名存在,程序应有相应的错误提示信息,并能让使用者重输入或出现供使用者选择的菜单,表1和表2均应有数据输入、查询、打印功能,其中查询也应提供相应打印功能,打印的结果均应为表格形式。
表1、职工档案表
姓名
性别
出生年月
进局时间
职称
政治面貌
籍贯
文化程度
邓亚东
男
1961.07.10
1982.07.05
工程师
党员
湖南长沙
本科
宁建国
男
1960.7.19
1983.07.11
工程师
团员
湖南宁乡
本科
邓正安
男
1968.10.05
1989.11.05
助工
群众
湖南怀化
中专
赵巧云
女
1972.11.09
1994.7.04
助工
群众
山东青岛
专科
李明军
男
1971.11.12
1994.7.04
工人
党员
辽宁锦州
高中
表2、职工岗位职务培训表
姓名
性别
文化程度
职称
培训单位
培训年月
培训期限
成绩
邓亚东
男
本科
工程师
北方交大培训中心
93.08.01
3个月
合格
宁建国
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 指导书