Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 семестр / samostoiatelnaia-rabota-28

.pdf
Скачиваний:
0
Добавлен:
16.11.2025
Размер:
202.53 Кб
Скачать

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ» Кафедра информатики и процессов управления (№17)

Дисциплина «Информатика» (основной уровень), 2-й курс, 4-й семестр.

Задание для самостоятельной работы 28

Тема 28: Виртуальные методы и динамический полиморфизм.

Составить программу на языке Си++, в которой описана рациональная иерархия графических элементов для создания сцены в компьютерной графике. Графические элементы сцены представляют собой следующие фигуры на декартовой плоскости: точка,

окружность, эллипс, отрезок, ломаная, треугольник, квадрат, прямоугольник, ромб.

Для описанных классов реализовать возможности удобной работы с графическими элементами, описанные в следующей таблице.

Реализовано в решении

1

графический элемент (объект): точка

2

графический элемент (объект): окружность

3

графический элемент (объект): эллипс (главные оси параллельны координатным осям)

4

графический элемент (объект): отрезок прямой

5

графический элемент (объект): ломаная

6

графический элемент (объект): треугольник

7

графический элемент (объект): квадрат (стороны параллельны координатным осям)

8

графический элемент (объект): прямоугольник (стороны параллельны

 

координатным осям)

9

графический элемент (объект): ромб (диагонали параллельны координатным осям)

10

действие (метод объекта): поместить объект на сцену (с выводом

 

соответствующего текстового сообщения)

11

действие (метод объекта): убрать объект со сцены (с выводом соответствующего

 

текстового сообщения)

12

действие (метод объекта): переместить объект на новое место сцены (с выводом

 

соответствующего текстового сообщения)

13

действие (метод объекта): определить длину или периметр фигуры (для всех

 

геометрических элементов, кроме точки)

14

действие (метод объекта): определить площадь фигуры (для геометрических

 

элементов имеющих площадь)

15

действие (метод объекта): определить, принадлежит ли заданная точка внутренней

 

области фигуры (для геометрических элементов имеющих внутреннюю область)

16*

определить, каким фигурам, размещенным на сцене и имеющим внутреннюю

 

область, принадлежит заданная точка

17*

действия (методы объектов), описанные в пунктах 10, 11 и 12, выполняются не в

 

текстовом. а в графическом режиме (для оконного интерфейса и визуализации

 

графических элементов можно использовать любые из стандартных библиотек)

 

* - для получения максимального балла

При решении должны использоваться принципы инкапсуляции, наследования и полиморфизма в ООП. Также необходимо предусмотреть рациональную схему защиты классов, полей и методов (private/protected/public).

В программе должен содержаться код, создающий объекты и вызывающий каждый из реализованных методов для демонстрации их работы на одном или нескольких конкретных примерах.

При выполнении задания запрещено использовать стандартные средства и возможности сторонних библиотек (кроме стандартных математических функций и средств текстового ввода-вывода).

Соседние файлы в папке 4 семестр