Файл: Исследование вычислительной эффективности объектноориентированных приложений.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.05.2024
Просмотров: 65
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
2. РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ
2.1. Анализ вариантов использования программы
3.2. Определение попадания точки внутрь фигуры
4. ПРОЦЕДУРНОЕ ПРИЛОЖЕНИЕ НА БАЗЕ WPF/C#
4.1. Программные средства разработки
5. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРИЛОЖЕНИЕ НА БАЗЕ WPF/C#
5.1. Программные средства разработки
5.2. Логическое проектирование
5.4. Руководство системного программиста
6. АНАЛИЗ ВЫЧИСЛИТЕЛЬНОЙ ЭФФЕКТИВНОСТИ ПРИЛОЖЕНИЙ
7. УЛУЧШЕНИЕ ХАРАКТЕРИСТИК КАЧЕСТВА ПРИЛОЖЕНИЙ
7.1. Использование встроенной оптимизации кода
Файл MainWindow.xaml.cs (процедурное приложение)
Файл MainWindow.xaml.cs (объектно-ориентированное приложение)
2.2. Требования к приложениям
Учитывая все вышеперечисленные задачи, можно составить перечень требований к приложениям, которому должны соответствовать программы:
-
интерфейс программ должен быть интуитивно понятным пользователю; -
пользователь должен иметь возможность вводить данные как вручную, так и используя тестовый пример; -
программы должны выдавать ошибку пользователю, если тот ввёл некорректные значения; -
программы должны обладать высокой производительностью и эффективностью вычислений; -
пользователь должен иметь возможность выполнять расчёт несколько раз, другими словами, в программах необходимо возможность изменять входные данные и повторно выполнять расчёт площади фигуры.
В зависимости от номера варианта, каждое приложение должно быть выполнено с использованием требуемых технологий. Для каждого приложения характерны следующие особенности, описанные ниже.
Процедурное приложение на базе WPF/C#:
-
тип: настольное приложение; -
графический интерфейс: Windows Presentation Foundation (WPF); -
язык программирования: C#; -
парадигма программирования: процедурная; -
параметр оптимизации: время выполнения.
Объектно-ориентированное приложение на базе WPF/C#:
-
тип: настольное приложение; -
графический интерфейс: WPF; -
язык программирования: C#; -
парадигма программирования: объектно-ориентированная; -
параметр оптимизации: время выполнения.
3.АНАЛИЗ АЛГОРИТМА РЕШЕНИЯ
3.1. Метод Монте-Карло
Метод Монте-Карло – общее название группы численных методов, которые используются в решении огромного количества как математических, так и физических, химических, экономических задач. Метод заключается в многократном моделировании описанного математически процесса с использованием генератора случайных величин. На основе полученного набора случайных величин рассчитываются вероятностные характеристики процесса.
Введем обозначения для координат точек (см. рис 1):
, , , , , , , .
Для нахождения площади фигуры методом Монте-Карло необходимо следующее:
1) определить радиус окружности с центром :
;
2) определить координаты точек:
точки , , задаются, а координаты остальных вычисляются следующим образом: ; ; ; ; ; ; ; ; ; .
3) провести опыт, суть которого заключается в заполнении прямоугольника точками, с координатами , где , ;
4) определить число точек M, попавших внутрь фигуры;
5) определить приближенную площадь фигуры методом Монте-Карло:
,
где – площадь прямоугольника :
;
6) определить точную площадь фигуры:
,
где , , – площади треугольников
Площадь треугольника определяется по формуле половина произведения высоты на основание:
,
где – высота треугольника , – длина стороны соответственно;
площадь треугольника :
;
площадь треугольника ode:
;
7) определить относительную погрешность по формуле:
.
3.2. Определение попадания точки внутрь фигуры
В соответствии с заданием фигура состоит из прямоугольника, из которого вырезаны треугольник , треугольник и треугольник ode. Необходимо сгенерировать внутри прямоугольника точку , а также определить принадлежит такая точка фигуре , если известны координаты точек, определяющих эту фигуру. Пример расположения точек фигуры и точки приведен на рис. 3.
Рис. 3. Точки, необходимые для расчётов
Уравнение прямой имеет вид:
,
где .
Уравнение прямой имеет вид:
,
где .
Уравнение окружности:
.
Квадрат расстояния от точки до точки :
.
Для определения попадания точки внутрь фигуры используется следующий алгоритм:
1) если , то точка принадлежит фигуре, если или ;
2) если , то точка принадлежит фигуре, если