C语言ADT的实现实验算法描述,实验一 ADT描述及其实现.doc

实验一 ADT描述及其实现.doc

上机实验要求及规范

数据结构课程具有比较强的理论性,同时也具有较强的可应用性和实践性。在上机实验是一个重要的教学环节。一般情况下学生能够重视实验环节,对于编写程序上机练习具有一定的积极性。但是容易忽略实验的总结,忽略实验报告的撰写。对于一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。拿到一个题目,一般不要急于编程。按照面向过程的程序设计思路(关于面向对象的训练将在其它后继课程中进行),正确的方法是:首先理解问题,明确给定的条件和要求解决的问题,然后按照自顶向下,逐步求精,分而治之的策略,逐一地解决子问题。具体实习步骤如下:

1.问题分析与系统结构设计

充分地分析和理解问题本身,弄清要求做什么(而不是怎么做),限制条件是什么。按照以数据结构为中心的原则划分模块,搞清数据的逻辑结构(是线性表还是树、图?),确定数据的存储结构(是顺序结构还是链表结构?)。然后设计有关操作的函数。在每个函数模块中,要综合考虑系统功能,使系统结构清晰、合理、简单和易于调试。最后写出每个模块的算法头和规格说明,列出模块之间的调用关系(可以用图表示),便完成了系统结构设计。

2.详细设计和编码

详细设计是对函数(模块)的进一步求精,用伪高级语言(如类C语言)或自然语言写出算法框架,这时不必确定很多结构和变量。

编码,即程序设计,是对详细设计结果的进一步求精,即用某种高级语言(如C/C++语言)表达出来。尽量多设一些注释语句,清晰易懂。尽量临时增加一些输出语句,便于差错矫正,在程序成功后再删去它们。

3.上机准备

熟悉高级语言用法,如C语言。熟悉机器(即操作系统),基本的常用命令。静态检查主要有两条路径,一是用一组测试数据手工执行程序(或分模块进行);二是通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,在这个过程中再加入一些注释和断言。如果程序中逻辑概念清楚,后者将比前者有效。

4.上机调试程序

调试最好分块进行,自底向上,即先调试底层函数,必要时可以另写一个调用驱动程序,表面上的麻烦工作可以大大降低调试时所面临的复杂性,提高工作效率。

5.整理实习报告

在上机实开始之前要充分准备实验数据,在上机实践过程中要及时记录实验数据,在上机实践完成之后必须及时总结分析。写出实验报告。

一、实验报告的基本要求:

一般性、较小规模的上机实验题,必须遵循下列要求。养成良好的习惯。

姓名 班级 学号 日期

题目:内容叙述

程序清单(带有必要的注释)

调试报告:

实验者必须重视这一环节,否则等同于没有完成实验任务。这里可以体现个人特色、或创造性思维。具体内容包括:测试数据与运行记录;调试中遇到的主要问题,自己是如何解决的;经验和体会等。

二、实验习报告的提高要求:

阶段性、较大规模的上机实验题,应该遵循下列要求。养成科学的习惯。

需求和规格说明

描述问题,简述题目要解决的问题是什么。规定软件做什么。原题条件不足时补全。

设计

设计思想:存储结构(题目中限定的要描述);主要算法基本思想。

设计表示:每个函数的头和规格说明;列出每个函数所调用和被调用的函数,也可以通过调用关系图表达。

实现注释:各项功能的实现程度、在完成基本要求的基础上还有什么功能。

用户手册:即使用说明。

调试报告:调试过程中遇到的主要问题是如何解决的;设计的回顾、讨论和分析;时间复杂度、空间复杂度分析;改进设想;经验和体会等。

实验一 ADT描述及其实现

一、实验目的

1. 了解抽象数据类型(ADT)的基本概念,及描述方法。

2. 通过对抽象数据类型ADT的实现,熟悉C++语言语法及程序设计。为以后章节的学习打下基础。

二、实例

矩形抽象数据类型ADT的描述及实现。

[矩形ADT的描述]

ADT RECtangle{

数据对象:D={ length,width length,width∈FloatSet }

数据关系:R={ < length,width > }

基本操作:

初始化一个矩形

Void InitRectangle(struct Rectangle &r,float len,float wid);

计算矩形的周长

Float Circumference(struct Rectangle &r) ;

计算矩形的面积

Float Area(struct Rectangle &r) ;

} ADT RECtangle;

[矩形ADT的实现]

1.用c++的一般实现

Struct RECtangle{

Float length,width;

};

Void InitRectangle(struct Rectangle

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值