1、 届课程设计 汉诺塔汉诺塔 课程设计说明书课程设计说明书 学生姓名 学 号 所属学院 信息工程学院 专 业 计算机科学与技术 班 级 指导教师 教师职称 讲师 目录 前言 1 1. 数据结构简介 . 1 2. 应用技术领域及范围 . 1 3.设计的原理、方法和主要内容 1 正文 2 1. 设计目的 . 2 2. 设计要求 . 2 3.需求分析 2 3.1 汉诺塔的由来:. 2 3.2 汉诺塔与宇宙寿命: . 3 4. 问题分析: . 4 5. 概要设计 . 5 5.1 设计思想 . 5 5.2 实现方法. 5 5.3 主要模块. 5 5.4 模块关系. 5 6. 详细设计 . 5 6.1 功能
2、设计. 5 6.2 算法分析. 6 6.3 编写程序如下:. 6 6.4 程序执行过程分析:. 7 7. 调试分析: . 7 8.小结 . 10 致谢. 11 参考文献. 11 第 1 页 共 13 页 前言前言 1. 数据结构简介 数据结构是计算机程序设计的重要理论设计基础, 它不仅是计算机学科的核心课程, 而 且成为其他理工专业的热门选修课。 数据结构是指相互之间存在一种或多种特定关系的数据 元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结 构往往同高效的检索算法和索引技术有关。 在计算机科学中, 数据结构是一门研究非数值计 算的程序设计问题中计算机的操作对
3、象(数据元素)以及它们之间的关系和运算等的学科, 而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。 “数据结构”在计算机科 学中是一门综合性的专业基础课。 数据结构是介于数学、 计算机硬件和计算机软件三者之间 的一门核心课程。 数据结构这一门课的内容不仅是一般程序设计 (特别是非数值性程序设计) 的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。 2. 应用技术领域及范围 汉诺塔的应用技术是来自于我们所学的数据知识和数学方面的学科,其中用到了数学 递归,函数和数据的函数以及 C 语言等方面的知识。 汉诺塔的领域是在我的日常生活中的每一个细节中,反复的运用
4、是我的数学知识在生 活的体现,如做归一问题,循环问题,倒排问题,逻辑思维的相关问题等都要运用到我闷得 汉诺塔原理。 汉诺塔的范围来自每一个知识的指导,和生活中的运用。在我们的世界不是一成不变 的,而是时时刻刻都在发生着变化,但一切的变化都没有脱离我们这个世界的规则。 3.设计的原理、方法和主要内容 汉诺塔的设计原理是我们所学的数据结构与递归原理的应用, 并且是在数据老师的指 导下编写的源程序。 得到了自己所设计的结果。 汉诺塔的方法是把 n 个盘子从柱子 1 移到柱 子 3(利用柱子 2) ,第一步,把 n-1 个盘子从柱子 1 移到柱子 2(利用柱子 3) ,第二步,把 柱子 1 剩下的最大
5、的盘子移到柱子 3,第三步,把 n-1 个盘子从柱子 2 移到柱子 3(利用柱 子 1) 。每一个的移动都是所有的东西动,一个动就会把所有的逻辑打乱并且得不到所要测 得结果。 偏离我这此所设计的初终。 汉诺塔的主要内容是经过不断地移动来挪去所有的盘子 到指定的位置,递归原理的应用来解释了我所用的数据的知识。一个一个的去组织去协调, 所有的设计不断地在循环到达一定的次数的到我这次所设计结果。 第 2 页 共 13 页 正文正文 1. 设计目的 课程设计是数据结构课程教学必不可缺的一个重要环节,它可加深学生对该课程所 学内容的进一步的理解与巩固, 是将计算机课程与实际问题相联接的关键步骤。 通过课
6、程设 计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须 给予足够的重视。 2. 设计要求 1明确课设任务,复习与查阅有关资料。 2按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 3一至四名同学分为一组,完成一个应用问题的程序的编写工作。 4应用程序应具有一定的可用性: (1)凡等候用户输入时,给出足够的提示信息,如“Please Select(13) : ”提示用 户选择。 (2)格式明显易懂,配上适当的颜色、声音等辅助效果,能方便地改正输入时的错误, 使用户感到方便、好用。 (3)有联机求助功能。用户能直接从系统得到必要的提示,不查手册也能解决一些疑 难。 5程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行: (1)对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输 入值给出出错信息,指出错误类型,等待重新输入。 (2)当可能的回答有多种时,应