↑ вверх

Помощь дистанционщикам!
ДО СибГУТИ (www.do.sibsutis.ru),
ДО СибАГС (www.sapanet.ru),
ДО НГУЭиУ (sdo.nsuem.ru),
ДО СибУПК (sdo.sibupk.su) и др ВУЗы

Этот сайт продаётся. По всем вопросам обращаться по +7 913 923-45-34 (Денис)
Корзина пуста!
Обратная связь




Вариант 11 Лабораторная работа 01

25000
      
Просмотров: 1025
Тип работы: Лабораторная работа
Название предмета: Современные технологии программирования
Тема/вариант: Вариант 11 Лабораторная работа 01
Объем работы: 10
ВУЗ: СибГУТИ
Дата выполнения: 2013-08-20
Размер файла, тип файла: 277.52 Kb, , DCU, PAS, ~PAS, CFG, DOF, DPR, EXE, RES, ~DPR, DDP, DFM, ~DDP, ~DFM, DOC
Прикрепленные файлы: Курс 280 Задание на курсовую работу по дисциплине «Современные технологии программирования» 8 семестр (3616 Kb)

Тема: Классы Object Pascal, С++
Цель:
 Сформировать практические навыки: реализации абстрактных типов данных с помощью классов Object Pascal С++.
Задание:
Реализовать абстрактный тип данных «простая дробь», используя классы Delphi, С++ в соответствии с приведенной ниже спецификацией.
Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Протестировать тип данных в целом.
Спецификация типа данных «простые дроби».
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’) = 6/3
КонструкторСтрока (‘0/3’) = 0/3

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

    Выход:    Простая дробь (тип TFrac).
Например:
c = 6/3, Копировать(c) = 6/3
    Постусловия:    Нет.

Сложить   
    Вход:    Простая дробь 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 - в противном случае.
    Выход:    Булевское значение.
    Постусловия:    Нет.

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

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

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

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

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

Рекомендации к выполнению:
1.    Тип данных реализовать, используя классы Object Pascal.
2.    Для записи и считывания полей простой дроби использовать свойства (property).
3.    Тип данных реализовать в отдельном модуле UFrac.
Содержание отчета:
1.    Задание.
2.    Текст программы.
3.    Тестовые наборы данных для тестирования типа данных.

 

ЗАКАЗАТЬ РАБОТУ
Отправь нам своё задание, и мы поищем твою работу в нашей базе готовых работ. А если не найдем, то порекомендуем партнеров, которые качественно смогут выполнить твой заказ.
(doc, docx, rtf, zip, rar, bmp, jpeg) не более 5 Мб