Data_Structure01-绪论作业

一.作业题目

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

    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

二.作业内容

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

ADT Rational {

数据对象:D = { v1,v2 | v1,v2均为整数,且v2不为零 }

数据关系:R = { < v1,v2 > | v1是有理数的分子值,v2是有理数的分母值 }

基本运算:

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

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

 

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

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

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

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

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

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

Find ( a,b ) : 查找最大公约数

 二、头文件展示

三、函数声明

四、代码实现

1、两有理数相加

2、两有理数相减

3、两有理数相乘

4、两有理数相除

5、找最大公约数

五、结果展示

1、样例

2、分母小于等于零

3、可约分的情况

三.总结

1、学习到部分c++的语句和结构;

2、巩固了函数结构的知识,学到了数据结构的知识;

3、需要考虑到分子分母的实际意义和约分的情况;

4、在大佬的帮助下完成了这次作业,向大佬学习!

posted @ 2018-03-07 18:09  云中哟喂  阅读(114)  评论(1编辑  收藏  举报