Лабораторная работа №5
Панель управления калькулятором
Цель
Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования С++.
Задание
1. Разработать и реализовать класс «Панель управления калькулятором» тип TClcPnl наследник TForm, используя С++.
На Унифицированном языке моделирования UML (Unified Modeling Language) наш класс можно обозначить следующим образом:
ПанельУправленияКалькулятором |
строкаЧисло: TStaticText |
состояниеПамяти: TStaticText |
кнопки ввода: TBitButton |
FormCreate(Sender: TObject) |
ButtonClick(Sender: TObject) |
FormKeyPress(Sender: TObject; var Key: Char) |
Методы для обработки команд меню |
Обязанность: Обеспечить пользователю возможность управления калькулятором через клавиатуру и командные кнопки для выполнения вычислений |
2. Класс должен отвечать:
2.1. за ввод:
команд редактирования,
команд памяти,
команд процессора;
2.2. отображение:
вводимого числа,
результата вычисления,
состояния памяти;
2.3. класс должен обеспечить возможность:
ввода перечисленных команд с помощью командных кнопок и клавиатуры;
выполнение команд для работы с буфером обмена:
копировать,
вставить;
настройки на в зависимости от варианта- типа чисел, обрабатываемых калькулятором.
3. Протестировать каждый метод класса.
Рекомендации к выполнению
1. Класс TClcPnl реализуйте в отдельном модуле UClcPnl.
2. Панель управления реализуйте как форму.
3. В классе формы используйте следующие визуальные компоненты:
для отображения строки - простых дробей и состояния памяти- компоненты типа TStaticText;
для ввода символов и выполняемых операций - компоненты типа TBitButton;
для выбора команд при работе с буфером обмена, настройки параметра режима работы (действительное, комплексное), вызова справки вставьте главное меню: Правка с подменю: Копировать, Вставить; Вид с подменю: Целое, Целое и дробь; Справка – компонент класса TMainMenu.
4. В классе формы опишите следующие событийные процедуры:
«создание формы» CreateForm для создания объекта TClcCtrl и инициализации компонента отображения строки ввода/вывода;
«нажатие кнопки» (ButtonClick) - для преобразования нажатия кнопки в соответствующее целое число и вызова метода «выполнить команду калькулятора» объекта TClcCtrl;
«нажатие клавиши на клавиатуре» (FormKeyPress) - для преобразования нажатия клавиши в соответствующее целое число и вызова метода «выполнить команду калькулятора» объекта TClcCtrl;
методы для обработки команд меню.
Содержание отчета
Задание.
Текст программы.
Тестовые наборы данных для тестирования класса.
Контрольные вопросы
В чём сущность отношения зависимости между классами?
Как изображается отношение зависимости между классами на языке UML?
В чём сущность отношения обобщения между классами?
Как изображается отношение обобщения между классами на языке UML?
Назовите основные принципы построения объектно-ориентированной модели?
Назовите основные элементы объектно-ориентированной модели?
