
Задания 2014 ООП / Домашние задания / ООП_DZ07
.docДомашние задания. Вариант 7
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле. Класс, позволяющий рисовать линию, размер которой определяется нажатием и отпусканием левой клавиши мыши. Класс, позволяющий рисовать окружность, размер которой определяется нажатием и отпусканием левой клавиши мыши.
Вид фигуры определяется по положению радиокнопки, а все необходимые параметры, задаются специальными элементами TEdit.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию.
Часть 1.2. Разработать программу, содержащую описание трех графических объектов:
отрезок, треугольник, квадрат.
Реализуя механизм полиморфизма, привести объекты в одновременное движение по экрану вверх вниз с отражением от его границ.
Задание 2. С++.
Часть 2.1. Функции.
Дано натуральное число m. Написать программу, определяющую такое натуральное число n, что двоичная запись числа n получается из двоичной записи числа m изменением порядка цифр на обратный порядок их следования. Например: 6 = 110 , а 3=011. Вывести на печать числа и их двоичное представление.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Каждая строка состоит из слов, разделенных пробелами. Написать программу, обеспечивающую ввод строк и их корректировку. Корректировка заключается в замене у всех слов, которые оканчиваются на сочетание “ing”, заменить это окончание сочетанием “ed”. Вывести на печать исходную и скорректированную последовательности строк.
Часть 2.3. Файлы.
Организовать программным способом файл F, компонентами которого являются действительные числа. Найти:
а) наименьшее из значений компонент с нечетными номерами;
б) сумму наименьшей и наибольшей компонент;
в) разность первой и последней компонент;
г) при наличии в файле более 10 отрицательных значений выдать на экран сообщение.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизмы наследования и композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны:
Объект целое число, умеющий печатать свое значение и отвечать на запрос о значении своего числового поля.
Объект Массив целых чисел, содержащий их количество, а также позволяющий находить среднее арифметическое чисел.
Часть 3.2. Qt. Полиморфное наследование.
Разработать программу, содержащую описание трех графических объектов:
отрезок, треугольник, квадрат.
Реализуя механизм полиморфизма, привести объекты в одновременное движение по экрану вверх вниз с отражением от его границ.