
Задания 2014 ООП / Домашние задания / ООП_DZ17
.docДомашние задания. Вариант 17
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле. Класс, позволяющий рисовать отрезок под заданным углом некоторого размера из точки, определенной нажатием левой клавиши мыши. Класс, позволяющий рисовать окружность некоторого радиуса с центром в точке, определенной нажатием правой клавиши мыши.
Параметры задаются с использованием интерфейсных элементов.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию.
Часть 1.2. Разработать программу, содержащую описание трех графических объектов:
отрезок, ромб, астроида.
Реализуя механизм полиморфизма, привести объекты в одновременное синхронное колебательное движение вдоль осей, проходящих через их геометрические центры и параллельных главной диагонали экрана. Колебания должны затухать к центрам осей и затем возобновляться с возрастанием амплитуд вплоть до достижения объектами границ экрана.
Задание 2. С++.
Часть 2.1. Функции.
Два числа называются взаимно дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Например: 220 и 284, так как
Делители 220 1,2,4,5,10,11,20,22,44,55,110 сумма = 284
Делители 284 1,2,4,71,142 сумма = 220
Написать программу, определяющую дружественные числа, лежащие в диапазоне от 1 до n (n вводится с клавиатуры). Вывести на печать все найденные числа. При программировании использовать функции.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Строки содержат зашифрованную информацию и состоят из слов, разделенных пробелом. Пробел записан без шифра. Написать программу, обеспечивающую ввод строк и их расшифровку. Для расшифровки каждая из букв слова заменяется следующей за ней буквой алфавита. Буква «я» заменяется буквой «а».
Вывести на печать зашифрованную и подвергнутую дешифровке последовательности строк.
Часть 2.3. Файлы.
Сформировать программным путем файл F, компоненты которого являются целыми числами. Получить файл G, образованный из файла F исключением повторных вхождений одного и того же числа.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизм композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны:
объект вещественное число, умеющий печатать свое значение и отвечать на запрос о значении своего числового поля, целой и дробной частей этого поля.
Объект массив вещественных чисел, умеющий выводить на печать значение своих элементов, возвращать значение любого элемента по его индексу, возвращать среднее арифметическое целых и дробных частей его элементов, а также определять элемент с минимальным и максимальным значением дробной части.
Часть 3.2. Qt. Полиморфное наследование.
Разработать программу, содержащую описание трех графических объектов:
отрезок, ромб, астроида.
Реализуя механизм полиморфизма, привести объекты в одновременное синхронное колебательное движение вдоль осей, проходящих через их геометрические центры и параллельных главной диагонали экрана. Колебания должны затухать к центрам осей и затем возобновляться с возрастанием амплитуд вплоть до достижения объектами границ экрана.