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