- •Оглавление
- •Общие требования ко всем лабораторным работам.
- •Лабораторная работа 1. «Объекты и Классы»
- •Лабораторная работа 2. «Кнопки и Формы»
- •Лабораторная работа 3. «Хранилище»
- •Лабораторная работа 4. «Круги на форме»
- •Лабораторная работа 5. «Виртуальность»
- •Лабораторная работа 6. «Визуальный редактор»
- •Лабораторная работа 7. «Группировка и сохранение»
- •Лабораторная работа 8. «Дерево объектов»
Лабораторная работа 2. «Кнопки и Формы»
Тип приложения: GUI; язык: без ограничений.
Создание простейшего приложения с графическим интерфейсом пользователя (GUI) в любой среде (Visual Studio - Windows Forms Application; C++ Builder - VCL Application).
Создание простейшего приложения с GUI
форма
меню, пункты меню
добавлять на форму разнообразные стандартные объекты и изучать их свойства, влияющие на внешний вид и поведение
Управление простейшими событиями (при происходящих событиях должна появляться какая-либо реакция приложения, позволяющая понять, что событие произошло)
нажатие мыши
выбор пункта меню
нажатие клавиши
перерисовка
Управление событиями, влияние объектов друг на друга (при каком-либо событии, связанным с одним объектом, должно что-то меняться в другом объекте)
Динамическое создание и уничтожение объектов интерфейса:
создание элементов интерфейса как реакция на события: при нажатии мышкой на любое место на форме, должен создаваться объект любого типового класса (например, кнопка).
В рамках лабораторной работы необходимо изучить (знать, для каких целей используются и как работают) все стандартные элементы управления:
В случае Visual Studio - Windows Forms Application: все компоненты с закладок «Стандартные элементы управления», «Контейнеры».
В случае C++ Builder - VCL Application: все компоненты с закладок «Standard», «Additional», «Win32», «System».
Лабораторная работа 3. «Хранилище»
Тип приложения: консольное; язык: без ограничений.
Определение и реализация класса хранилища разнообразных объектов (принадлежащих различным классам, имеющим общего предка), и написание программы, иллюстрирующей использование хранилища.
Функции хранилища объектов
добавление объектов
удаление объектов
переход по объектам (текущий, предыдущий, последующий, проверка наличия)
получение очередного объекта из хранилища
поочередное обращение к каждому объекту хранилища; вызов функций, реализуемых всеми классами объектов хранилища
Хранилище должно представлять собой объект, создаваемый и используемый в основной программе. Хранилище должно вести себя или как массив, или как список (на выбор студента). Основная программа должна демонстрировать использование основных функций хранилища.
Если хранилище представляет собой массив, то работа с ним в основной программе должна выглядеть примерно так:
// создаем хранилище
MyStorage storage(10);
// добавляем в него объекты
for (int i=0; i<storage.getCount(); i++)
storage.setObject(i, new SomeObject());
// обращаемся поочередно ко всем
for (int i=0; i<storage.getCount(); i++)
storage.getObject(i).someMethod();
Если хранилище представляет собой список, то работа с ним в основной программе должна выглядеть примерно так:
// создаем хранилище
MyStorage storage();
// добавляем в него объекты
for (int i=0; i<10; i++)
storage.add(new SomeObject());
// обращаемся поочередно ко всем
for (storage.first(); !storage.eol(); storage.next())
storage.getObject().someMethod();
Хранилище должно позволять добавлять, удалять объекты в случайной последовательности, корректно обрабатывать подсчет текущего количества объектов в хранилище (с учетом возможных «пустых мест» после удаления каких-то объектов) и динамически увеличивать свой размер, если добавляется больше объектов, чем было предусмотрено изначально.
