
Задания 2014 ООП / Домашние задания / ООП_DZ10
.docДомашние задания. Вариант 10
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле. Родитель - класс, позволяющий рисовать окружность некоторого размера с центром в точке, определенной нажатием левой клавиши мыши. Потомок - класс, позволяющий рисовать окружность того же размера с центром в точке, определенной нажатием правой клавиши мыши, и соединять ее с предыдущей окружностью линией.
Параметры задаются с использованием интерфейсных элементов.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния интерфейса и объектную декомпозицию.
Часть
1.2. Разработать
программу, содержащую описание трех
графических объектов: эллипс, эллипс с
окружностью, два эллипса
Реализуя механизм полиморфизма, привести объекты в одновременное движение по экрану с отражением от его границ (угол падения равен углу отражения).
Задание 2. С++.
Часть 2.1. Функции.
Дана целочисленная матрица размером n на m, в которой имеется ровно два одинаковых элемента. Написать программу, определяющую индексы этих элементов. При программировании использовать функцию.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Каждая строка состоит из групп букв, цифр и знаков +,-,*. Группой букв называется группа, которой не предшествует и за которой не следует буква. Группой цифр называется группа, которой не предшествует и за которой не следует цифра. Группой знаков называется группа, которой не предшествует и за которой не следует знак. Написать программу, определяющую в каждой строке количество групп букв. Если таких групп не менее 2-х, то каждый знак «+», встречающийся между группами букв заменяется на цифру 1, знак «-» на цифру 2, а знак «*» на цифру 3. Иначе оставить текст без изменения. Вывести на печать исходную и скорректированную последовательности строк.
Часть 2.3. Файлы.
Дан текстовый файл F. Переписать строки файла F в файл G, вставляя в начало каждой строки по одному пробелу. Порядок строк должен быть сохранен.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизмы наследования и композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны:
Объект целое число, умеющий печатать свое значение и отвечать на запрос о значении своего числового поля.
Объект массив целых чисел переменной длины, размер которого определяется в процессе инициализации и для хранения длины используется специальное поле. Объект умеет выводить на печать значение своих элементов, возвращать размер массива, значение любого элемента по его индексу, сумму элементов, минимальное и максимальное значение элементов.
Часть 3.2. Qt. Полиморфное наследование.
Разработать программу, содержащую описание трех графических объектов: эллипс, эллипс с окружностью, два эллипса (см. выше).
Реализуя механизм полиморфизма, привести объекты в одновременное движение по экрану с отражением от его границ (угол падения равен углу отражения).