
Задания 2014 ООП / Домашние задания / ООП_DZ05
.docДомашние задания. Вариант 5
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле. Класс, позволяющий рисовать линию из точки, определенной нажатием левой клавиши мыши, в точку, определенную отжатием левой клавиши мыши. Класс, позволяющий рисовать эллипс некоторого размера с центром в точке, определенной нажатием правой клавиши мыши.
Параметры задаются с использованием интерфейсных элементов.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию.
Часть 1.2. Разработать программу, содержащую описание трех графических объектов: отрезок, равнобедренный треугольник, стрелка компаса (ромб с короткой диагональю).
Реализуя механизм полиморфизма, привести объекты в одновременное вращение вокруг их геометрических центров с различными угловыми скоростями.
Задание 2. С++.
Часть 2.1. Функции.
Число из n цифр является числом Армстронга, если сумма цифр этого числа, возведенных в степень n равна самому этому числу. Например: 153 = 13 +53+33. Написать программу, определяющую все числа Армстронга, состоящие из n цифр (n вводится с клавиатуры). Вывести на печать сами числа их количество.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Каждая строка состоит из слов, разделенных пробелами. Написать программу, обеспечивающую ввод строк и их корректировку. Корректировка заключается в удалении или замене слов. Если слово стоит на четном месте и начинается на букву «е» - оно удаляется; если слово стоит на четном месте и начинается на букву «с», оно замещается на слово, введенное с клавиатуры. Вывести на печать исходную и скорректированную последовательности строк.
Часть 2.3. Файлы.
Организовать программным способом символьный файл F. Записать в файл G строки файла F в обратном порядке, удалив символы e,E,r,t,U. При возникновении непредвиденных ситуаций выдать соответствующие сообщения.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной о механизмы наследования и композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны:
объект вещественное число, умеющий печатать свое значение и отвечать на запрос о значении своего числового поля, количестве цифр целой и дробной частей этого поля;
объект массив вещественных чисел, умеющий выводить на печать значение своих элементов, возвращать значение любого элемента по его индексу, возвращать среднее количество цифр целых и дробных частей его элементов, а также определять элемент с минимальным и максимальным количеством цифр его целой и дробной частей.
Часть 3.2. Qt. Полиморфное наследование.
Разработать программу, содержащую описание трех графических объектов: отрезок, равнобедренный треугольник, стрелка компаса (ромб с короткой диагональю).
Реализуя механизм полиморфизма, привести объекты в одновременное вращение вокруг их геометрических центров с различными угловыми скоростями.