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

material.view.file_icon
material.view.file_icon
material.view.file_icon Отчет.doc
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
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

1. Задание.
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)
конструктор
деструктор
Обязанность:
управление выполнением команд калькулятора
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;
• «число» - объект типа TPNumber (результат выполнения последней команды).
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. построить таблицу состояний следующего вида:


Состояние калькулятора:    Start (Начальное – после запуска приложения или выполнения команды С)
Вход (команда пользователя) Результирующее состояние Действия Примечание
Команды ввода и редактирования  Editing Изменение состояния редактируемой строки. (Вызов редактора). 
Операция (Op) Start Введённая операция становится текущей. 
Функция (Fun) Start Действия отсутствуют. 
 Error  
Команды памяти  Start Действия отсутствуют. 
Команды буфера обмена  Start Действия отсутствуют. 
Вычислить (=) Start Действия отсутствуют. 
Новое выражение (С) Start Действия отсутствуют. 

Состояние калькулятора:    Editing (Редактирование)
Вход (команда пользователя) Результирующее состояние Действия Примечание
Команды ввода и редактирования    
Операция (Op)   
   
Функция (Fun)   
   
Взять из памяти (MR), (MS),(M+)   
Вставить из буфера обмена, Копировать в буфер обмена   
Вычислить (=)   
   
Новое выражение (С)   


Состояние калькулятора:    OpChange (смена операрации)
Вход (команда пользователя) Результирующее состояние Действия Примечание
Команды ввода и редактирования    
Операция (Op)   
Функция (Fun)   
   
Взять из памяти (MR)   
Вставить из буфера обмена   
Вычислить (=)   
   
Новое выражение (С)   

Состояние калькулятора:    ExpDone (Выражение вычислено)
Вход (команда пользователя) Результирующее состояние Действия Примечание
Команды ввода и редактирования    
Операция (Op)   
Функция (Fun)   
   
Взять из памяти (MR)   
Копировать из буфера обмена (MR)   
(MS),(MC),(M+), Вставить в буфер обмена   
Вычислить (=)   
   
Новое выражение (С)   

Состояние калькулятора:    FunDone (Функция вычислена),)
Вход (команда пользователя) Результирующее состояние Действия Примечание
Команды ввода и редактирования    
Операция (Op)   
   
Функция (Fun)   
   
Взять из памяти (MR)   
Копировать из буфера обмена (MR)   
(MS),(MC),(M+), Вставить в буфер обмена   
Вычислить (=)   
   
Новое выражение (С)   

Состояние калькулятора:    ValDone (Значение введено)
Вход (команда пользователя) Результирующее состояние Действия Примечание
Команды ввода и редактирования    
Операция (Op)   
   
Функция (Fun)   
   
Взять из памяти (MR)   
Копировать из буфера обмена (MR)   
(MS),(MC),(M+), Вставить в буфер обмена   
Вычислить (=)   
   
Новое выражение (С)   
3. На основе таблицы состояний постройте таблицу переходов для калькулятора.
Диаграмма классов для Управления калькулятором р-ичных чисел представлено на рисунке ниже.

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

Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Современные технологии программирования
Вид работы: Лабораторная работа 5
Оценка:Зачет
Дата оценки: 09.03.2017
Рецензия:Уважаемый Матов Денис Сергеевич,

Зайцев Михаил Георгиевич
Лабораторная работа №5 по информатике. 3-й семестр. 8-й вариант
Лабораторная работа №5 Словарные коды Порядок выполнения работы Изучить теоретический материал гл. 8 Закодировать словарным кодом с использованием адаптивного словаря текст на английском языке, текст на русском языке и текст программы на языке С (использовать файлы не менее 1 Кб). Вычислить коэффициенты сжатия данных как процентное отношение длины закодированного файла к длине исходного файла, построить таблицу вида: Размер исходного файла Коэффициент сжатия данных Текст на английском язык
User Nikolay80 : 24 января 2015
70 руб.
Информатика. Лабораторная работа № 5. 4-й вариант. 2-й семестр
Лабораторная работа No 5 Обработка двумерных массивов Цель работы: Получить навыки разработки алгоритмов и программ для обработки матриц. Задание к лабораторной работе: Вар.4 Дана действительная квадратная матрица А размера n n. Определить наименьший элемент матрицы среди положительных и номера строки и столбца, на пересечении которых элемент находится.
User rukand : 26 февраля 2013
75 руб.
Лабораторная работа №5. 1-й семестр. Вариант №7.
"Обработка двумерных массивов" Вариант №7. Дана действительная квадратная матрица А размера n х n. Вычислить суммы элементов матрицы, имеющих четные и нечетные индексы отдельно.
User Eva : 16 апреля 2015
50 руб.
Вычислительная математика. Лабораторная работа №5. 3-й семестр. 8-й вариант
Вычислительная математика Лабораторная работа No5. Одномерная оптимизация Написать программу для нахождения максимального значения функции на отрезке [0, 0.5] методом золотого сечения с точностью 0.0001. Считается, что требуемая точность достигнута, если выполняется условие , (e – заданная точность, ak, bk – границы интервала неопределенности, k = 0,1,2,1⁄4 ), при этом, , N – последняя цифра пароля.
User Nikolay80 : 24 января 2015
70 руб.
Лабораторная работа № 5. Программирование. 2-й семестр. Вариант № 10
5. Структура имеет вид: фамилия, количество вещей, общий вес. Удалите из файла сведения о багаже, общий вес вещей в котором меньше, чем 10 кг. * При обмене введите промежуточную переменную типа структура.
User Despite : 14 мая 2015
60 руб.
promo
Лабораторная работа № 5 по информатике, 2-й семестр, вариант №1
Обработка двумерных массивов Цель работы: Получить навыки разработки алгоритмов и программ для обработки матриц. Задание к лабораторной работе: Дана действительная квадратная матрица А размера n n. Вычислить наибольший элемент матрицы среди элементов с четными значениями и номера строки и столбца, на пересечении которых элемент находится.
User Azeke3005 : 18 апреля 2012
100 руб.
Представление графической информации. Лабораторная работа №5. 7-й семестр. 21-й вариант
Тема: Работа с PCX файлами. Вариант: 21 Рисунок в программе следует заменить на свой, аналогичным размером Задание Вывести на экpан 256-цветный PCX файл с помощью библиотеки wingraph.h.
User oksana : 11 февраля 2016
200 руб.
Лабораторные работы(все 5) и контрольная. 2-й семестр. 3-й Вариант
В архиве 5 лабораторных работ + контрольная работа 3 варианта. язык qbasic Зачет 2018 год.
User BuP4uk : 1 мая 2018
200 руб.
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО 2024 год Ответы на 20 вопросов Результат – 100 баллов С вопросами вы можете ознакомиться до покупки ВОПРОСЫ: 1. We have … to an agreement 2. Our senses are … a great role in non-verbal communication 3. Saving time at business communication leads to … results in work 4. Conducting negotiations with foreigners we shoul
User mosintacd : 28 июня 2024
150 руб.
promo
Задание №2. Методы управления образовательными учреждениями
Практическое задание 2 Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности. Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
User studypro : 13 октября 2016
200 руб.
Особенности бюджетного финансирования
Содержание: Введение Теоретические основы бюджетного финансирования Понятие и сущность бюджетного финансирования Характеристика основных форм бюджетного финансирования Анализ бюджетного финансирования образования Понятие и источники бюджетного финансирования образования Проблемы бюджетного финансирования образования Основные направления совершенствования бюджетного финансирования образования Заключение Список использованный литературы Цель курсовой работы – исследовать особенности бюджетного фин
User Aronitue9 : 24 августа 2012
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
ЗАЧЕТ по дисциплине “Программирование (часть 1)” Билет 2 Определить значение переменной y после работы следующего фрагмента программы: a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a; if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end; if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
User sibsutisru : 3 сентября 2021
200 руб.
Программирование (часть 1-я). Зачёт. Билет №2
up Наверх