收藏 分享(赏)

C语言程序设计课程设计计划书.doc

上传人:11xg27ws 文档编号:7543955 上传时间:2019-05-21 格式:DOC 页数:5 大小:44KB
下载 相关 举报
C语言程序设计课程设计计划书.doc_第1页
第1页 / 共5页
C语言程序设计课程设计计划书.doc_第2页
第2页 / 共5页
C语言程序设计课程设计计划书.doc_第3页
第3页 / 共5页
C语言程序设计课程设计计划书.doc_第4页
第4页 / 共5页
C语言程序设计课程设计计划书.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、C 语言程序设计课程设计计划书一目的1熟悉并掌握 C 语言程序设计的基本方法与技能。2掌握利用递归进行程序设计的方法。3掌握对随机事件进行全程模拟的基本方法。4了解和熟悉算法设计方法二任务1背包问题2皇后问题3随机事件模拟问题详情见附录三分组一人一组。四考核办法及成绩评定1、考核办法:演示所设计的程序;回答教师所提出的问题;查看课程设计报告;考勤;平时上机情况。2、考核成绩:分为优、良、中、及格和不及格。课程设计报告写作格式与要求一、 封面 (包括:课程设计的名称、班级,学号,课程设计人,指导教师,设计日期)二、 内容提要(简述报告的内容)三、 目录四、 正文(一)1、 任务一的任务名称2、

2、任务一实验目的3、任务一中用到的关键数据的数据类型、名称、用途;4、任务一的源程序代码(要有注释) ; 5、任务一的运行结果。(二)1、任务二的任务名称2、 任务二实验目的3、任务二中用到的关键数据的数据类型、名称、用途;4、任务二的源程序代码(要有注释) ; 5、任务二的运行结果。(三)1、任务三的任务名称2、任务三实验目的3、任务三中用到的关键数据的数据类型、名称、用途;4、任务三的源程序代码(要有注释) ; 5、任务三的运行结果。五、 课程设计体会 六、 参考文献注意:报告中除封面外每页页脚(页码居中 ) ,报告必须用 A4 纸打印附录:课程设计任务书任务一(背包问题):设有不同价值,不

3、同重量的物品 n 件,求从这 n 件物品中选取一部分物品的方案,使选中物品的总重量不超过指定的限制重量,且选中物品的价值之和为最大。算法思想:设 n 件物品的重量分别为 w0,w1,wn-1,物品的价值分别为 v0,v1,vn-1。采用递归寻找物品的选择方案。设前面已有了多种选择的方案,并保留了其中总价值最大的方案于数组 option,该方案的总价值存于变量 maxv。当前正在考察新方案,其物品选择情况保存于数组成 cop。假定当前方案已考虑了前 i-1 件物品,现在要考虑第 i 件;当前方案已包含的物品的重量之和为 tw;至此,若其余物品都选择是可能的话,本方案达到的总价值的期望值设为 tv

4、。算法引入 tv 是当一旦前方案的总价值的期望值也小于前面方案的总价值maxv 时,继续考察当前方案变成无意义的工作,应当终止当前方案,立即去考察下一个方案。因为当方案的总价值不比 maxv 大时,该方案不会再被考察。这同时保证函数后找到的方案比前面的方案更好。对于第 i 件物品的选择有两种可能:(1) 物品 i 被选择,这种可能性仅当包含它不会超过方案总重量的限制时才是可行的。选中后,继续递归去考虑其余物品的选择。(2) 物品 i 不被选择,这种可能性仅当不包含物品也有可能会找到价值更大的方案的情况。算法:try(物品 i,当前选择已达到的重量和 tw,本方案可能达到的总价值为 tv)/*考

5、虑物品 i 包含在当前方案中的可能性*/if (包含物品 i 是可接受的)将物品 i 包含在当前方案中;if (in-1)try(i+1,tw+ 物品 i 的重量,tv);else/*又一个完整方案,因它比前面的方案好,以它作为最佳方案*/以当前方案作为临时最佳方案保存;恢复物品 i 不包含状态;/*考虑物品 i 不包含在当前方案中的可能性*/if (不包含物品 i 仅是可考虑的)if (in-1)try(i+1,tw,tv-物品 i 的价值);else/*又一个完整方案,因它比前面的方案好,以它作为最佳方案*/以当前方案作为临时最佳方案保存;任务二(皇后问题):求出在一个 n*n 的棋盘上,

6、放置 n 个不能互相捕捉的国际象棋“皇后”的所有布局。这是来源于国际象棋的一个问题。皇后可以沿着纵横和两条斜线四个方向相互捕捉。如图 1 所示,一个皇后放在棋盘第四行第三列位置上,则棋盘上凡打星号“*”的位置上的皇后就能与第四行第三列位置上的皇后相互捕捉。从图 1 得到以下启示,一个合适的解应使得每行、每列上确定有一个皇后,且在一条斜线上也最多只有一个皇后。* * * * * * * Q * * * * * * * * * * *图 1 皇后相互捕捉位置示意图算法思想:求解过程从空配置开始,在第 1 列至第 m 列为合理配置的基础上,再配置第m+1 列。直至第 n 列配置也是合理时,就找到了一

7、个解。接着改变第 n 列配置,希望获得下一个解。另外,在任一列上,可能性有 n 种配置。开始时,配置在第一行,以后改变时。顺次选择第二、第三直到第 n 行。当直至第 n 行也找不到一个合理的配置时,就要回溯,去改变前一列的配置。求解皇后问题的算法如下。算法:输入棋盘大小值 n; /*一个 n*n 的棋盘*/m=0; /*从置开始*/空配good=1; /*空配置皇后不相互捕捉 */doif (good)if(=n)输出解;改变之,形成下一个侯选解;else扩展当前侯选解至下一列;else改变之,形成下一侯选解;good=检查当前侯选解的合理性;while( !=0)任务三(随机模拟问题):某公

8、司有一个顾客接待站,在单位时间内随机的有 n 位顾客到接待站来询问。设每位顾客的接待时间是某个范围内的随机值。假设接待站只有一位接待员,要求程序模拟统计在设定时间内,接待员的总空闲时间和顾客的平均等待时间。假定模拟数据已按顾客到达接待站的时间顺序依次存放在某个数据文件中,对应每位顾客有两个数据,到达时间和需要接待的时间。提示:(1)单位时间可设为一个工作日 8 小时,可折合成 28800 秒,则接待员的工作时间为第 0秒至第 28800 秒。(2)顾客的到达时间也可用秒作为单位。由于顾客必须在单位时间内到达故取值范围应在0-28800 之间。(3)可用随机函数 rand()或 random()取得顾客的到达时间和需接待时间。(4)需事先建立顾客数据文件 customs_data(二进制文件 ),并将顾客数据按到达接待站的时间顺序排序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报