Файл: Исследование вычислительной эффективности объектноориентированных приложений.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.05.2024

Просмотров: 65

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ПОСТАНОВКА ЗАДАЧИ

2. РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ

2.1. Анализ вариантов использования программы

2.2. Требования к приложениям

3.АНАЛИЗ АЛГОРИТМА РЕШЕНИЯ

3.1. Метод Монте-Карло

3.2. Определение попадания точки внутрь фигуры

4. ПРОЦЕДУРНОЕ ПРИЛОЖЕНИЕ НА БАЗЕ WPF/C#

4.1. Программные средства разработки

4.3. Системные требования

4.4. Структура приложения

4.5. Результаты работы

5. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРИЛОЖЕНИЕ НА БАЗЕ WPF/C#

5.1. Программные средства разработки

5.2. Логическое проектирование

5.4. Руководство системного программиста

5.5. Руководство программиста

5.6. Руководство оператора

5.7. Результаты работы

6. АНАЛИЗ ВЫЧИСЛИТЕЛЬНОЙ ЭФФЕКТИВНОСТИ ПРИЛОЖЕНИЙ

7. УЛУЧШЕНИЕ ХАРАКТЕРИСТИК КАЧЕСТВА ПРИЛОЖЕНИЙ

7.1. Использование встроенной оптимизации кода

7.2. Профилирование

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ

Файл MainWindow.xaml.cs (процедурное приложение)

Файл MainWindow.xaml

Файл MainWindow.xaml.cs (объектно-ориентированное приложение)

Файл MainWindow.xaml

Файл Figure.cs

Файл Rectangle.cs

Файл Triangle.cs

Файл MonteCarlo.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) если , то точка принадлежит фигуре, если