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