zoukankan      html  css  js  c++  java
  • Data_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文件实现数据输入输出。

     二.作业内容

    1.用ADT的抽象数据模型描述有理数数据类型。

    ADT Rational{

    数据对象:

    D={e1,e2|e1,e2均为有理数}

    数据关系:

    R={<e1,e2>,<e2,e3>|e1为有理数分子部分,e2为有理数分母部分,且e2不为0}

    基本运算:

    AssignRational(&T,v1,v2):构造有理数T,其分子分母分别赋予参数v1,v2的值

    DestroyRational(&T):销毁有理数T

    Get(T,i,&e):用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母

    Change(&T,i,e):将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母

    Add(T1,T2,&T3):有理数T1,T2相加,结果存入有理数T3

    Subtraction(T1,T2,&T3):有理数T1,T2相减,结果存入有理数T3

    Multiplication(T1,T2,&T3):有理数T1,T2相乘,结果存入有理数T3

    Division(T1,T2,&T3):有理数T1,T2相除,结果存入有理数T3

    2.数据结构,函数说明

    (1)头文件

    (2)函数说明

          3.代码实现说明

    1.构造有理数

    2.销毁有理数

    3.返回有理数的分子或分母值

    4.更改有理数的分子或分母

    5.有理数相加

    6.有理数相减

    7.有理数相乘

    8.有理数相除

    9.求最大公约数

    4.结果展示

    (1)样例

    (2)存在负数

    (3)分母存在0

    (4)两数相同

    (5)分子存在0

    (6)结果存在整数

    5.总结

    1)数据结构:数据结构可看成带结构的数据元素的集合,就如此次作业中创建代表有理数分子和分母的结构。数据结构包括数据元素间的逻辑关系,数据元素在计算机中的存储方式以及数据的运算,其最终都会运行并解决问题。

    (2)抽象数据类型:抽象数据类型并没有具体存储结构和运算的实现算法,只是类似概念,便于思路整理,更易于我们描述,正于这次作业描写了有理数的抽象数据类型,我们只需关心其逻辑特征,无需了解存储方式

  • 相关阅读:
    日期型数据知识
    如何让VS检查函数和类Comment的添加情况
    HTTP request is unauthorized with client authentication scheme 'Anonymous'.
    将SerializableAttribute序列化为xml
    使用EnterpriseLibrary Validation Block对WCF做验证
    表达式树中递归方法
    使用SignalR在Asp.net中实现进度条
    SQLServer中列出数据库的所有表的创建时间
    用Knockoutjs与Asp.net MVC实现级联下拉列表
    使用UnityAutoMoq简化单元测试
  • 原文地址:https://www.cnblogs.com/tanghuan/p/8503518.html
Copyright © 2011-2022 走看看