
Задания 2014 ООП / Домашние задания / ООП_DZ20
.docДомашние задания. Вариант 20
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле.
Класс, позволяющий рисовать окружность некоторого размера с центром в точке, определенной нажатием левой клавиши мыши. Класс, позволяющий рисовать квадрат того же размера с центром в точке, определенной нажатием правой клавиши мыши.
Параметры задаются с использованием интерфейсных элементов.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию.
Часть 1.2. Разработать программу, содержащую описание трех графических объектов:
квадрат, правильный шестиугольник, правильный восьмиугольник.
Реализуя механизм полиморфизма, выполнять многократное масштабирование объектов в автоматическом режиме с заданными коэффициентами. За центры масштабирования принять геометрические центры фигур.
Задание 2. С++.
Часть 2.1. Функции.
Написать программу для нахождения отыскания самого наименьшего целого числа, которое может быть представлено в виде суммы кубов двух чисел двумя различными способами. Например: если 13,23,33,…, то 9 =13+23. Однако, это число не может быть представлено никакой другой суммой кубов. Вывести на печать найденное число, и оба способа его представления в виде суммы кубов. При программировании использовать функции.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Каждая строка состоит из групп букв, цифр и знаков +,-,*. Группой букв называется группа, которой не предшествует и за которой не следует буква. Группой цифр называется группа, которой не предшествует и за которой не следует цифра. Группой знаков называется группа, которой не предшествует и за которой не следует знак. Написать программу, определяющую в каждой строке количество групп цифр. Если таких групп четное количество, то заменить все группы цифр последовательностью символов «&&&&&&». Если количество групп цифр нечетное, оставить все без изменения. Если искомых групп в строке нет, то выдать сообщение. Вывести на печать исходную и скорректированную последовательность строк.
Часть 2.3. Файлы.
Организовать программным способом файл F, компоненты которого являются целыми числами. Получить в файле G все компоненты файла F, делящиеся на 3 и не делящиеся на 7. Порядок следования чисел сохраняется.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизм композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны: объект целое число, умеющий печатать свое значение и отвечать на запрос о значении своего числового поля.
Объект «запись», состоящая из двух полей: целого числа и массива целых чисел, который умеет печатать содержимое своих полей, возвращать значение числового поля записи, упорядочивать по возрастанию массив и определять его максимальный и минимальный элементы.
Часть 3.2. Qt. Полиморфное наследование.
Разработать программу, содержащую описание трех графических объектов:
квадрат, правильный шестиугольник, правильный восьмиугольник.
Реализуя механизм полиморфизма, выполнять многократное масштабирование объектов в автоматическом режиме с заданными коэффициентами. За центры масштабирования принять геометрические центры фигур.