码迷,mamicode.com
首页 > 其他好文 > 详细

week01-绪论

时间:2018-03-08 02:31:48      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:参数   相减   hang   log   方法   更改   ima   是什么   编程   

一.作业题目

仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:

1.构造有理数T,元素e1,e2分别被赋以分子、分母值

2.销毁有理数T

3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。

4.将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母

5.有理数T1,T2相加,结果存入有理数T3

6.有理数T1,T2相减,结果存入有理数T3

7.有理数T1,T2相乘,结果存入有理数T3

8.有理数T1,T2相除,结果存入有理数T3
实验要求:

9.抽象数据类型名为Rational。

10.有理数分母不能为负数或者0,类似输入请提示重输入。

11.数据对象和数据运算的表示与数据操作的实现分离。表示用头文件完成,实现用CPP文件完成。Main.cpp文件实现数据输入输出。

1.数据输入输出格式参考如下:
输入:
1 3 //T1的分子、分母
1 2 //T2的分子、分母
** 输出:**
    5 6  //两个有理数相加
    -1 6  //两个有理数相减
     1 6  //两个有理数相乘
     2 3  //两个有理数相除

1.程序应对异常输入或者出错必要处理和提示,比如提示:“分数是否需要约分等”。

二.作业内容

1.用ADT的抽象数据模型描述有理数数据类型。

ADT Rational{

数据对象:

D={e1,e2|e1,e2均为有理数}

数据关系:

R={<e1,e2>,<e2,e3>|e1为有理数分子部分,e2为有理数分母部分,且e2不为0}

基本运算:

AssignRational(&T,v1,v2):构造有理数T,其分子分母分别赋予参数v1,v2的值

DestroyRational(&T):销毁有理数T

Get(T,i,&e):用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母

Change(&T,i,e):将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母

Add(T1,T2,&T3):有理数T1,T2相加,结果存入有理数T3

Subtraction(T1,T2,&T3):有理数T1,T2相减,结果存入有理数T3

Multiplication(T1,T2,&T3):有理数T1,T2相乘,结果存入有理数T3

Division(T1,T2,&T3):有理数T1,T2相除,结果存入有理数T3

1.头文件

 技术分享图片

2.代码实现说明

1.构造有理数

技术分享图片 

 

2.销毁有理数

 技术分享图片

 

3.返回有理数的分子和分母

 技术分享图片

4.更改有理数的分子和分母

 技术分享图片

 

1.随机有理数

 技术分享图片

2.分母为0

 技术分享图片

3.负数

 技术分享图片

4.比较

 技术分享图片

 

四.总结(对结合本次作业谈谈你对数据结构及抽象数据类型的理解。)

抽象数据类型就是两个内容,一个是数据类型,一个是抽象;

数据类型:1.数据对象集,2.数据集合相关联的操作集

抽象:描述数据类型的方法不依赖具体实现

  1. 与存放数据的机器无关
  2. 与数据的物理结构无关
  3. 与实现操作的算法和编程语言均无关

我们只需要描述对象集和相关操作“是什么”,并不涉及“如何做到”的问题,反正就是不需要具体。

week01-绪论

标签:参数   相减   hang   log   方法   更改   ima   是什么   编程   

原文地址:https://www.cnblogs.com/chenhuilin/p/8525879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!