Date 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
实验要求:
9.抽象数据类型名为Rational。
10.有理数分母不能为负数或者0,类似输入请提示重输入。
11.数据对象和数据运算的表示与数据操作的实现分离。表示用头文件完成,实现用CPP文件完成。Main.cpp文件实现数据输入输出。
12.数据输入输出格式参考如下:
输入:
1 3 //T1的分子、分母
1 2 //T2的分子、分母
** 输出:**
5 6 //两个有理数相加
-1 6 //两个有理数相减
1 6 //两个有理数相乘
2 3 //两个有理数相除
13.程序应对异常输入或者出错必要处理和提示,比如提示:“分数是否需要约分等”。
二。作业内容
①用ADT的抽象数据模型描述你的有理数数据类型。如:
②。数据结构,函数说明
头文件
三.代码实现说明
构造有理数函数
销毁有理数函数
求公约数函数
加法函数
减法函数
乘法函数
除法函数
四.结果展示
分母为零
分子为零
分母为负数
两个有理数相同
普通情况
五.总结
对数据结构和抽象数据类型的理解:
数据结构是计算机处理的数据元素的组织形式和相互关系,包含数据逻辑结构和数据物理结构以及数据的运算
抽象数据类型是从问题的数学模型中抽象出来的逻辑数据结构,和逻辑数据结构上的运算,并没有详细的说明具体实现的算法。
Date Structure01-绪论作业的更多相关文章
- Python作业-选课系统
目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...
- python 每周作业
day2:python的简介与认识day2:# 1.写一个登录程序# username# passwd# 让用户输入账号和密码,输入用户和密码输入正确的话# 提示你 xxx,欢迎登录,今天的日期是xx ...
- Quartz任务调度基本使用
转自:http://www.cnblogs.com/bingoidea/archive/2009/08/05/1539656.html 上一篇:定时器的实现.Java定时器Timer和Quartz介绍 ...
- SQLSERVER监控复制并使用数据库邮件功能发告警邮件
SQLSERVER监控复制并使用数据库邮件功能发告警邮件 最近熬出病来了,都说IT行业伤不起,不说了,说回今天的正题 正题 上个月月底的时候因为要搬迁机房,需要将一个数据信息数据库先搬到我们的机房,然 ...
- Quartz定时任务学习(一)简单任务
学习quartz首先了解三个概念: 调度器:负责调度作业和触发器: 触发器:设置作业执行的时间.参数.条件等:(简单触发器和Cron触发器) 作业:定时任务内容,被执行的程序: 下载必要的jar包,直 ...
- 任务调度 QUARTZ
任务调度在目前的JAVA应用程序中运用的十分普遍,故掌握QUARTZ是必备的技能 闲话少说,上官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包 commo ...
- Django——在线教育项目总结
项目简介 在线教育平台 软件依赖: WEB框架:Django(1.11.7).Django REST framework 前端框架:Vue(2.5.16) 数据库: MySql.redis 支付平台: ...
- python 全栈开发,Day105(路飞其他数据库表结构,立即结算需求)
考试第三部分:Django 16. 列列举你熟悉的Http协议头以及作用.(1分) Accept-Charset: 用于告诉浏览器,客户机采用的编码 Host: 客户机通过这个头告诉服务器,想访问的 ...
- Quartz框架调用Demo
Quartz框架调用Demo 任务调度在JAVA应用程序中运用的十分普遍,掌握QUARTZ是必备的技能; 官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包 ...
随机推荐
- JavaScript调试总结
一.vs调试 1.设置断点 2.设置浏览模式:一定要设置IE浏览器 3.设置起始页 4.运行 二.谷歌浏览器调试 1.运行项目,进入后F12,找到Sources
- Spring JPA 使用@CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 自动生成时间和修改者
JPA Audit 在spring jpa中,支持在字段或者方法上进行注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,从字面意思 ...
- python☞自动发送邮件
一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...
- Gitlab源码库里代码提交后,如何触发jenkins自动构建?
版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...
- [kuangbin带你飞]专题二十二 区间DP----POJ - 2955
区间DP标准入门题目. 区间DP大概思路是这样的. 第一层枚举长度,因为我们需要从小区间一步步推到大区间 第二层枚举左端点,那么右端点就定了. 第三层枚举间断点,由间断点合并得到大区间. 这道括号匹配 ...
- 高橋君とカード / Tak and Cards AtCoder - 2037 (DP)
Problem Statement Tak has N cards. On the i-th (1≤i≤N) card is written an integer xi. He is selectin ...
- python定时执行任务的三种方式
#!/user/bin/env python # @Time :2018/6/7 16:31 # @Author :PGIDYSQ #@File :PerformTaskTimer.py #定时执行任 ...
- MyBatis 3源码解析(三)
三.getMapper获取接口的代理对象 1.先调用DefaultSqlSession的getMapper方法.代码如下: @Override public <T> T getMapper ...
- Spark2.2 saveAsTable 函数使用 overWrite 设置 Partition 会造成全覆盖的问题
在使用 CDH 6.0.X 的版本还是自带的是 Spark2.2 的版本,2.2 版本的 Spark 使用 saveAsTable 如果使用overWrite PartitionBy 的功能会有和 h ...
- Sass和less的区别是什么?用哪个好
什么是Sass和Less? Sass和Less都属于CSS预处理器,那什么是 CSS 预处理器呢? CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 ...