ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:140.99KB ,
资源ID:15933415      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15933415.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法专题训练课程设计报告Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

算法专题训练课程设计报告Word文件下载.docx

1、计算机科学与技术组别组长组员指导教师姓名孙士保、王志强、陈永刚课程设计目的进一步巩固C程序设计和算法设计与分析的基础知识,提升结构化程序、模块化程序设计的方法和能力,深入理解数据结构的基本理论,掌握数据存储结构的设计方法,掌握基于数据结构的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在实践中培养独立分析问题和解决问题的作风和能力。设计环境1. PC兼容机 2Windows 2000/XP操作系统3TC集成开发环境或其他C语言开发环境课程设计要求和任务要求:1熟练掌握回溯法,能够利用回溯法解决实际问题;2使用文件进行存储和管理。程序启动时可

2、从文件中读取信息,或从键盘输入信息;运行过程中也可对文件进行存取;退出前可选择将部分信息保存到文件中;3不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。4对系统进行功能模块分析、画出总流程图和各模块流程图;5用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单;6通过命令行相应选项能直接进入某个相应菜单选项的功能模块;7所有程序需调试通过。任务:完成罗密欧与朱丽叶的迷宫问题.设计内容包括:1确定能对给定的任何位置的罗密欧都能够找到一条通向朱丽叶的路线;2程序能够演示一条罗密欧找到朱丽叶的路线过程等。

3、课程设计工作进度计划序 号起止日期工 作 内 容12013.6.24下发任务书,分组,选定课题,查阅相关资料22013.6.25总体设计,划分模块,编制源程序32013.6.26上机调试,修改、完善系统42013.6.27程序检查,撰写说明书52013.6.28撰写说明书,上交报告62013.6.29-2013.6.30上交报告课程设计报告课程名称: 软件专题训练 设计题目: 罗密欧与朱丽叶迷宫问题系统设计 院 系: 电子信息工程学院计算机系 专 业: 计算机科学与技术 班 级: 学生姓名: 学 号: 起止日期: 2013年6月24日 2013年6月30日 指导教师: 孙士保、王志强、陈永刚

4、目录第一章 需求分析 11.1 课程设计题目 11.2 课程设计任务及要求 11.3 软硬件运行环境及开发工具 2第二章 概要设计 22.1罗密欧与朱丽叶迷宫问题流程图 22.2 函数设计模块划分 3第三章 详细设计 33.1 判断是否越界及更新保存最优路径流程图 33.2越界判断及最优路径的设计与实现 4第四章 系统调试与操作说明 54.1 系统调试及结果 54.2 错误及解决方法 5第五章 课程设计总结与体会 6附录 源程序 7第一章 需求分析1.1 课程设计题目 罗密欧与朱丽叶迷宫求解问题。任务描述: 罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个mn的迷宫是中。每一个方格表示迷宫中的一个

5、房间。这mn 个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位置均可沿8 个方向进入未封闭的房间。罗密欧位于迷宫的。(p,q)方格中,他必须找出一条通向朱丽叶所在的(r,s)方格的路。在抵达朱丽叶之前,他必须走遍所有未封闭的房间各一次,而且要使到达朱丽叶的转弯次数为最少。每改变一次前进方向算作转弯一次。请设计一个算法帮助罗密欧找出这样一条路。1.2 课程设计任务及要求2程序能够演示一条罗密欧找到朱丽叶的路线过程等1.3 软硬件运行环境及开发工具一、软硬件运行环境二、开发工具装有windows操作系统的计算机Visual C+6.0第二章 概要设计2.1罗密欧与朱丽叶迷宫问题流程图

6、return2.2 函数设计模块划分(1)函数1:bool stepok(int x,int y) 判断是(x,y)否越界。(2)函数2:void save() 保存一条转弯最少的路径(3)函数3:void search(int dep,int x,int y,int di) 在当前位置(x,y)按照八个方向搜索,dep用于标记已经走过的房间数,di表示八个方向。(4)函数4:void main() 主函数初始化迷宫数组,调用search函数输出一条迷宫路线。函数之间的关系:主函数调用search函数,search函数调用stepok和save函数完成搜索。如下图: main函数 save函数

7、 调用search函数 递归调用search函数 调用stepok函数 输出结果第三章 详细设计3.1 判断是否越界及更新保存最优路径流程图stepok函数:save函数: 3.2越界判断及最优路径的设计与实现(1)、越界判断当输入一个坐标时,首先需要判断它是否在迷宫的边界之内,只有在边界之内才能执行相应的操作,从而把查找并保存查找到的最优路径。bool stepok(int x,int y)/用于判断是否越界if(x0&xy=m&boardxy=0) return true;else return false;(2)、保存最优路径 当查找到一条路径后,判断它是否是当前的最优路径,如果是的话,

8、那么就需要将此路径保存到最优路径void save()/保存路径步骤int i,j;for(i=1;i=n;i+) for(j=1;j=m;j+) bestwij=boardij;第四章 系统调试与操作说明4.1 系统调试及结果输入迷宫中的各个参数:(1)、迷宫的行列数及封闭房间个数m,n,k分别是3,4,2。 (2)、2个封闭房间的坐(p,q)分别是(1,2),(3,4)。 (3)、罗密欧与朱丽叶的坐标(x,y),(x1,y1)分别是(1,1),(2,2)。 输出: 输出一条迷宫路线: 1 -1 7 6 2 10 5 8 3 4 9 -1 输入输出及运行结果:4.2 错误及解决方法问题1(1

9、)问题描述:程序中关于迷宫的参数较多使得问题复杂难懂,编写时也容易使用混淆。(2)解决办法:通过多次手动走迷宫深入的理解每一个参数,这样使用时才得心应手。问题2迷宫数组的大小不容易掌握。采用malloc动态分配迷宫的存储空间。问题3 (1)问题描述:数组访问越界,造成输出结果错误检查数组的定义和访问。第五章 课程设计总结与体会在这个课程设计中,我主要负责越界判断及更新保存最优路径的部分,通过将近一个星期的学习和探索,我学到了好多知识,不仅学会了熟练使用C语言编程的能力,而且还学会了怎样将所学知识应用到实际操作中。但是在整个课程设计阶段,自己还有很多不足的地方,暴露了我在很多地方的小错误,一旦遇

10、到很难解决的问题,陷入困境后,很难自己独立的解决问题,常常需要老师的引导和同学的帮助,在今后的学习工作过程中还要加强独立解决问题的能力。本次设计让我更深一步的了解到了上机实验的重要性, 本次程序不是很复杂,只要对算法的有深入的认识与掌握就可以得到输出的结果。但程序中涉及到了多个参数,在上机实验过程中通过一次次实验对算法一步步执行中,彻底弄明白其中的各个参数及函数的作用及用法,特别是对回溯法有了更深的理解。在程序的编写输入输出的过程中虽然其中遇到了很多错误与困难,但正是在解决这些错误与困难的过程中才会使我们的能力有所提高,知识有所更深入的理解,并进一步巩固了C程序设计和算法设计与分析的基础知识,

11、增强对算法的理解能力,提高软件设计能力,熟练掌握了回溯法,能够利用回溯法解决实际问题。我明白了只有通过实际操作,才能发现自己的不足,与同学互相讨论也有助于提高自己的实践操作水品及解决问题的能力。附录 源程序#include#include process.husing namespace std;int dir92=0,0,0,1,0,-1,1,0,-1,0,1,1,1,-1,-1,1,-1,-1;int count;/不同的最少转弯道路数int dirs,best;/最少转弯次数int board1010,bestw1010;/记录第几步到达方格int m,n,k;/列数,行数,封闭房间数int sx,sy,ex,ey;/(sx,sy)罗密欧的位置,(ex,ey)朱丽叶的位置void search(int dep,int x,int y,int di)/查找过程i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1