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