- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计大作业
2013年11月18日
一、编程进行“重排九宫格”游戏
如上图所示,在一个9×9的区域内放置8个滑块。游戏要求从任意初始状态开始,通过依次移动滑块,最终到达目标状态,并且尽量使移动步数最少。
针对上述游戏,本次大作业要求:
用Fortran语言编写移动滑块的程序,具有以下功能:
随机产生初始状态,或用给定的随机数种子重复产生初始状态。
能够判断初始状态是否一定能够移动到目标状态?
若有可行解,给出具体的移动方案,并且统计出移动步数。
用Matlab程序编写图形界面,至少具有以下功能:
能够显示初始状态,并报告该是否有到达目标状态的可行解。
能提供一个选项,决定是重新随机生成初始状态还是重复上一次的初始状态。
能够动态地显示滑块每次移动的情况。
能够显示移动的步数和总共花费的时间。
能够将具体的移动情况保存在磁盘文件中。
自行查找资料,了解这款经典游戏的来龙去脉和发展现状,最终确定自己的算法。
最后提交书面报告、程序源代码、可执行文件(要求将Matlab程序编译成exe执行文件)和测试算例。
二、评分标准
大作业成绩占期末总成绩的20%。具体评分标准(按百分制计算)为:
运行结果正确(25分)
书写清晰、规范、注释丰富(10分)
运行速度快(15分)
只测量Fortran程序的运行速度。在同一台电脑上进行测试,取三次的平均运行时间。最快的程序得15分,最慢的程序得1分,其余按线性插值计分。
用于测试的电脑的配置如下:
CPU:Intel Core2 E8500,双核、主频3.16GHz、一级缓存128KB、二级缓存6MB
内存:4G,可用内存3.2G
硬盘:缓存16M,转速7200转
操作系统:WIN7专业版32位
程序精练(15分)
比较整个程序可执行文件(*.exe文件,包括Fortran程序和Matlab程序)的大小。最小的程序得15分,最大的程序得1分,其余按线性插值计分。
新颖性(15分)
有自己独到的算法(10分)。的确是全新的算法才得满分。在已有算法上进行改进酌情给分。用成熟算法得零分。
界面美观、操作方便(5分)。
书面报告(20分),报告模板见附录
程序计划阶段的初步分析正确(6分);设计思路清晰(6分);测试报告完整(6分);心得体会(2分)。
附录 大作业书面报告模板
完成人:×××(航××,学号)
2014年1月×日
一、程序计划阶段的初步分析
能正确地给出程序定义、可行性和需求分析。
二、程序设计思路
包括概要设计、详细设计。如果采用已有算法,需要引用相关文献或网站。
三、程序测试
包括测试方案设计和具体的测试结果。
四、心得体会
简单谈谈对这次大作业的体会。对这种训练方式提出值得今后改进的地方。
2
(b) 目标状态
(a) 初始状态
文档评论(0)