数据结构课程设计之_八皇后问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称数据结构课程设计
课题名称八皇后问题演示
专业通信工程
班级通信工程1081
学号************
姓名刘献文
指导教师田娟秀郭芳
2012年7 月 6 日
湖南工程学院
课程设计任务书
课程名称数据结构
课题八皇后问题演示
专业班级通信工程1081
学生姓名刘献文
学号************
指导老师田娟秀郭芳
审批
任务书下达日期2012 年7 月 1 日
任务完成日期2012 年7 月 6 日
1设计内容与设计要求
1.1设计内容
(4)课题四:八皇后问题演示
八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。
设计思路:解决8皇后时,在安放第i行皇后时,需要在列的方向从1到n试
探(j =1,…, n):首先在第j列安放一个皇后,如果在列、主对角线、次对角线方
向有其它皇后,则出现攻击,撤消在第j列安放的皇后。如果没有出现攻击,在第
j列安放的皇后不动,递归安放第i+1行皇后。
对于八皇后问题的实现,如果结合动态的图形演示,则可以使算法的描述更形象、更生动。要求用Turbo C或VC6.0 MFC实现的八皇后问题的图形程序,能够演示全部的92组解。
1.2 选题方案:
所选题目根据学号确定,学号模6加1,即(学号%6+1)。如你的学号为9,则
所选题目号为:9%6+1=(题目4)。注意,所有的课题都要求用图形方式演示步骤
和结果。同学们可以自己针对数据结构课程中所讲算法来设计一个演示过程的算法。
1.3设计要求:
1.3.1 课程设计报告规范
(1)需求分析
a.程序的功能。
b.输入输出的要求。
(2)概要设计
a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块
的功能。
b.课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的
结构,它们之间有什么关系等。
(3)详细设计
a.采用C语言定义相关的数据类型。
b.写出各模块的类C码算法。
c.画出各函数的调用关系图、主要函数的流程图。
(4)调试分析以及设计体会
a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和
含有错误的输入及输出结果。
b.程序调试中遇到的问题以及解决问题的方法。
c.课程设计过程经验教训、心得体会。
(5)使用说明
用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。
(6)书写格式
a.设计报告要求用A4纸打印成册:
b.一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
(7)附录
源程序清单(带注释)
1.3.2 考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:
(1)平时出勤(占10%)
(2)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)(3)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)
(4)设计报告(占30%)
注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
(5)独立完成情况(占10%)。
1.3.3 课程验收要求
(1)运行所设计的系统。
(2)回答有关问题。
(3)提交课程设计报告。
(4)提交软盘(源程序、设计报告文档)。
(5)依内容的创新程度,完善程序情况及对程序讲解情况打分。
2 进度安排
第 20 周:星期一 8:00——12:00 上课
星期二 8:00——12:00 上机
星期三 14:30——18:30 上机
星期四 8:00——12:00 上机
附:
课程设计报告装订顺序:封面、任务书、目录、正文、评分表、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
目录
一、需求分析 ......................................................... (7)
1.1 功能要求 (7)
1.2涉及到的知识点 (7)
二、概要设计 (7)
2.1 数据结构 (7)
2.2 抽象数据类型的定义 (8)
2.3 算法流程 (8)
三、详细设计 (9)
四、调试分析及测试 (13)
4.1遇到的问题及解决方法 (13)
4.2程序使用说明 (13)
4.3 测试结果 (13)
五、总结与体会 (16)
六、评分表 (17)
七、附录(源程序) (18)