Современные технологии программирования. Лабораторная работа №5. Вариант: 8

Цена:
300 руб.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon UControl.pas
material.view.file_icon UEditor.pas
material.view.file_icon UMemory.pas
material.view.file_icon UPNumber.pas
material.view.file_icon UProc.pas
material.view.file_icon Отчет.doc
Работа представляет собой 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.Особенности вызова методов применительно к объектам класса?

Дополнительная информация

Работа была зачтена с первого раза в 2014г.
Преподаватель: Зайцев М.Г.
Лабораторная работа №5 по Современные технологии программирования
Лабораторная работа. Параметризованный абстрактный тип данных «Процессор». 1. В соответствии с приведенной ниже спецификацией реализовать параметризованный абстрактный тип данных «Процессор», используя шаблон классов С++. 2. Протестировать тип данных. Спецификация типа данных «Процессор». ADT TProc
User zalexz95 : 17 октября 2017
200 руб.
Лабораторная работа №5 по Современные технологии программирования
Современные технологии программирования. Лабораторная работа №5
Управление калькулятором р-ичных чисел 1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс • Object Pascal, • С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом: 2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать: • управление вводом и редактированием р-ичных чисел; • управление выполнением операций, функций и выражений над р-ичны
User bvv1975 : 26 января 2016
20 руб.
Лабораторная работа №5. Современные технологии программирования
на тему «Управление калькулятором p-ичных чисел» Задание 1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс • Object Pascal, • С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом: УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl) состояниеКалькулятора: TCtrlState редактор: TEditor процессор: TProc память: TMemory число: TPNumber выполнитьКомандуКалькулят
User Lampa : 14 января 2014
39 руб.
Лабораторная работа №5 по дисциплине Современные технологии программирования
Задание 1.Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс Object Pascal, С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом: УправлениеКалькуляторомКомплексныхЧисел (тип TCtrl) состояниеКалькулятора: TCtrlState редактор: TEditor процессор: TProc память: TMemory число: TComplex выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String
User Некто : 16 сентября 2018
100 руб.
Лабораторная работа №5 по предмету "Современные технологии программирования"
1. Задание. 1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс • Object Pascal, • С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом:
User migsvet : 19 октября 2014
100 руб.
Лабораторная работа № 5 по дисциплине "Современные технологии программирования"
Задание: 1. Разработать и реализовать класс «Управление калькулятором простых дробей» тип TCtrl, используя Object Pascal, С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом: 2. Класс должен отвечать за управление выполнением команд калькулятора. Класс должен обеспечивать: • управление вводом и редактированием простых дробей; • управление выполнением операций, функций и выражений над простыми дробями; • управление выполнением
User 1231233 : 23 января 2012
23 руб.
Современные технологии программирования Лабораторная работа №5. Вариант №7
Задание 1. Разработать и реализовать класс «Управление калькулятором р-ичных чисел» тип TCtrl, используя класс • Object Pascal, • С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно описатьть следующим образом: УправлениеКалькуляторомР-ичныхЧисел (тип TCtrl) состояниеКалькулятора: TCtrlState редактор: TEditor процессор: TProc память: TMemory число: TPNumber выполнитьКомандуКалькулятора(a: Integer; var b, MState: String): String в
User Znich : 3 июня 2018
150 руб.
Лабораторная работа №5. Современные технологии программирования. 20-й вариант
Лаб 5. Задание 1. Разработать и реализовать класс «Управление калькулятором комплексных чисел» тип TCtrl, используя класс • Object Pascal, • С++. На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
User Despite : 11 ноября 2015
60 руб.
Бруй Л.П. Техническая термодинамика и теплопередача ТОГУ Задача 5 Вариант 26
Определить потерю теплоты одним погонным метром стального паропровода с наружным диаметром 100 мм в результате лучистого теплообмена. Паропровод расположен в кирпичном канале, имеющем поперечное сечение 300×300 мм. Температуру наружной поверхности паропровода t1 и внутренней поверхности стенок канала t2 принять из табл. 3. Степень черноты окисленной стали и красного кирпича см. в. приложении 1. В конце задачи следует ответить письменно на следующие вопросы: 1. Что называется степенью черно
User Z24 : 14 января 2026
180 руб.
Бруй Л.П. Техническая термодинамика и теплопередача ТОГУ Задача 5 Вариант 26
Кнопка кратковременной подачи электрических сигналов 02.45.00.00
Кнопка кратковременной подачи электрических сигналов 02.45.00.00 Кнопка применяется в электрических цепях с кратковременной подачей электрических сигналов. Она состоит из корпуса 8, секции 7, крышки 6, толкателя 3, замыкателя 2, пружин 5 и 9, клемм 1 в виде лепестков с контактами, кнопки 4 и винтов 10. Внутри пластмассового замыкателя 2 находится стальная (Ст3) пластина, на выступах который расположены медные контакты. Такие же контакты закреплены на лепестках клемм 1. Контакты изготовлены из
User lepris : 1 апреля 2022
800 руб.
Кнопка кратковременной подачи электрических сигналов 02.45.00.00
Механика жидкости и газа СПбГАСУ 2014 Задача 9 Вариант 86
Трубопровод, питаемый от водонапорной башни, имеет участок AB с параллельным соединением труб, длины которых l1 = (400 + 5·y) м, l2 = (200 + 2·z) м, l3 = (300 + 5·y) м. Длина участка BC l4 = (500 + 4·z) м. Диаметры ветвей трубопровода: d1 мм, d2 = d3 мм, d4 мм. Трубы стальные. Напор в конце трубопровода, в точке C, НС = 10 м. Расход в третьей ветви Q3 = (30 + 0,1·z) л/с. Определить расходы на участках 1, 2 и BC и пьезометрический напор в точке A НA (рис. 9).
User Z24 : 2 января 2026
250 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 9 Вариант 86
Лабораторные работы №1-3 по дисциплине: Программные средства обработки информации. Вариант 01
Лабораторная работа №1 ВВЕДЕНИЕ В ПАКЕТ MATHCAD Цель работы: Познакомиться с Mathcad. Изучить основные вычислительные возможности пакета. Задание 1 Задать переменные х и у и вычислить значение арифметического выражения: Задание 2 Создать функцию C, вычислить ее значения и показать их на графике, t=0.5, a изменяется от 2 до 5 с шагом 0.5. Задание 3 Создать матрицы P и произвести операции: • выбрать столбцы матрицы P в отдельные вектора; • вычислить определитель матрицы P. Если какие-то операц
User xtrail : 22 июля 2024
1300 руб.
Лабораторные работы №1-3 по дисциплине: Программные средства обработки информации. Вариант 01 promo
up Наверх