一.作业题目
仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:- 构造有理数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={e2,e2|e1,e2都属于整型,存放于T中}数据关系:R={e1,e2|e1是分子,e2是分母};基本操作:Status goujian();
Status DestroyTriplet();Status get();Status put();Status jiafa();Status jianfa();Status chengfa();Status chufa();Status gys(int a, int b);} ADT Rational
2.数据结构、函数说明。
头文件:
函数:
3、代码实现说明
有理数构建:
销毁有理数T:
用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母:
将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母:
有理数加法:
有理数减法:
有理数乘法:
有理数除法:
最大公约数:
4、结果展示
正常情况:
负数情况:
分母为零:
合为整数:
五、总结:
此次实验我对数据结构有了一定了解,数据结构需要在构建前先建立模版,构建函数时会思路更清晰。