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

一、作业内容

  • 用ADT的抽象数据模型描述你的有理数数据类型。
    ADT Rational {
        数据对象:D={e1,e2|e1,e2∈I(I为整数集)}
        数据关系:R1={e1为有理数的分子,e2为有理数的分母且大于0}
        操作集:
            IntoFraction(& T, e1, e2)
            DestoryFraction(& T)
            ModifyFraction(& T, e, i)
            ArithmeticFraction(& T1,& T2,& T3, flag)
            SimplifyFraction(& nume, & deno)
            FindMiniMultiple( e1, e2)
            ReturnFindNum(& T1,& T2,& T3, flag)
            TakeTMultiple(& T, i)
    } ADT Rational

二、数据结构、函数说明

  • 头文件:


三、代码实现说明

IntoFraction(R& T,Elemtype e1,Elemtype e2)

DestoryFraction(R& T)

ModifyFraction(R& T,Elemtype e,int i)

ArithmeticFraction(R& T1,R& T2,R& T3,int flag)


SimplifyFraction(Elemtype& nume,Elemtype& deno)

FindMiniMultiple(Elemtype e1,Elemtype e2)

ReturnFindNum(R& T1,R& T2,R& T3,int flag)

TakeTMultiple(R& T,int i)

四、代码互评

五、结果展示

1:分母为小于等于0的数

2:在已经删除T1下再次删除T1

3:在T1、T2被删除之后


4:T1(-6/8)、T2(5/6)的四则运算

  • 加法

  • 减法

  • 乘法

  • 除法

5:T1(12/36)、T2(9/128)的四则运算

  • 加法

  • 减法

  • 乘法

  • 除法

6:T1(-9/45)、T2(-7/65)的四则运算

  • 加法

  • 减法

  • 乘法

  • 除法

7:返回查询值(6的条件下)

  • 返回T1的分子

  • 返回T1的分母

  • 返回T2的分子

  • 返回T2的分母

8:修改T1或T2的分子或分母(6的条件下)

  • 修改T1的分子

  • 修改T1的分母(修改之后是-8/72,自动化简成-1/9)


  • 修改T2的分子

  • 修改T2的分母(修改成的是9/108)

六、总结

  • 抽象数据类型是指一组定义在一个数学模型上的操作及该模型。需要通过固有的数据类型(如int之类)来实现。
  • 对于现实的实际问题,可以定义对应的抽象数据类型来完成一系列定义和操作,是抽象数据类型的基本运用。
posted @ 2018-03-08 20:34  那就这个名字  阅读(218)  评论(3编辑  收藏  举报