(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 皇后相互捕捉位置示意图

算法思想

C语言程序项目计划书,(C语言程序设计课程设计计划书.doc相关推荐

  1. c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc

    计算机程序设计课程设计报告.doc PAGE 1 计算机程序设计(C语言) 课程设计报告 题目:学生信息管理系统 学院: 计算机科学与工程学院 专业: 电子信息工程 班级:110406 姓名: 黄伟强 ...

  2. c语言程序设计迷宫,C语言程序设计课程设计-迷宫.doc

    C语言程序设计课程设计-迷宫 大 学 C语言程序设计 课程设计(论文) 题目: 迷宫问题 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 讲 师 起止时间: 2009.12.14 ...

  3. c语言 vc 记事本设计,c语言程序设计课程设计--记事本.doc

    c语言程序设计课程设计--记事本 PAGE C#语言程序设计课程设计 题 目 记事本 指导老师 专业班级 学 号 姓 名 2012年 摘要:记事本是专为个体用户量身定制的记录数据的平台.记事本,用来记 ...

  4. python枪战项目计划书_燕山大学操作系统课程设计计划书

    燕山大学操作系统课程设计计划书 燕山大学课程设计计划书 课程设计名称:操作系统 题目:多道程序缓冲区协同操作 年级:2016级 开发小组名称:WWW. 小组负责人: 课题组成员: 姓名 学号 班级 分 ...

  5. oracle课程设计摘要,Oracle程序设计课程设计概要(doc 35页)

    Oracle程序设计课程设计概要目录: <Oracle数据库应用与开发实例教程>是学习数据库技术的高级阶段课程,读者应该在选择学习<数据库应用基础实例教程>.<Acces ...

  6. 小组c语言程序项目ppt,C语言程序设计项目八.ppt

    <C语言程序设计项目八.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计项目八.ppt(18页珍藏版)>请在人人文库网上搜索. 1.项目工程8学生成绩文件管理,项目工程 ...

  7. c语言航班管理系统报告,c航班管理系统课程设计报告.doc

    c航班管理系统课程设计报告 北华航天工业学院课程设计报告 PAGE 课程设计报告 报告(论文)题目: 1航班信息查询系统 2迷宫问题 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技 ...

  8. 宿舍管理查询软件 C语言 中文摘要,宿舍管理查询软件 课程设计报告.doc

    宿舍管理查询软件 课程设计报告 课 程 设 计 课程设计名称: 宿舍管理查询软件 专 业 班 级 : 计科0604 学 生 姓 名 : 胡方俊 学 号 :20064140414 指 导 教 师 : 白 ...

  9. C语言程序项目计划书,C语言程序的设计课程的设计的计划书.doc

    C语言程序的设计课程的设计的计划书 C语言程序设计课程设计计划书一.目的1.熟悉并掌握C语言程序设计的基本方法与技能.2.掌握利用递归进行程序设计的方法.3.掌握对随机事件进行全程模拟的基本方法.4. ...

最新文章

  1. Asp.Net 构架(HttpModule 介绍)
  2. 边缘计算不再“边缘”
  3. Castle IOC容器实践之EnterpriseLibrary Configuration Facility
  4. OVS数据库操作(四十七)
  5. jquery_pagination分页插件的使用
  6. matlab simulink笔记04——switch模块
  7. 多种方法解决Exchange 2010 EMC批量启用邮箱之后出..
  8. 判断Linux系统是否被黑的方法
  9. DJango周总结二:模型层,单表,多表操作,连表操作,数据库操作,事务
  10. mysql性能优化学习笔记
  11. 电路原理解析_接近开关检测旋转设备的工作原理
  12. npm查找依赖包版本
  13. 2022.7.20 JETSON NANO 2GB 跑Swin-Transformer-Object-Detection。(配置:UBUNTU18/PYTHON3.6/PYTORCH1.6.0...)
  14. 编程c语言黑与白,C语言黑与白问题代码及解析
  15. promise .then和async await的使用
  16. java上传加密_Java实现文件的加密与解密
  17. 2020下半年(小学)教师资格证笔试教育教学知识与能力真题与答案
  18. 深入浅出计算机组成原理04 | 穿越功耗墙,我们该从哪些方面提升“性能”
  19. select 字符串
  20. 【华为OD机试 2023】二元组个数(C++ 100%)

热门文章

  1. sudo uograde 之后 需要重装显卡驱动
  2. linux c++ 实现http请求
  3. static变量和static函数的用法摘抄
  4. 嵌入式操作系统内核原理和开发(线程状态)
  5. 一步一步写算法(之字符串查找 下篇)
  6. 计算机单词大全及缩写,计算机英文单词和缩写
  7. ajax 购物车 c#,C#AJAX实例
  8. java 反射 数组,Java 数组
  9. SQLi LABS Less-18
  10. linux 在命令行中复制的快捷键_在 Linux 中加速工作的键盘快捷键 | Linux 中国