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