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

100

Современные технологии программирования. Лабораторные 1-5. Калькулятор простых дробей

ID: 187514
Дата закачки: 08 Января 2018
Продавец: RedSunrise (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

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

Описание:
Задание
1. Реализовать абстрактный тип данных “простая дробь”, используя классы
Object Pascal,
С++
в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных “простые дроби”.
ADT TFrac
Данные
Простая дробь (тип TFrac) - это пара целых чисел: числитель и знаменатель (a/b). Простые дроби изменяемые.
Операции
Операции могут вызываться только объектом простая дробь (тип TFrac), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется “сама дробь”.
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных “память для простых дробей”, используя класс
• Object Pascal,
• C++.
1. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных “память для простых дробей”.
ADT TMemory
Данные
Память для простых дробей (тип TMemory, в дальнейшем - память) - это память для хранения объекта “простая дробь” (тип TFrac) и значения “состояние памяти”. Объект “память для простых дробей” - изменяемый. Он имеет два состояния, обозначаемых значениями: “Включена” (_On), “Выключена” (_Off). Её изменяют операции: Записать (Store), Добавить (Add), Очистить (Clear).
Спецификация типа данных “Процессор простых дробей”.
ADT TProc
Данные
Процессор простых дробей (тип TProc) выполняет двухоперандные операции TOprtn = (None, Add, Sub, Mul, Dvd) и однооперандные операции - функции TFunc = (Rev, Sqr). Если операция или функция не может быть выполнена, в поле Error типа String заносится сообщение об ошибке. Левый операнд и результат операции хранится в поле Lop_Res, правый - в поле Rop. Оба поля имеют тип TFrac. Процессор может находиться в состоянии “операция установлена”: поле Operation не равно None (значение типа TOprtn) или в состоянии операция не установлена: поле Operation = None. Значения типа TProc - изменяемые. Они изменяются операциями: Сброс операции (OprtnClear), Выполнить операцию (OprtnRun), Вычислить функцию (FuncRun), Установить операцию (OprtnSet), Установить левый операнд (Lop_Res_Set), Установить правый операнд (Rop_Set), Сброс калькулятора (ReSet).
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
РедакторПростыхДробей
строка: String
дробьЕстьНоль: Boolean
добавитьЗнак: String
добавитьЦифру(a: Integer): String
добавитьНоль: String
забойСимвола: String
очистить: String
конструктор
читатьСтрокаВформатеСтроки: String (метод свойства)
писатьСтрокаВформатеСтроки(a: String) (метод свойства)
редактировать(a: Integer): String
Обязанность:
ввод, хранение и редактирование строкового представления простых дробей.
2. Класс должен отвечать за посимвольный ввод, хранение и редактирование строкового представления простых дробей. Значение нуля - ‘0|1’. Класс должен обеспечивать:
• добавление цифры;
• добавление и изменение знака;
• добавление разделителя целой и дробной частей;
• забой символа, стоящего справа (BackSpace);
• установку нулевого значения числа (Clear);
• чтение строкового представления простой дроби;
• запись строкового представления простой дроби.
2. Протестировать каждый метод класса.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
УправлениеКалькуляторомПростыхДробей (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TFrac
выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String
выполнитьКомандуРедактора(a: Integer): String
выполнитьОперацию(a: Integer): String
выполнитьФункцию(a: Integer): String
вычислитьВыражение(a: Integer): String
установитьНачальноеСостояниеКалькулятора(a: Integer): String
выполнитьКомандуюПамяти(a: Integer; var MState: String): String
очиститьПамять(var MState: String): String
записатьВПамять(var MState: String): String
считатьИзПамяти(var MState: String): String
добавитьКЧислуВПамяти(var MState: String): String
читатьПисатьСостояниеКалькулятора: TCtrlState (свойство, опирающееся на поле)
выполнитьКомандуБуфераОбмена(a: Integer; var b: String): String
записатьВБуферОбмена(a: Integer; var b: String): String
читатьИзБуферОбмена(a: Integer; var b: String): String
сменитьОснованиеСистемыСчисления(b: integer; var s:String)
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием простых дробей;
• управление выполнением операций, функций и выражений над простыми дробями;
• управление выполнением операций по работе с памятью, объёмом в одно значение типа простая дробь;
• управление работой с системным буфером обмена.
2. Протестировать каждый метод класса и класс в целом.


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

   Скачать

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


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


Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них.
Опять не то? Мы можем помочь сделать!

Некоторые похожие работы:

Современные технологии программирования. Восемь лабораторных + Курсовая работа. Вариант 14. Калькулятор простых дробей.
Современные технологии программирования. Пять лабораторных + Курсовая работа. Вариант 12. Калькулятор простых дробей.
Лабораторная работа №3 по дисциплине "Современные технологии программирования".
Современные технологии программирования. Лабораторная работа №5. Управление калькулятором простых дробей.
Современные технологии программирования. Лабораторная работа №6. Интерфейс калькулятора простых дробей.
Современные технологии программирования. Пять лабораторных + Курсовая работа. Вариант 16. Калькулятор простых дробей.
Ещё искать по базе с такими же ключевыми словами.

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

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

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



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

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

  Cодержание / Современные технологии программирования / Современные технологии программирования. Лабораторные 1-5. Калькулятор простых дробей
Вход в аккаунт:
Войти

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

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

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


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


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

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

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


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