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