c语言程序设计计划书示例,《C语言程序设计课程设计计划书.doc

《C语言程序设计课程设计计划书

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

一.目的

1.熟悉并掌握C语言程序设计的基本方法与技能。

2.掌握利用递归进行程序设计的方法。

3.掌握对随机事件进行全程模拟的基本方法。

4.了解和熟悉算法设计方法

二.任务

1.背包问题

2.皇后问题

3.随机事件模拟问题

详情见附录

三.分组

一人一组。

四.考核办法及成绩评定

1、考核办法:

演示所设计的程序;回答教师所提出的问题;查看课程设计报告;考勤;平时上机情况。

2、考核成绩:分为优、良、中、及格和不及格。

课程设计报告写作格式与要求

封面 (包括:课程设计的名称、班级,学号,课程设计人,指导教师,设计日期)

内容提要(简述报告的内容)

目录

正文

(一)

任务一的任务名称

任务一实验目的

3、任务一中用到的关键数据的数据类型、名称、用途;

4、任务一的源程序代码(要有注释);

5、任务一的运行结果。

(二)

1、任务二的任务名称

任务二实验目的

3、任务二中用到的关键数据的数据类型、名称、用途;

4、任务二的源程序代码(要有注释);

5、任务二的运行结果。

(三)

1、任务三的任务名称

2、任务三实验目的

3、任务三中用到的关键数据的数据类型、名称、用途;

4、任务三的源程序代码(要有注释);

5、任务三的运行结果。

课程设计体会

参考文献

注意:报告中除封面外每页页脚(页码[居中]),报告必须用A4纸打印

附录:

课程设计任务书

任务一(背包问题):

设有不同价值,不同重量的物品n件,求从这n件物品中选取一部分物品的方案,使选中物品的总重量不超过指定的限制重量,且选中物品的价值之和为最大。

算法思想:

设n件物品的重量分别为w0,w1,……,wn-1,物品的价值分别为v0,v1,……,vn-1。采用递归寻找物品的选择方案。设前面已有了多种选择的方案,并保留了其中总价值最大的方案于数组option[],该方案的总价值存于变量maxv。当前正在考察新方案,其物品选择情况保存于数组成cop[]。假定当前方案已考虑了前i-1件物品,现在要考虑第i件;当前方案已包含的物品的重量之和为tw;至此,若其余物品都选择是可能的话,本方案达到的总价值的期望值设为tv。算法引入tv是当一旦前方案的总价值的期望值也小于前面方案的总价值maxv时,继续考察当前方案变成无意义的工作,应当终止当前方案,立即去考察下一个方案。因为当方案的总价值不比maxv大时,该方案不会再被考察。这同时保证函数后找到的方案比前面的方案更好。

对于第i件物品的选择有两种可能:

物品i被选择,这种可能性仅当包含它不会超过方案总重量的限制时才是可行的。选中后,继续递归去考虑其余物品的选择。

物品i不被选择,这种可能性仅当不包含物品也有可能会找到价值更大的方案的情况。

算法:

try(物品i,当前选择已达到的重量和tw,本方案可能达到的总价值为tv)

{

/*考虑物品i包含在当前方案中的可能性*/

if (包含物品i是可接受的)

{

将物品i包含在当前方案中;

if (i

try(i+1,tw+物品i的重量,tv);

else

/*又一个完整方案,因它比前面的方案好,以它作为最佳方案*/

以当前方案作为临时最佳方案保存;

恢复物品i不包含状态;

}

/*考虑物品i不包含在当前方案中的可能性*/

if (不包含物品i仅是可考虑的)

if (i

try(i+1,tw,tv-物品i的价值);

else

/*又一个完整方案,因它比前面的方案好,以它作为最佳方案*/

以当前方案作为临时最佳方案保存;}

任务二(皇后问题):

求出在一个n*n的棋盘上,放置n个不能互相捕捉的国际象棋“皇后”的所有布局。

这是来源于国际象棋的一个问题。皇后可以沿着纵横和两条斜线四个方向相互捕捉。如图1所示,一个皇后放在棋盘第四行第三列位置上,则棋盘上凡打星号“*”的位置上的皇后就能与第四行第三列位置上的皇后相互捕捉。从图1得到以下启示,一个合适的解应使得每行、每列上确定有一个皇后,且在一条斜线上也最多只有一个皇后。

* * * * * * * * * * Q * * * * * * * * * * * * * * *

图1 皇后相互捕捉位置示意图

算法思想

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值