Абстрактный тип данных "простая дробь"
Состав работы
|
|
Описание
Цель работы: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание:
• Реализовать абстрактный тип данных «простая дробь», используя класс С++ в соответствии с приведенной ниже спецификацией.
• Протестировать каждую операцию, определенную на типе данных, используя средства модульного тестирования.
• Если необходимо, предусмотрите возбуждение исключительных ситуаций.
Спецификация типа данных «простые дроби».
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
Задание:
• Реализовать абстрактный тип данных «простая дробь», используя класс С++ в соответствии с приведенной ниже спецификацией.
• Протестировать каждую операцию, определенную на типе данных, используя средства модульного тестирования.
• Если необходимо, предусмотрите возбуждение исключительных ситуаций.
Спецификация типа данных «простые дроби».
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
Оценка: Зачет
Дата оценки: 13.10.2019
Помогу с выполнением других работ и дисциплин.
E-mail: main.name.98@mail.ru
Похожие материалы
Лабораторная работа №1. Абстрактный тип данных простая дробь
aiki
: 20 сентября 2020
Лабораторная работа 1. Абстрактный тип данных простая дробь
Цель
Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++ в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «простые дроби».
ADT TFrac
Данные
Простая дробь (т
300 руб.
Абстрактный тип данных «простая дробь» С# лабораторная работа №1
BatGwen
: 24 апреля 2019
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов
Задание:
1. Реализовать абстрактный тип данных «простая дробь», соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования
300 руб.
Лабораторная работа №1. Абстрактный тип данных «простая дробь»
VVA77
: 11 апреля 2017
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание:
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования
Спецификация типа данных «простая дробь».
ADT TFrac
Простая дробь (тип TFrac) - это пара целых чисел: числитель и знаменатель (a/b)
70 руб.
Лабораторная работа №1 «Абстрактный тип данных простая дробь»
8arracuda
: 22 мая 2016
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание:
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования
Спецификация типа данных «простая дробь».
ADT TFrac
Простая дробь (тип TFrac) - это пара целых чисел: числитель и знаменатель (a/b). П
150 руб.
Лабораторная работа №1. Абстрактный тип данных простая дробь
Udacha2013
: 27 февраля 2016
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактных типов данных с помощью классов Object Pascal, С++.
Задание
1. Реализовать абстрактный тип данных «простая дробь», используя классы
Object Pascal,
С++
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «простые дроби».
ADT TFrac
Данные
Простая дробь (тип TFrac) - это пара целых чисел:
200 руб.
Современные технологии программирования. Лабораторная работа №1. Абстрактный тип данных простая дробь.
zhekaersh
: 20 февраля 2015
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки: реализации абстрактных типов данных с помощью классов Object Pascal, С++.
Задание
1. Реализовать абстрактный тип данных «простая дробь», используя классы Object Pascal, С++ в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
70 руб.
Лабораторная работа №1 по дисциплине "Современные технологии программирования". Абстрактный тип данных “простая дробь”
Doctor_Che
: 29 мая 2013
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание:
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования
Спецификация типа данных «простая дробь».
ADT TFrac
Простая дробь (тип TFrac) - это пара целых чисел: числитель и знаменатель (a/b)
40 руб.
Лабораторная работа №1 Абстрактный тип данных «Простая дробь». Современные технологии в программировании (часть 1)
rmn77
: 19 октября 2017
Лабораторная работа №1
по дисциплине
«Современные технологии в программировании (часть 1)»
Абстрактный тип данных «Простая дробь»
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание:
1. Реализовать абстрактный тип данных «простая дробь», используя класс С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования
50 руб.
Другие работы
Кейс задание 2. Вариант 2. Реклама.
studypro3
: 24 июня 2019
Ситуация 1
Студия художественного декора Imperata работает в Санкт-Петербурге уже три года. Ее работы знают в городе, они ассоциируются с качественной интерьерной живописью. Картины покупают люди, желающие украсить свое жилье, дизайнеры, использующие живопись в интерьерных решениях.
В студии предлагают абстрактные композиции. На Западе такие работы популярны и приносят хороший доход, в России конкуренции в этой области практически нет. «Я создавал бизнес, чтобы делать качественный и творческий п
400 руб.
Понятие и факторы экономического роста
Elfa254
: 1 ноября 2013
Содержание
Введение
1. Экономический рост
1.1 Сущность экономического роста
1.1.1 Экстенсивный путь развития
1.1.2 Интенсивный путь развития
1.2 Факторы экономического роста
1.2.1 Факторы роста в период после кризиса
1.3 Государственное регулирование экономического роста
2. Практическая часть
2.1 Расчёт ВВП доходным и затратным методами
2.2 Расчёт макроэкономических параметров
2.3 Динамика макроэкономических параметров
2.4 Расчёт реального ВВП и дефлятора ВВП
2.5 Расчет ВНП
2.6 Расчет уровня инф
10 руб.
Система охлаждения
Aronitue9
: 15 ноября 2012
СИСТЕМА ОХЛАЖДЕНИЯ
ОБЩЕЕ УСТРОЙСТВО И РАБОТА ЖИДКОСТНОЙ СИСТЕМЫ ОХЛАЖДЕНИЯ.
Система охлаждения предназначена для принудительного отвода от деталей двигателя лишнего тепла и передачи его окружающему воздуху. Благодаря этому создается определенный температурный режим, при котором двигатель не перегревается и не переохлаждается. Тепло в двигателях отводится двумя способами: жидкостью (жидкостная система охлаждения) или воздухом (воздушная система охлаждения). Эти системы поглощают 25 — 35 % тепла,
19 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 10 Вариант 26
Z24
: 2 января 2026
Определить напор перед стальным дюкером диаметром d мм, имеющем два поворота на угол α = (30 + 2·y)°, если расход Q = (1,3 + 0,1·z) м³/с; длина дюкера L = (25 + 2·y) = 33 м; температура воды t = 15 °C (рис. 10).
200 руб.