
Задания 2014 ООП / Домашние задания / ООП_DZ15
.docДомашние задания. Вариант 15
Задание 1. Turbo Delphi
Часть 1.1 Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле. Класс, позволяющий рисовать окружность некоторого размера с центром в точке, определенной нажатием левой клавиши мыши. Класс, позволяющий рисовать ветвление из двух линий с окружностями на концах (ветви идут вниз симметрично под углом 300 из точки, определенной нажатием правой клавиши мыши).
Параметры задаются с использованием интерфейсных элементов.
В отчете показать иерархии используемых классов Delphi и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию.
Часть
1.2.
Разработать
программу, содержащую описание трех
графических объектов: изображения букв:
Реализуя
механизм полиморфизма, привести объекты
в одновременное колебательное движение
вокруг указанных точек с разными
амплитудами и периодами колебаний.
Задание 2. С++.
Часть 2.1. Функции.
Метод Ньютона – Рафсона основывается на утверждении, что квадратный корень числа А можно найти с помощью рекурентной формулы:
xi+1 =1/2(xi +A/xi ) , где А - положительное число, xi – текущее приближение квадратного корня , xi+1 – очередное приближенное значение квадратного корня из числа А.
Написать программу, определяющую квадратный корень заданных чисел, используя приведенную формулу. Прекращение процесса вычисления предусмотреть при выполнении условия
(xi+1)2-A/A<0.001.
Сопоставить полученные результаты с ответом, который получается при использовании стандартной функции извлечения корня. При программировании использовать функцию.
Часть 2.2 Текстовая обработка.
Дана последовательность строк. Каждая строка представляет собой некоторое арифметическое выражение, состоящее из цифр, знаков операций (+,-,*, /) и скобок. Написать программу, обеспечивающую ввод строк и их корректировку. Корректировка заключается в преобразовании выражения из обычной в постфиксную форму записи. В постсфиксной форме сначала пишутся операнды, а затем знак операции. Например:
3+4 34+
(5-4)+2 54-2+
2*(3+4) /5 234+*5/
Вывести на печать исходную и скорректированную последовательности строк.
Часть 2.3. Файлы.
Сформировать программным путем символьный файл F, содержащий слова. Определить количество слов в файле F.
Задание 3. Программирование с использованием классов в С++.
Часть 3.1. Композиция.
Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизм композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Даны: объект символ, умеющий печатать свое значение и отвечать на запрос о значении своего символьного поля.
Объект «строка», как массив из 15 символов, умеющий выводить на печать значение своих элементов, удалять символ по номеру, удалять символ по значению, возвращать номер символа, начиная с которого некоторая подстрока или символ входят в строку.
Часть 3.2. Qt. Полиморфное наследование.
Разработать
программу, содержащую описание трех
графических объектов: изображения букв:
Реализуя
механизм полиморфизма, привести объекты
в одновременное колебательное движение
вокруг указанных точек с разными
амплитудами и периодами колебаний.