Современные технологии программирования. Лабораторная работа №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 по дисциплине Современные технологии программирования
Некто
: 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. Вариант №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. Современные технологии программирования. 20-й вариант
Despite
: 11 ноября 2015
Лаб 5.
Задание
1. Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
60 руб.
Другие работы
Термодинамика и теплопередача СамГУПС 2012 Задача 44 Вариант 1
Z24
: 14 ноября 2025
Голый металлический провод диаметром d=4 мм имеет температуру поверхности tст=95 ºС. Активное электрическое сопротивление провода r=4·10³ Ом/м. Коэффициент теплоотдачи от поверхности провода к окружающему воздуху α. Температура воздуха tв. Какой будет температура поверхности этого провода tст под слоем изоляции толщиной δ=3 мм с коэффициентом теплопроводности λ при неизменном токе и прочих равных условиях? Определить также максимальное значение тока в изолированном проводе, если первоначальную т
150 руб.
Синтез, анализ зубчатого механизма и профилирование зацепления
Рики-Тики-Та
: 26 января 2012
Содержание.
2.1. Введение 3
2.2. Разбивка передаточного отношения по ступеням 5
2.3. Подбор зубьев планетарной части механизма 5
2.4. Подбор чисел зубьев зубчатых колес рядовой части 6
2.5. Геометрический расчёт внешнего эвольвентного зацепления 7
2.6. Расчёт качественных показателей зацепления 10
55 руб.
Основы построения телекоммуникационных систем и сетей. Лабораторная работа 1. Вариант 13.
Mental03
: 8 ноября 2017
Лабораторная работа 1 по дисциплине основы построения телекоммуникационных систем и сетей. Вариант 13.
Эффективное кодирование на примере кода Хаффмена
Цель работы:
Изучение принципа эффективного кодирования источника дискретных сообщений.
Вариант для построения кода определяется по последней цифре пароля. Вариант 3.
Исходные данные:
Знак a1 a2 a3 a4 a5 a6 a7
pi 0,04 0,17 0,14 0,26 0,10 0,11 0,18
Содержание :
1. Равномерный двоичный код:
2. Определение средней длины сообщения при передаче
Лабы+практика+решение задач+ответы задачника по ЭПУС
Александр38
: 29 сентября 2017
Предлагается ПОЛНОСТЬЮ готовый пакет по "ЭПУСТ" -электропитание устройств систем телекоммуникаций!
Лабы: сделанные схемы на компьютере, которые нужно делать в кабинете! Смотрите всё на фото
6 задач практик полностью решенных! Выходи к доске, решай и получай халявные баллы!
.....и много чего полезного!
350 руб.