engineerklub | Дата: Воскресенье, 29.10.2017, 16:09 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Лабораторная работа №5 по дисциплине: Современные технологии программирования. Вариант с 9 по 16 (простая дробь)
Форматы файлов: Microsoft Word, Delphi Сдано в учебном заведении: ДО СИБГУТИ
Описание: Тема: Классы Object Pascal, С++ Задание: 1. Разработать и реализовать класс «Управление калькулятором простых дробей» тип TCtrl, используя Object Pascal, С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом: 2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать: • управление вводом и редактированием простых дробей; • управление выполнением операций, функций и выражений над простыми дробями; • управление выполнением операций по работе с памятью, объёмом в одно значение типа простая дробь; • управление работой с системным буфером обмена. 3. Протестировать каждый метод класса и класс в целом.
Рекомендации к выполнению 1. Класс TCtrl реализуйте в отдельном модуле UControl. 2. В модуле опишите перечисляемый тип TCtrlState = (cStart, cEditing, FunDone, cValDone, cExpDone, cOpChange, cError) для обозначения состояний калькулятора: cStart (Начальное), cEditing (Ввод и редактирование), cExpDone (Выражение вычислено), cOpDone (Операция выполнена), cValDone (Значение введено), cOpChange (Операция изменена),. cError (Ошибка). 3. В классе опишите следующие атрибуты: • «редактор» - объект типа TEditior; • «процессор» - объект типа TProc (TCalc в предыдущей редакции); • «память» - объект типа TMemory; • «состояние калькулятора» - тип TCtrlState; • «число» - объект типа TFrac (результат выполнения последней команды). 4. Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции: • «выполнитьКомандуКалькулятора» (управляет вызовом операций по работе с объектами: редактор (поле TEditor), процессор (поле TProc), память (поле TMemory), буфер обмена (глобальный объект ClipBoard)), операция получает целое число (номер команды пользователя), строку для буфера обмена, строку со значением состояния памяти и возвращает строку для буфера обмена, строку состояния памяти и строку результата; • «выполнитьКомандуРедактора» (управляет вызовом методов объекта редактор (тип TEditor)), операция получает целое число (номер команды пользователя и возвращает строку результата; • «выполнитьОперацию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата; • «выполнитьФункцию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата; • «вычислитьОперацию» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата; • «вычислитьВыражение» (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата; • «установитьНачальноеСостояниеКалькулятора» (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата; • «выполнитьКомандуПамяти» (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата; • «очистить память» (обеспечивает выполнение команды MC памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата; • «записать в память» (обеспечивает выполнение команды MS памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата; • «считать из памяти» (обеспечивает выполнение команды MR памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата; • «добавить к числу в памяти» (обеспечивает выполнение команды M+ памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
скачать можно в разделе Современные технологии программирования
|
|
| |
engineerklub | Дата: Воскресенье, 29.10.2017, 16:09 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| • «выполнитьКомандуБуфераОбмена» (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата; • «записатьВБуферОбмена» (обеспечивает выполнение команды Вставить), операция возвращает строку со значением числа и строку результата; • «читатьИзБуферОбмена» (обеспечивает выполнение команды Копировать), операция получает строку со значением числа и строку результата; • «читать | писать состояние калькулятора», возвращает значение типа TCtrlState (свойство, опирающееся на поле); • «конструктор», осуществляет создание объектов и инициализацию полей класса; • «деструктор», осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: «Редактор», «Процессор», «Память», «Число».
Рекомендации к выполнению Логика работы объекта «управление калькулятором» класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации. Для построения таблицы переходов необходимо: 1. проанализировать спецификацию, приведённую в задании для калькулятора простых дробей и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
Содержание отчета 1. Задание. 2. Текст программы. 3. Тестовые наборы данных для тестирования класса.
Комментарии: Зачет без замечаний! Дата сдачи: апрель 2017 г. В архиве отчет + файлы программы. Работа подходит для вариантов с 9 по 16.
скачать можно в разделе Современные технологии программирования
|
|
| |