博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
week01-绪论
阅读量:4935 次
发布时间:2019-06-11

本文共 1145 字,大约阅读时间需要 3 分钟。

一.作业题目

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

有理数基本运算:

    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程序应对异常输入或者出错必要处理和提示,比如提示:“分数是否需要约分等”。

二、作业实验

 1.抽象数据结构描述

ADT Rational{

  数据结构:
    D={t1,t2|t1,t2为整数}
  数据关系:
    R={<t1,t2>|t1为有理数的分子,t2为有理数的分母,t2不为0}
  基本操作:
    createRational(t1,t2)
    //操作结果:构造有理数,元素t1,t2分别被赋以分子、分母值
    addition(t1,t2)
    //操作结果:有理数T1,T2相加,结果存入有理数T3
    subtract(t1,t2)
    //操作结果:将T1,T2相减,结果存入T3
    multiply(t1,t2)
    //操作结果:将T1,T2相乘,结果存入T3
    division(t1,t2)
    //操作结果:将T1,T2相除,结果存入T3

}ADT Rational

2、数据结构、函数说明

3、代码实现说明

将第一个有理数分子分母储存在t1[0]、t1[1],第二个有理数分子分母储存在t2[0]、t2[1]

 

相加

 

 

相减

相乘

相除

 

 求最大公约数

 

 

4、结果展示

当分母小于等于零时,重新输入

5、总结

1.计算完后应注意分子的正负并把他暂时化为正数进行约分

2.让我了解了数据结构中的多元组利用

 

转载于:https://www.cnblogs.com/yjq2710/p/8522329.html

你可能感兴趣的文章
【转】Android 语言切换过程分析
查看>>
jpa 多对多关系的实现注解形式
查看>>
Android开发——View绘制过程源码解析(一)
查看>>
Quartz和TopShelf Windows服务作业调度
查看>>
让ie9之前的版本支持canvas
查看>>
排序规则
查看>>
percent的用法
查看>>
中文词频统计
查看>>
Hibernate三种状态详解
查看>>
判断一个数是否是2^N次方
查看>>
html5特征检测
查看>>
js中几种实用的跨域方法原理详解
查看>>
打印图形
查看>>
《第一行代码》学习笔记7-活动Activity(5)
查看>>
ngx_http_core_module 模块
查看>>
两个常见的oracle索引
查看>>
一位有着工匠精神的博主写的关于IEnumerable接口的详细解析
查看>>
MySQL中特有的函数If函数
查看>>
安装Python3.6.2报错:zipimport.ZipImportError: can't decompress data; zlib not available
查看>>
【蓝桥杯】入门训练 Fibonacci数列
查看>>