Week01-作业

一.作业题目

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

    • 构造有理数T,元素e1,e2分别被赋以分子、分母值
    • 销毁有理数T
    • 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
    • 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
    • 有理数T1,T2相加,结果存入有理数T3
    • 有理数T1,T2相减,结果存入有理数T3
    • 有理数T1,T2相乘,结果存入有理数T3
    • 有理数T1,T2相除,结果存入有理数T3

二.作业内容

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

ADT Rational{
  数据对象:D={a1,a2,b1,b2|a1,a2,b1,b2属于ElementType型}
  数据关系:R = {<T1,T2>,<T2,T3>}
  基本操作:
    CreatRational(&T,a,b)
    DestroyRational(&T)
    Return(T,i,&e)
    Change(&T,i,e)
    Plus(&T1, &T2, &T3)
    Minus(&T1, &T2, &T3)
    Multiplies(&T1, &T2, &T3)
    Divides(&T1, &T2, &T3)
    GetMaxDiv(x,y)
} ADT Rational

2.数据结构、函数说明

2.1 头文件

  

 

 3.代码实现说明

3.1 构造有理数T

  

 

3.2 销毁有理数T

  

 


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

  

 


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

  

 


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

  

 


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

  

 


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

  

 


3.8 有理数T1,T2相除,结果存入有理数T3

  

 

3.9 求最大公约数,用于化简所求的分子分母

  

  4.结果展示

    4.1 当一个数为0时

      

    4.2 两个分数

      

    4.3 两个相同的整数

      

    4.4 一个正数一个负数

      

 

  5.总结

    数据结构:数据结构是将一批数据,以同样的标识,在一定的逻辑之下进行集合处理,更方便编写者对数据进行高效的处理。

    抽象数据类型:抽象数据类型是一个基础的模型,对要进行的操作进行一种较为抽象的描述。根据问题,基于这个基础模型,再进行进一步的编写操作。

 

posted @ 2018-03-07 17:32  Chitanda_Eru  阅读(186)  评论(2编辑  收藏  举报