Лабораторная работа №4 Управление калькулятором
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра изображений
Описание
Лабораторная работа №4
Управление калькулятором
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования С++.
Задание:
1. Разработать и реализовать класс «Управление калькулятором чисел» тип TCtrl, используя класс С++. Тип чисел, которые обрабатывает калькулятор, зависит от варианта.
На Унифицированном языке моделирования 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
читатьПисатьСостояниеКалькулятора: TCtrlState
выполнитьКомандуБуфераОбмена(a: Integer; var b: String): String
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
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)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «установитьНачальноеСостояниеКалькулятора» (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьКомандуПамяти» (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «выполнитьКомандуБуфераОбмена» (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата;
• «читать | писать состояние калькулятора», возвращает значение типа TCtrlState (свойство, опирающееся на поле);
• «конструктор», осуществляет создание объектов и инициализацию полей класса;
• «деструктор», осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: «Редактор», «Процессор», «Память», «Число».
5. Логика работы объекта «управление калькулятором» класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации. Для построения таблицы переходов необходимо:
6. проанализировать спецификацию, приведённую в задании для калькулятора простых дробей и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
7. построить диаграмму состояний.
Управление калькулятором
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования С++.
Задание:
1. Разработать и реализовать класс «Управление калькулятором чисел» тип TCtrl, используя класс С++. Тип чисел, которые обрабатывает калькулятор, зависит от варианта.
На Унифицированном языке моделирования 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
читатьПисатьСостояниеКалькулятора: TCtrlState
выполнитьКомандуБуфераОбмена(a: Integer; var b: String): String
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
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)), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «установитьНачальноеСостояниеКалькулятора» (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата;
• «выполнитьКомандуПамяти» (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
• «выполнитьКомандуБуфераОбмена» (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата;
• «читать | писать состояние калькулятора», возвращает значение типа TCtrlState (свойство, опирающееся на поле);
• «конструктор», осуществляет создание объектов и инициализацию полей класса;
• «деструктор», осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: «Редактор», «Процессор», «Память», «Число».
5. Логика работы объекта «управление калькулятором» класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации. Для построения таблицы переходов необходимо:
6. проанализировать спецификацию, приведённую в задании для калькулятора простых дробей и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
7. построить диаграмму состояний.
Дополнительная информация
Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Современные технологии в программировании (часть 2)
Вид работы: Лабораторная работа 4
Оценка:Зачет
Дата оценки: 18.09.2016
Работа выполнена без фамилии студента, можно сразу отправлять на проверку
Оценена Ваша работа по предмету: Современные технологии в программировании (часть 2)
Вид работы: Лабораторная работа 4
Оценка:Зачет
Дата оценки: 18.09.2016
Работа выполнена без фамилии студента, можно сразу отправлять на проверку
Похожие материалы
Лабораторная работа №4. Управление калькулятором по дисциплине "Современные технологии программирования"
Doctor_Che
: 11 декабря 2013
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования С++.
Задание:
1. Разработать и реализовать класс «Управление калькулятором чисел» тип TCtrl, используя класс С++. Тип чисел, которые обрабатывает калькулятор, зависит от варианта.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
УправлениеКалькуляторомПростыхДробей (тип TCtrl)
состояниеКалькулятора:
40 руб.
Современные технологии программирования (часть 2) Лабораторная работа 4 Управление калькулятором Вариант 4
Эректус
: 20 ноября 2018
Лабораторная работа №4
Управление калькулятором
Цель
Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования С++.
Задание
1. Разработать и реализовать класс «Управление калькулятором чисел» тип TCtrl, используя класс С++. Тип чисел, которые обрабатывает калькулятор, зависит от варианта.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
УправлениеКалькуляторомПростыхДробей (тип
20 руб.
Другие работы
Инженерная графика. Задание 80. Вариант 2. Передача червячная
Чертежи
: 9 мая 2022
Все выполнено в программе КОМПАС 3D v16.
Боголюбов С.К. Индивидуальные задания по курсу черчения.
Задание 80. Вариант 2. Передача червячная
Выполнить чертеж червячной передачи. Размеры шпонки и паза для нее установить по ГОСТ 23360-78. Нанести размеры диаметров валов и межосевого расстояния.
В состав работы входит один файл – чертеж червячной передачи соответствующего варианта. Все параметры рассчитаны по формулам со скриншота, прикрепленного сюда.
*.rar - это разрешение файла семейства архи
100 руб.
Контрольная работа по дисциплине: Практики противодействия коррупции и антикоррупционная культура. Вариант 23
Roma967
: 9 марта 2023
Тема: «Международное сотрудничество России в области противодействия коррупции»
Содержание
Введение 3
1. Коррупция. Характеристика понятия 5
2. Международно-правовые основы взаимодействия в борьбе с коррупцией 7
3. Роль и место России в международном сотрудничестве в сфере противодействия коррупции 10
Заключение 15
Список использованных источников 17
400 руб.
Эффективность логистического подхода к управлению материальными потоками
Aronitue9
: 1 сентября 2012
Содержание
1.Эффективность логистического подхода к управлению материальными потоками ……………………………………………………………….……. 3-5 стр.
2. Штриховые товарные коды: понятие, виды, область применения. Структура и порядок применения кода EAN-13 ………………………………. 6-10 стр.
3. Изучить схему материальных потоков на складе торговой базы .... 11 стр.
4. Рассчитать уровень логистического сервиса ……………..……. 12-13 стр.
5. Найти место для расположения распределительного склада методом определения центра тяжести грузов
20 руб.
Лабораторные работы 1-3 по дисциплине: Языки программирования. Вариант №22
IT-STUDHELP
: 3 декабря 2022
Лабораторная работа No1
по дисциплине:
«Языки программирования»
Задание к работе: Реализовать линейный вычислительный процесс. Самостоятельно решить задачу в соответствии с индивидуальным вариантом.
Постановка задачи
Напишите программу для расчета по двум формулам. Подготовьте не менее пяти тестовых примеров. Предварительно выполните вычисления с использованием калькулятора или Excel (результаты вычисления по обеим формулам должны совпадать). используйте не менее пяти значений переменных.
Исхо
600 руб.