Современные технологии программирования. Лабораторная работа №5. Для вариантов №№17-24.
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1. Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
УправлениеКалькуляторомКомплексныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TComplex
выполнитьКомандуКалькулятора(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. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием комплексных чисел;
• управление выполнением операций, функций и выражений над комплексными числами;
• управление выполнением операций по работе с памятью, объёмом в одно значение типа комплексное число;
• управление работой с системным буфером обмена.
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;
• «число» - объект типа TComplex (результат выполнения последней команды).
4. Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции:
• «выполнитьКомандуКалькулятора» (управляет вызовом операций по работе с объектами: редактор (поле 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. построить таблицу состояний следующего вида:
3. На основе таблицы состояний постройте таблицу переходов для калькулятора.
Диаграмма классов для Управления калькулятором комплексных чисел представлено на рисунке ниже.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1. Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс
• Object Pascal,
• С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
УправлениеКалькуляторомКомплексныхЧисел (тип TCtrl)
состояниеКалькулятора: TCtrlState
редактор: TEditor
процессор: TProc
память: TMemory
число: TComplex
выполнитьКомандуКалькулятора(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. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать:
• управление вводом и редактированием комплексных чисел;
• управление выполнением операций, функций и выражений над комплексными числами;
• управление выполнением операций по работе с памятью, объёмом в одно значение типа комплексное число;
• управление работой с системным буфером обмена.
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;
• «число» - объект типа TComplex (результат выполнения последней команды).
4. Набор основных операций класса определяется набором команд калькулятора, заданных пользователем. Кроме того, в классе будут определены вспомогательные операции, обеспечивающие реализацию основных операций. В классе опишите следующие операции:
• «выполнитьКомандуКалькулятора» (управляет вызовом операций по работе с объектами: редактор (поле 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. построить таблицу состояний следующего вида:
3. На основе таблицы состояний постройте таблицу переходов для калькулятора.
Диаграмма классов для Управления калькулятором комплексных чисел представлено на рисунке ниже.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Дополнительная информация
Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Современные технологии программирования
Вид работы: Лабораторная работа 5
Оценка:Зачет
Дата оценки: 03.02.2015
Рецензия:Уважаемая
Зайцев Михаил Георгиевич
Оценена Ваша работа по предмету: Современные технологии программирования
Вид работы: Лабораторная работа 5
Оценка:Зачет
Дата оценки: 03.02.2015
Рецензия:Уважаемая
Зайцев Михаил Георгиевич
Похожие материалы
Лабораторная работа №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. Вариант: 8
Shamrock
: 1 февраля 2015
Лабораторная работа No5. Управление калькулятором р-ичных чисел
Тема: Классы Object Pascal, С++
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования Object Pascal, С++.
Задание
1.Разработать и реализовать класс “Управление калькулятором р-ичных чисел” тип TCtrl, используя класс
•Object Pascal,
•С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
УправлениеКалькулято
300 руб.
Другие работы
Метрология, стандартизация и сертификация. 5 семестр. Лабораторная 2. Вариант 23.
skaser
: 23 января 2012
1. Цель работы.
1.1. Изучить методы поддержания единства измерений.
1.2. Изучить способы нормирования погрешностей средств измерений.
1.3. Изучить методику обработки результатов измерений с многократными наблюдениями.
1.4. Приобрести практические навыки измерения напряжения аналоговыми вольтметрами.
1.5. Освоить методику оценки случайной составляющей погрешности (неопределенности) средств измерений.
1.6. Приобрести навыки оценки погрешности средств измерений по метрологическим характеристикам.
55 руб.
Контрольная работа по дисциплине: АФУ СВЧ диапазона. Вариант: № 02
sd80
: 5 октября 2013
Задача 1
Линейная антенная решетка состоит из ненаправленных (изотропных) излучателей, которые расположены на расстоянии друг от друга. Излучатели питаются синфазными токами одинаковой амплитуды.
Исходные данные:
Вариант 02 – M=0, W=2
Задача 2
Пирамидальная рупорная антенна (рисунок 2.1) имеет оптимальную длину и возбуждается прямоугольным волноводом на частоте . Ширина диаграммы направленности в плоскостях E и H одинакова, а коэффициент направленного действия равен .
Исходные данные: М=0
240 руб.
Контрольная работа 07 вариант - Расшифровать вышеприведенные сообщения управляющего протокола
Andatra6699
: 7 апреля 2025
Задание
Расшифровать вышеприведенные сообщения управляющего протокола, в соответствии с поставленными ниже в пп. 1…18 вопросами.
1. Фирму-поставщика оборудования сетевых интерфейсов
2. MAC-адреса источника и назначения
3. Тип протокола, обслуживаемого данным Ethernet-кадром
4. Версию протокола сетевого уровня
5. Приоритет сетевого уровня для данной дейтаграммы
6. Длину пакета сетевого уровня (в байтах)
7. Время жизни данной дейтаграммы
8. Протокол транспортного уровня (Dec’код и название)
9. Се
500 руб.
Контрольная работа по дисциплине: Программирование мобильных устройств (часть 1). Вариант общий
SibGOODy
: 18 августа 2023
Тест
1. Какие свойства соответствуют Android
- Кроссплатформенность;
- Высокая защищенность;
- Является бесплатной;
- Отсутствие вредоносных программ, выполняемых на базе данной операционной системы;
- Является потоковонебезопасной.
2. Назначение класса Intent.
- Обмен запросов с ОС;
- Инициализация средств OpenGL;
- Сохранение состояние приложения.
3. Если интерфейс приложения подвис более чем на 5 секунд то произойдет
- Ничего не произойдет;
- Появится сообщение Application not Responded (с
200 руб.