Страницу Назад
Поискать другие аналоги этой работы

200

Абстрактный тип данных "простая дробь"

ID: 213893
Дата закачки: 29 Октября 2020
Продавец: Nik001 (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Форматы файлов: C++
Сдано в учебном заведении: СибГУТИ

Описание:
Цель работы: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.

Задание:
• Реализовать абстрактный тип данных «простая дробь», используя класс С++ в соответствии с приведенной ниже спецификацией.
• Протестировать каждую операцию, определенную на типе данных, используя средства модульного тестирования.
• Если необходимо, предусмотрите возбуждение исключительных ситуаций.

Спецификация типа данных «простые дроби».

ADT TFrac

Данные
Простая дробь (тип TFrac) - это пара целых чисел: числитель и знаменатель (a/b). Простые дроби изменяемые.

Операции
Операции могут вызываться только объектом простая дробь (тип TFrac), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется «сама дробь».

Конструктор
Начальные значения: Пара целых чисел (a) и (b).
Процесс: Инициализирует поля простой дроби (тип TFrac): числитель значением a, знаменатель - (b). В случае необходимости дробь предварительно сокращается.
Например:
Конструктор(6,3) = (2/1)
Конструктор(0,3) = (0/3).

Конструктор
Начальные значения: Строковое представление простой
дроби. Например: ‘7/9’.
Процесс: Инициализирует поля простой дроби (тип TFrac) строкой f =’a/b’. Числитель значением a, знаменатель - b. В случае необходимости дробь предварительно сокращается.
Например:
Конструктор(‘6/3’) = 2/1
Конструктор (‘0/3’) = 0/3

Копировать:
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт копию самой дроби (тип TFrac) с числителем, и знаменателем такими же, как у самой дроби.
Выход: Простая дробь (тип TFrac).
Например:
c = 2/1,
Копировать(c)= 2/1
Постусловия: Нет.

Сложить
Вход: Простая дробь d (тип TFrac).
Предусловия: Нет.
Процесс: Создаёт и возвращает простую дробь (тип TFrac), полученную сложением самой дроби q = a1/b1 с d =a2/b2: ((a1/b1)+(a2/b2)=(a1*b2 + a2*b1)/(b1* b2)).
Например:
q = 1/2, d = -3/4
q.Сложить(d) = -1/4.
Выход: Простая дробь (тип TFrac).
Постусловия: Нет.

Умножить
Вход: Простая дробь d (тип TFrac).
Предусловия: Нет.
Процесс: Создаёт простую дробь (тип TFrac), полученную умножением самой дроби q = a1/b1 на d = a2/b2 ((a1/b1)*(a2/b2)=(a1* a2)/( b1* b2)).
Выход: Простая дробь (тип TFrac).
Постусловия: Нет.

Вычесть
Вход: Простая дробь d (тип TFrac).
Предусловия: Нет.
Процесс: Создаёт и возвращает простую дробь (тип TFrac), полученную вычитанием d = a2/b2 из самой дроби
q = a1/b1: ((a1/b1)-(a2/b2)=(a1* b2-a2*b1)/(b1*b2)).
Например:
q =(1/2),d=(1/2)
q.Вычесть(d) = (0/1).
Выход: Простая дробь (тип TFrac).
Постусловия: Нет

Делить
Вход: Простая дробь d (тип TFrac).
Предусловия: Числитель числа d не равно 0.
Процесс: Создаёт и возвращает простую дробь (тип TFrac), полученное делением самой дроби q = a1/b1 на дробь d = a2/b2: ((a1/b1)/(a2/b2)=(a1*b2)/(a2*b1)).
Выход: Простая дробь (тип TFrac).
Постусловия: Нет.

Квадрат
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт и возвращает простую дробь (тип TFrac), полученную умножением самой дроби на себя: ((a/b)*(a/b)=(a* a)/( b* b)).
Выход: Простая дробь (тип TFrac).
Постусловия: Нет.

Обратное
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт и возвращает простую дробь (тип TFrac), полученное делением единицы на саму дробь: 1/((a/b) = b/a.
Выход: Простая дробь (тип TFrac)
Постусловия: Нет.

Минус
Вход: Нет.
Предусловия: Нет.
Процесс: Создаёт простую дробь, являющуюся
разностью простых дробей z и q, где z - простая дробь (0/1), дробь, вызвавшая метод.
Выход: Простая дробь (тип TFrac).
Постусловия: Нет.

Равно
Вход: Простая дробь d (тип TFrac).
Предусловия: Нет
Процесс: Сравнивает саму простую дробь q и d. Возвращает значение True, если q и d - тождественные простые дроби, и значение False - в противном случае.
Выход: Булевское значение.
Постусловия: Нет.

Больше
Вход: Простая дробь d (тип TFrac).
Предусловия: Нет.
Процесс: Сравнивает саму простую дробь q и d. Возвращает значение True, если q > d, значение False - в противном случае.
Выход: Булевское значение.
Постусловия: Нет.

ВзятьЧислительЧисло
Вход:
Предусловия: Нет.
Процесс: Возвращает значение числителя дроби
в числовом формате.
Выход: Вещественное значение.
Постусловия: Нет.

ВзятьЗнаменательЧисло
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение знаменателя
дроби в числовом формате.
Выход: Вещественное значение.
Постусловия: Нет.

ВзятьЧислительСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение числителя дроби в строковом формате.
Выход: Строка.
Постусловия: Нет.

ВзятьЗнаменательСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение знаменателя
дроби в строковом формате.
Выход: Строка.
Постусловия: Нет.

ВзятьДробьСтрока
Вход: Нет.
Предусловия: Нет.
Процесс: Возвращает значение простой дроби,
в строковом формате.
Выход: Строка.
Постусловия: Нет.
endTFracRatio

Комментарии: Вид работы: Лабораторная работа 1
Оценка: Зачет
Дата оценки: 13.10.2019
Помогу с выполнением других работ и дисциплин.
E-mail: main.name.98@mail.ru

Размер файла: 8,4 Мбайт
Фаил: Упакованные файлы (.7z)

   Скачать

   Добавить в корзину


    Скачано: 3         Коментариев: 0


Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Современные технологии программирования / Абстрактный тип данных "простая дробь"
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!