week01-绪论作业
2024-10-18 16:23:53
一、有理数的抽象数据模型
ADT Rational {
数据对象: D={e1,e2|e1,e2属于ElemType类型}//ElemType为自定义的整数集合类型 数据关系: R={<e1,e2>,e1是有理数分子,e2是有理数分母,并且e2!=0} 操作集: Init_Rational(&T,e1,e2)
//操作结果:构造有理数T,并把元素e1,e2分别被赋值为有理数分子和分母
Destory_Rational(&T)
//初始条件:有理数T已经存在
//操作结果:有理数T被销毁
Get_Rational(T,i,&e)
//操作结果:用e返回有理数的分子或分母,i=1返回分子,i=2返回分母
PutRational(T,i,e)
//操作结果:改变有理数的分子或分母的值为e,i=1改变分子,i=2改变分母
Add_Rational(T1,T2,&T3)
//操作结果:有理数T1、T2 相加,结果保存在T3中
Sub_Rational(T1,T2,&T3)
//操作结果:有理数T1、T2 相减,结果保存在T3中
Mul_Rational(T1,T2,&T3)
//操作结果:有理数T1、T2 相乘,结果保存在T3中
Div_Rational(T1,T2,&T3)
//操作结果:有理数T1、T2 相除,结果保存在T3中
}ADT Rational
二、头文件、函数说明
三、相关步骤的操作
1、有理数的构造,申请三元组空间
2、已构造的有理数的销毁
3、分子分母的返回
4、分子、分母的修改
5、两个有理数相加
6、两个有理数相减
7、两个有理数相乘
8、两个有理数相除
9、最大公约数的化简
四、运行结果的展示
五、总结:
1、很多东西都不会,C和C++有些地方的不同用法很容易会混淆。
2、从老师的参考代码中学到很多基础小知识,如#include "..."是为了实现引用导入的功能,还有一些宏定义。
3、以前习惯编一个个单独的cpp文件,现在突然用工程来做,有点不习惯,但是这样却能更清晰简明。
4、学会了一点点有关三元组的使用方法,明白其重要作用,对三元组这个抽象难懂的概念有了一个初步的认识。
5、上学期学的知识很多都忘了,这学期要努力补回来。
6、代码略简陋,比如分母为零的情况就没有讨论到。
最新文章
- request.getContextPath()报错
- C++11之lambda表达式
- 由于一个粗心造成的RuntimeException
- iframe详细的使用
- Codeforces Gym 100637A A. Nano alarm-clocks 前缀和处理
- Android 设计中的.9.png
- php保存base64数据
- C#用DES加密JAVA用DES解密,JAVA用DES加密C#用DES解密的实现
- WSAAsyncSelect模型
- MySQL的备份和还原
- 在systemd(CentOS7)自启动zookeeper
- input标签(待填坑)
- 【重学计算机】操作系统D5章:文件系统
- dubbo接口demo开发
- 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;goodsController&#39; defined in file [D:\eclipse\eclipse-space\pinyougou_parent\pinyou
- 设计一款相册APP,代替系统自带的相册功能,列举主要功能
- 前端自动化部署方案-实践(配合shell)
- js增减日期
- Codeforces 545E. Paths and Trees 最短路
- easyui combobox开启搜索自动完成功能