- 16
- 0
- 约1.83万字
- 约 32页
- 2017-05-21 发布于浙江
- 举报
数据结构实验要求以及报告模板
数据结构课程实验指导书
目录
实习步骤 2
实习报告规范 4
实习报告样例 1 最大公因数 5
实习报告样例 2 进制转换 11
DEV C++ 调试方法简介 18
Visual C++6.0 调试方法简介 24
预备实验 1 字符串处理 28
预备实验 2 文件读取 29
预备实验 3 随机数生成 30
预备实验 4 递归函数 31
预备实验 5 字符串数组的查找 32
- 1 -
数据结构课程实验指导书
实习步骤
(一)问题分析和任务定义
在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是
什么。注意:本步骤强调的是做什么?而不是怎么做。
主要完成三个方面的工作:
(1) 分析并确定问题要处理的对象(数据)是什么。例如:输入数据的类型、值的
范围以及输入的形式。
(2 ) 分析并确定要实现的功能是什么。也就是说要对输入的数据进行什么样的处理。
注意:对问题中描述的需要实现的功能,应避开算法(具体的实现方法)和所
涉及的数据类型,仅需对所需完成的任务做出明确的定义。
(3 ) 分析并确定处理后的结果如何显示。
这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式的输入数
据;以及相应的输出结果。
(二)数据类型和系统设计
当需求分析结束,明确问题要求后,开始为编写程序设计合适的数据结构和算法。本步
骤分概要设计和详细设计两步实现。
概要设计指的是,对问题描述中涉及的操作对象定义相应的抽象数据类型,并设计合适
的算法;以及定义程序各个功能模块和模块之间的关系。在这个过程中,要根据问题的功能
需求综合考虑,设计时空复杂度最优的抽象数据结构和算法(注意:实现提示和给出的部分
代码中以及给出了建议)。抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明
尽可能明确具体,算法思想和过程明确有效,程序结构清晰、合理、简单和易于调试。作为
概要设计的结果,应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的
规格说明),主要模块的算法思想,并画出模块之间的调用关系图。
详细设计则定义相应的物理存储结构(抽象数据类型的物理实现)并写出各基本操作的
伪码算法,以及主要模块算法的具体步骤。详细设计的结果是对数据结构和基本操作的规格
说明做出进一步的求精,写出数据存储结构的类型定义,算法书写规范(采用文字性的步骤
描述或者算法流程图的形式都行)。在求精的过程中,应尽量避免陷入语言细节,不必过早
描述辅助数据结构和局部变量。
(三)编码实现和静态检查
在实验过程中,题目中会给出程序的部分源代码,根据实习第二步的设计结果以及源代
码的提示,编码实现程序的其余部分。
编码是把详细设计的结果进一步求精为程序设计语言程序。对于编程很熟练的读者,如
果基于详细设计的伪码算法就能直接在键盘上输入程序的话,则可以不必用笔在纸上写出编
码,而将这一步的工作放在上机准备之后进行,即在上机调试之前直接用键盘输入。
写出编码的程序后,在上机(编译和调试)之前,认真的静态检查是必不可少的。多数
初学者在编好程序后处于以下两种状态之一:一种是对自己的“精心作品”的正确性确信不
疑;另一种是认为纠查错误是编译器的工作。这两种态度是极为有害的。事实上,非训练有
素的程序设计者编写的程序长度超过50 行时,极少不含有除语法错误以外的错误。上机动
态调试决不能代替静态检查,否则调试效率是极低的。
静态检查主要有两种方法,一是用一组测试数据手工执行程序(通常应先分模块检查);
二是通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,在这个过程中再加入一
些注解和断言。如果程序中逻辑概念清楚,后者将比前者有效。
- 2 -
数据结构课程实验指导书
(四)上机准备和上机调试
上机准备包括一下几个方面:
(1
您可能关注的文档
最近下载
- 音乐主题餐厅运营方案.docx VIP
- 中考语文散文专题训练----端木蕻良散文(含解析).doc VIP
- 浅析中小民营企业人才流失问题与对策.docx VIP
- 2025年莱芜职业技术学院单招综合素质考试试题及答案解析 .pdf VIP
- 2025-2026学年人教版(新教材)小学数学二年级下册(全册)教学设计(附教材目录P161).pdf
- 【文科组-中级及以下】《中国近现代史纲要》创新成果报告(省赛一等奖-国赛二等奖).docx VIP
- 普通党员2025年度组织生活会对照检查材料(五个对照).doc VIP
- 呼吸内科危重患者护理常规2025版PPT课件.pptx VIP
- 2023-2024学年北京海淀人大附中考数学考试模拟冲刺卷含解析.doc VIP
- 重庆市区县化园工区安全发展规划.doc VIP
原创力文档

文档评论(0)