Современные технологии программирования. Лабораторная работа №5. Вариант: 8
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа No5. Управление калькулятором р-ичных чисел
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1.Разработать и реализовать класс “Управление калькулятором р-ичных чисел” тип TCtrl, используя класс
•Object Pascal,
•С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TPNumber
выполнитьКомандуКалькулятора(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)
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
1.Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
•управление вводом и редактированием р-ичных чисел;
•управление выполнением операций, функций и выражений над р-ичными числами;
•управление выполнением операций по работе с памятью, объёмом в одно значение типа р-ичное число;
•управление работой с системным буфером обмена.
1.Протестировать каждый метод класса и класс в целом.
Рекомендации к выполнению
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;
•“число” - объект типа TPNumber (результат выполнения последней команды).
1.Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции:
•“выполнитьКомандуКалькулятора” (управляет вызовом операций по работе с объектами: редактор (поле TEditor), процессор (поле TProc), память (поле TMemory), буфер обмена (глобальный объект ClipBoard)), операция получает целое число (номер команды пользователя), строку для буфера обмена, строку со значением состояния памяти и возвращает строку для буфера обмена, строку состояния памяти и строку результата;
•“выполнитьКомандуРедактора” (управляет вызовом методов объекта редактор (тип TEditor)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“выполнитьОперацию” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“выполнитьФункцию” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“вычислитьОперацию” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“вычислитьВыражение” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“установитьНачальноеСостояниеКалькулятора” (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“выполнитьКомандуПамяти” (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“очистить память” (обеспечивает выполнение команды MC памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“записать в память” (обеспечивает выполнение команды MS памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“считать из памяти” (обеспечивает выполнение команды MR памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“добавить к числу в памяти” (обеспечивает выполнение команды M+ памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
•“выполнитьКомандуБуфераОбмена” (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата;
“записатьВБуферОбмена” (обеспечивает выполнение команды Вставить), операция возвращает строку со значением числа и строку результата;
“читатьИзБуферОбмена” (обеспечивает выполнение команды Копировать), операция получает строку со значением числа и строку результата;
• “сменить основание системы счисления”, операция получает новое значение основания системы счисления и возвращает строку, содержащую отображаемое число в новой системе счисления;
•“читать | писать состояние калькулятора”, возвращает значение типа TCtrlState (свойство, опирающееся на поле);
•“конструктор”, осуществляет создание объектов и инициализацию полей класса;
•“деструктор”, осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: “Редактор”, “Процессор”, “Память”, “Число”.
Рекомендации к выполнению
Логика работы объекта “управление калькулятором” класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации.
Для построения таблицы переходов необходимо:
1.проанализировать спецификацию, приведённую в задании для калькулятора р-ичных чисел и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
2.построить таблицу состояний следующего вида (данные во вложении)
1.На основе таблицы состояний постройте таблицу переходов для калькулятора.
Диаграмма классов для Управления калькулятором р-ичных чисел представлено на рисунке ниже (см.вложение).
Содержание отчета
1.Задание.
2.Текст программы.
3.Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1.Что такое инкапсуляция?
2.Как синтаксически представлено поле в описании класса?
3.Как синтаксически представлен метод в описании класса?
4.Как синтаксически представлено простое свойство в описании класса?
5.Особенности описания методов класса?
6.Особенности описания и назначение конструктора класса?
7.Видимость идентификаторов в описании класса?
8.Особенности вызова методов применительно к объектам класса?
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1.Разработать и реализовать класс “Управление калькулятором р-ичных чисел” тип TCtrl, используя класс
•Object Pascal,
•С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TPNumber
выполнитьКомандуКалькулятора(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)
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
1.Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
•управление вводом и редактированием р-ичных чисел;
•управление выполнением операций, функций и выражений над р-ичными числами;
•управление выполнением операций по работе с памятью, объёмом в одно значение типа р-ичное число;
•управление работой с системным буфером обмена.
1.Протестировать каждый метод класса и класс в целом.
Рекомендации к выполнению
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;
•“число” - объект типа TPNumber (результат выполнения последней команды).
1.Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции:
•“выполнитьКомандуКалькулятора” (управляет вызовом операций по работе с объектами: редактор (поле TEditor), процессор (поле TProc), память (поле TMemory), буфер обмена (глобальный объект ClipBoard)), операция получает целое число (номер команды пользователя), строку для буфера обмена, строку со значением состояния памяти и возвращает строку для буфера обмена, строку состояния памяти и строку результата;
•“выполнитьКомандуРедактора” (управляет вызовом методов объекта редактор (тип TEditor)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“выполнитьОперацию” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“выполнитьФункцию” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“вычислитьОперацию” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“вычислитьВыражение” (управляет вызовом методов объекта процессор (поле TProc)), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“установитьНачальноеСостояниеКалькулятора” (управляет вызовом методов для перевода объекта типа TCalc в состояние Start (см. ниже), операция получает целое число (номер команды пользователя и возвращает строку результата;
•“выполнитьКомандуПамяти” (управляет вызовом методов объекта типа TCtrl, обеспечивающих выполнение команд памяти), операция получает целое число (номер команды пользователя), строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“очистить память” (обеспечивает выполнение команды MC памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“записать в память” (обеспечивает выполнение команды MS памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“считать из памяти” (обеспечивает выполнение команды MR памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
“добавить к числу в памяти” (обеспечивает выполнение команды M+ памяти), операция получает строку со значением состояния памяти и возвращает строку состояния памяти и строку результата;
•“выполнитьКомандуБуфераОбмена” (управляет вызовом методов объекта типа TClipBoard, обеспечивающих выполнение команд буфера обмена), операция получает целое число (номер команды пользователя), строку со значением буфера обмена и возвращает строку со значением буфера обмена и строку результата;
“записатьВБуферОбмена” (обеспечивает выполнение команды Вставить), операция возвращает строку со значением числа и строку результата;
“читатьИзБуферОбмена” (обеспечивает выполнение команды Копировать), операция получает строку со значением числа и строку результата;
• “сменить основание системы счисления”, операция получает новое значение основания системы счисления и возвращает строку, содержащую отображаемое число в новой системе счисления;
•“читать | писать состояние калькулятора”, возвращает значение типа TCtrlState (свойство, опирающееся на поле);
•“конструктор”, осуществляет создание объектов и инициализацию полей класса;
•“деструктор”, осуществляет освобождение памяти, занимаемой объектом класса и объектами, указатели на которые хранятся в полях объекта: “Редактор”, “Процессор”, “Память”, “Число”.
Рекомендации к выполнению
Логика работы объекта “управление калькулятором” класс TCtrl может быть описана с помощью таблицы переходов, которая отражает изменение состояния калькулятора и результат работы объекта под действием команд пользователя. Таблица переходов строится на основе анализа прецедентов (вариантов использования), приведённых в спецификации.
Для построения таблицы переходов необходимо:
1.проанализировать спецификацию, приведённую в задании для калькулятора р-ичных чисел и выделить состояния калькулятора, например: Start (Начальное), Editing (Ввод и редактирование), ExpDone (Выражение вычислено), FunDone (Функция выполнена), ValDone (Значение введено), OpChange (смена операрации), Error (ошибка);
2.построить таблицу состояний следующего вида (данные во вложении)
1.На основе таблицы состояний постройте таблицу переходов для калькулятора.
Диаграмма классов для Управления калькулятором р-ичных чисел представлено на рисунке ниже (см.вложение).
Содержание отчета
1.Задание.
2.Текст программы.
3.Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1.Что такое инкапсуляция?
2.Как синтаксически представлено поле в описании класса?
3.Как синтаксически представлен метод в описании класса?
4.Как синтаксически представлено простое свойство в описании класса?
5.Особенности описания методов класса?
6.Особенности описания и назначение конструктора класса?
7.Видимость идентификаторов в описании класса?
8.Особенности вызова методов применительно к объектам класса?
Дополнительная информация
Работа была зачтена с первого раза в 2014г.
Преподаватель: Зайцев М.Г.
Преподаватель: Зайцев М.Г.
Похожие материалы
Лабораторная работа №5 по Современные технологии программирования
zalexz95
: 17 октября 2017
Лабораторная работа. Параметризованный абстрактный тип данных «Процессор».
1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «Процессор», используя шаблон классов С++.
2. Протестировать тип данных.
Спецификация типа данных «Процессор».
ADT TProc
200 руб.
Современные технологии программирования. Лабораторная работа №5
bvv1975
: 26 января 2016
Управление калькулятором р-ичных чисел
1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием р-ичных чисел;
• управление выполнением операций, функций и выражений над р-ичны
20 руб.
Лабораторная работа №5. Современные технологии программирования
Lampa
: 14 января 2014
на тему «Управление калькулятором p-ичных чисел»
Задание
1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс
• Object Pascal, • С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TPNumber
выполнитьКомандуКалькулят
39 руб.
Современные технологии программирования Лабораторная работа №5. Вариант №7
Znich
: 3 июня 2018
Задание
1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TPNumber
выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String
в
150 руб.
Лабораторная работа №5 по дисциплине Современные технологии программирования
Некто
: 16 сентября 2018
Задание
1.Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс
Object Pascal,
С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
УправлениеКалькуляторомКомплексныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TComplex
выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String
100 руб.
Лабораторная работа №5 по предмету "Современные технологии программирования"
migsvet
: 19 октября 2014
1. Задание.
1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
100 руб.
Лабораторная работа № 5 по дисциплине "Современные технологии программирования"
1231233
: 23 января 2012
Задание:
1. Разработать и реализовать класс «Управление калькулятором простых дробей» тип TCtrl, используя Object Pascal, С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием простых дробей;
• управление выполнением операций, функций и выражений над простыми дробями;
• управление выполнением
23 руб.
Лабораторная работа №5. Современные технологии программирования. 20-й вариант
Despite
: 11 ноября 2015
Лаб 5.
Задание
1. Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
60 руб.
Другие работы
Подвеска. Вариант 13
lepris
: 6 сентября 2022
Подвеска. Вариант 13
Вычертить по заданным размерам плоскую деталь (задание 1 в метод.указаниях). Проставить размеры. Заполнить основную надпись. Тип документа чертеж, формат А4.
Чертеж (все на скриншотах показано и присутствует в архиве) сделано и открываются в компасе v13, компас v14, компас v15, компас v16, компас v17, компас v18, компас v19, компас v20, компас v21, компас v22 и выше версиях компаса.
Также открывать и просматривать, печатать чертежи и 3D-модели, выполненные в КОМПАСЕ можно
80 руб.
Теплотехника ТОГУ-ЦДОТ 2008 Задача 5 Вариант 89
Z24
: 23 января 2026
Определить индикаторную мощность Ni двухтактного двигателя внутреннего сгорания по его конструктивным параметрам и среднему индикаторному давлению. Значения диаметра цилиндра двигателя D, ход поршня s, угловую скорость коленчатого вала ω, число цилиндров z и среднее индикаторное давление pi выбрать из табл. 30.
150 руб.
Курсовая работа и Лабораторные работы №№1-3 по дисциплине: Программирование 2-я часть. Вариант №3
IT-STUDHELP
: 25 ноября 2021
1. Постановка комплекса задач
Задача: Разработать программу для создания и работы с двусвязным списком, состоящим из структур. Для работы со списком создать меню со следующими пунктами:
1. Создание списка.
2. Просмотр списка.
3. Добавление в список новой записи.
4. Поиск и корректировка записи в списке.
5. Удаление записи из списка.
6. Сохранение списка в файле.
7. Загрузка списка из файла.
8. Выход.
Структура содержит название книги, ф.и.о. автора, год издания. Удалять из списка издания с г
900 руб.
Средства для измерения линейных и угловых величин при обследовании зданий и сооружений
GnobYTEL
: 1 августа 2012
Здесь представлена презентация по теме "Средства для измерения линейных и угловых величин при обследовании зданий и сооружений". Презентация состоит из 22 слайдов. Рассмотрены приборы для линейных измерений, клинометры
(способы и приспособления для измерения углов), тензометры (приборы для измерения линейных деформаций), геодезические методы измерения. Оренбург, 2011.
20 руб.