Data_Structure01-绪论作业
一.作业题目
仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:
- 构造有理数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
二.作业内容
一、用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、在大佬的帮助下完成了这次作业,向大佬学习!