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