博客作业1--抽象数据类型

一、作业题目

实验题目

试仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算如下所示:
1.构造有理数R,元素x1,x2分别被赋以分子、分母值
2.销毁有理数R
3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
4.将有理数R的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
5.有理数R1,R2相加,结果存入有理数R3
6.有理数R1,R2相减,结果存入有理数R3
7.有理数R1,R2相乘,结果存入有理数R3
8.有理数R1,R2相除,结果存入有理数R3

实验要求

1.抽象数据类型名为Rational。
2.有理数分母不能为负数或者0,类似输入请提示重输入。
3.数据对象和数据运算的表示与数据操作的实现分离。表示用头文件完成,实现用CPP文件完成。Main.cpp文件实现数据输入输出。

二、博客作业要求

1.作业内容

用ADT的抽象数据模型描述你的有理数数据类型

ADT Rational{
        数据对象:D={x1,x2|x1,x2都是Elemtype类型}
        数据关系:R={<x1,x2>}
        基本操作:
                          Status InitRational(Rational &R, ElemType x1, ElemType x2);//初始化有理数
                          Status DestroyRational(Rational &R);//销毁有理数
                          Status add(Rational &R1, Rational &R2, Rational &R3);//进行有理数加法
                          Status sub(Rational &R1, Rational &R2, Rational &R3);//进行有理数减法
                          Status mul(Rational &R1, Rational &R2, Rational &R3);//进行有理数乘法
                          Status div(Rational &R1, Rational &R2, Rational &R3);//进行有理数除法
                          int reduction(int a, int b);//进行约分

}ADT Rational

2.数据结构、函数说明

1120968-20180309095803735-1173330738.png

3.代码实现说明

1120968-20180309095856032-1905676676.png

1120968-20180309095927002-1899206333.png

1120968-20180309095950647-1655903495.png

1120968-20180309100013821-14850422.png

1120968-20180309100041909-1560449233.png

1120968-20180309100103219-1625101551.png

1120968-20180309100120319-273402777.png

1120968-20180309100136577-1372631826.png

4.代码互评

5.结果展示

1120968-20180309100313569-1270249299.png

6.总结

数据类型可以看作是带结构的数据元素的集合,他们直接存在某种特定的关系,如逻辑关系和运算操作
抽象数据类型是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过已有的数据类型来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。

转载于:https://www.cnblogs.com/zc-565095526/p/8531210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值