zoukankan      html  css  js  c++  java
  • week01-绪论

    一、作业题目

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

      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的抽象数据模型描述你的有理数数据类型

    ADT Rational{

    数据对象:

    D={e1,e2|e1,e2均为整数}

    数据关系:

    R={<e1,e2>|e1是有理数的分子部分,e2是有理数的分母部分,且e2不等于0}

    基本运算:

    Initrational(T2,e1,e2)

    操作结果:构造有理数T,其分子和分母分别赋以e1和e2的值

    Destroyrational(T)

    操作结果:销毁有理数T

    Get(T,i,e)

     操作结果:返回有理数T的分子或分母,当入参i为1时返回分子,入参i为2时返回分母

    Change(i,e,T)

    操作结果:将有理数T的分子或分母更改为e,当入参i为1时改变分子,入参i为2时改变分母

    Sum(T1,T2,T3)

    操作结果:有理数T1与T2相加,得T3为有理数之和

    Minuse(T1,T2,T3)

    操作结果: 有理数T1与T2相减,得T3为有理数之差

    Multiply(T1,T2,T3)

    操作结果: 有理数T1与T2相乘,得T3为有理数之积

    Division(T1,T2,T3)

    操作结果: 有理数T1与T2相除,得T3为有理数之商

    }ADT Rational

    2、头文件

    3、代码实现说明

    *构造有理数

    *销毁有理数

    *有理数返回

    *有理数修改

     

    *有理数求和

    *有理数相减

     

    *有理数相乘

     

    *有理数相除

     

    *求公因数

     

    4、运行结果展示

    sample

     分母为0

    分母为负数

    负有理数

     5、总结

     对数据结构及抽象数据类型有了进一步理解,自学了一点C++

  • 相关阅读:
    python--模块与包
    内置函数 的总结
    迭代器 生成器 列表推导式 生成器表达式的一些总结
    函数的有用信息 带参数的装饰器 多个装饰器装饰一个函数
    函数名的应用(第一对象) 闭包 装饰器
    动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结
    函数的初识 函数的返回值 参数
    文件操作 常用操作方法 文件的修改
    遍历字典的集中方法 集合的作用 以及增删查的方法
    计算机硬件的小知识
  • 原文地址:https://www.cnblogs.com/fangshiyuan/p/8523318.html
Copyright © 2011-2022 走看看