Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание к лаб.работам.docx
Скачиваний:
10
Добавлен:
01.05.2025
Размер:
132 Кб
Скачать
☆

Лабораторная работа №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;

  • методы для обработки команд меню.

Содержание отчета

  1. Задание.

  2. Текст программы.

  3. Тестовые наборы данных для тестирования класса.

Контрольные вопросы

  1. В чём сущность отношения зависимости между классами?

  2. Как изображается отношение зависимости между классами на языке UML?

  3. В чём сущность отношения обобщения между классами?

  4. Как изображается отношение обобщения между классами на языке UML?

  5. Назовите основные принципы построения объектно-ориентированной модели?

  6. Назовите основные элементы объектно-ориентированной модели?