Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод рекомендации АЯ 2 семестр2.docx
Скачиваний:
113
Добавлен:
23.03.2016
Размер:
1.14 Mб
Скачать

Варианты заданий для лабораторной работы № 5

Создать абстрактный класс- «геометрическая фигура» (на экране). Класс содержит следующие поля: координаты геометрического центра фигуры на экране; поле, задающее размер фигуры (например, расстояние от центра до вершины или радиус окружности в пикселях); поле, задающее угловое положение фигуры; поле, задающее угловую скорость вращения фигуры; поле, определяющее направление движения (возможно два варианта: движение по вертикали и движение по горизонтали); поле, определяющее скорость движения; поле, определяющее цвет фигуры; поле, содержащее хэндл окна для рисования; при необходимости можно включить другие поля. Класс включает: конструктор для инициализации полей, функцию, изменяющую угловое положение фигуры и положение на экране во время движения за один такт времени, и чистую виртуальную функцию (или функции) для рисования и стирания фигуры на экране.

На основе абстрактного класса «фигура» разработать три производных класса, задающих геометрические фигуры своего варианта, номера фигур представлены в таблице А.2. Создать несколько объектов каждого из трех классов (не менее трех) для этого использовать один массив указателей типа базового класса «фигура». Реализуя механизм полиморфизма, привести объекты классов в одновременное вращение вокруг их центров с различными угловыми скоростями и в движение с отскоком от краев окна в заданном режиме (по горизонтали или по вертикали). При этом использовать обработку сообщений от таймера. Таймер периодически с интервалом несколько миллисекунд генерирует сообщение, при обработке сообщения стирается старая фигура и рисуется новая на новом месте.

Геометрические фигуры:

  1. Отрезок (линия).

  2. Окружность с вырезанной четвертью.

  3. Правильный многоугольник (число вершин- поле класса).

  4. Ромб (не квадрат).

  5. Прямоугольник (не квадрат).

  6. Равнобедренный прямоугольный треугольник.

  7. Параллелограмм, не являющийся ромбом или прямоугольником.

Таблица А.2 – Номера фигур для вариантов

№ варианта

Номера фигур

№ варианта

Номера фигур

1

1, 2, 3

15

1, 6, 7

2

1, 2, 4

16

2, 3, 4

3

1, 2, 5

17

2, 3, 5

4

1, 2, 6

18

2, 3, 6

5

1, 2, 7

19

2, 3, 7

6

1, 3, 4

20

2, 4, 5

7

1, 3, 5

21

2, 4, 6

8

1, 3, 6

22

2, 4, 7

9

1, 3, 7

23

3, 4, 5

10

1, 4, 5

24

3, 4, 6

11

1, 4, 6

25

3, 4, 7

12

1, 4, 7

26

3, 5, 6

13

1, 5, 6

27

3, 5, 7

14

1, 5, 7

28

3, 6, 7

Варианты заданий для лабораторной работы № 6

Часть I

Программу, разработанную в лабораторной работе № 5 преобразовать следующим образом: для обеспечения движения геометрических фигур в окне вместо таймера использовать потоки. Для каждой геометрической фигуры использовать свой поток. Потоковая функция должна быть одна, в качестве параметра в потоковую функцию передается указатель на объект «Фигура». При необходимости использовать синхронизацию.