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

一.作业题目

实验题目

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

有理数基本运算如下所示:

  • 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

    实验要求:

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

    二、博客作业要求:

    1.作业内容

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

    1232265-20180308190053411-773945959.png

2.数据结构、函数说明

1232265-20180308190625251-205674358.png

3.代码实现说明

  • 1.构造有理数
    1232265-20180308191527389-435710341.png
  • 2.销毁有理数
    1232265-20180308191609188-1315394772.png
  • 3.返回分母或分子的值
    1232265-20180308191653729-254129387.png
  • 4.改变分母或分母值,得到的有理数
    1232265-20180308191741600-1173912557.png
  • 5.求公约数
    1232265-20180308191810067-1204452722.png
  • 6.有理数相加
    1232265-20180308191840227-871301775.png
  • 7.有理数相减
    1232265-20180308191928712-1099862615.png
  • 8.有理数相乘
    1232265-20180308191946290-744547276.png
  • 9.有理数相除
    1232265-20180308191956196-466347723.png

    4.代码互评

5.结果展示

1232265-20180308192113436-349901019.png

  • 分母为0时,出现非法输入
    1232265-20180308192357955-377680000.png
  • 分别为返回分母或分子和改变分子或分母后有理数T3的值变化
    1232265-20180308192813314-313397674.png
  • 加法运算
    1232265-20180308192927841-1742353119.png
    乘法运算
    1232265-20180308193016834-653495032.png
  • 减法运算
    1232265-20180308193111602-1876520216.png
  • 除法运算。

6.总结

  • 1.就数据结构而言,数据结构是计算机中储存,组织数据的方式。而更合适的数据结构可以带来最高效率的算法,解决问题方法的效率与数据的组织方式,空间的利用效率和算法的巧妙程度有关。
  • 2.抽象数据结构描述数据类型的方法不依赖具体表现,与存放数据的机器,数据存储的物理结构,实现操作的算法和编程语言无关,整体来讲ADT只是描述数据对象集和相关操作集是什么,不涉及如何做问题

转载于:https://www.cnblogs.com/soyam/p/8530471.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值