
Задания 2014 ООП / Домашние задания / ООП_DZ04
.docДомашние задания. Вариант 4
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле. Класс, позволяющий рисовать линию некоторого размера и заданного направления из точки, определенной нажатием левой клавиши мыши. Класс, позволяющий рисовать такую же линию, но со стрелкой.
Вид линии определяется по положению радиокнопки, а все необходимые параметры, задаются специальными элементами TEdit.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию.
Часть
1.2. Разработать
программу, содержащую описание трех
графических объектов:
окружность с вырезанной четвертью, эллипс, два эллипса
Реализуя механизм полиморфизма, привести объекты в одновременное вращение вокруг их геометрических центров с различными угловыми скоростями.
Задание 2. С++.
Часть 2.1. Функции.
Существует гипотеза Симона о факториале. Она гласит, что существует 4 факториала, которые представимы в виде произведения трех последовательных чисел. Например: 4!=2*3*4. Написать программу, определяющую эту четверку, подсчитать действительное количество таких факториалов, если это возможно и тем самым доказать неправильность гипотезы. Вывести на печать результаты расчетов.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Каждая строка состоит из слов, разделенных пробелами. Написать программу, обеспечивающую ввод строк и их корректировку. Корректировка заключается в следующем: если среди слов строки обнаруживаются слова, заключенные в символ #, заменить их словами, введенными с клавиатуры. Вывести на печать исходную и скорректированную последовательности строк.
Часть 2.3. Файлы.
Организовать программным способом текстовый файл F, компоненты которого являются строками, содержащими до 10 символов. Переписать в файл G все компоненты файла F с заменой символов a,b,c в каждой строке на символы d,e,f.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной о механизмы наследования и композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны:
объект вещественное число, умеющий печатать свое значение и отвечать на запрос о значении своего числового поля, целой и дробной частей этого поля;
объект массив вещественных чисел, умеющий выводить на печать значение своих элементов, возвращать значение любого элемента по его индексу, возвращать среднее арифметическое целых и дробных частей его элементов, а также определять элемент с минимальным и максимальным значением дробной части.
Часть 3.2. Qt. Полиморфное наследование.
Разработать программу, содержащую описание трех графических объектов:
окружность с вырезанной четвертью, эллипс, два эллипса (см. выше).
Реализуя механизм полиморфизма, привести объекты в одновременное вращение вокруг их геометрических центров с различными угловыми скоростями.