Главная страница

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


Скачать 0.82 Mb.
НазваниеИсследование вычислительной эффективности объектноориентированных приложений
Дата12.01.2023
Размер0.82 Mb.
Формат файлаdocx
Имя файлаoop курсовая.docx
ТипИсследование
#883628
страница4 из 9
1   2   3   4   5   6   7   8   9

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


В соответствии с заданием фигура состоит из прямоугольника, из которого вырезаны треугольник , треугольник и треугольник ode. Необходимо сгенерировать внутри прямоугольника точку , а также определить принадлежит такая точка фигуре , если известны координаты точек, определяющих эту фигуру. Пример расположения точек фигуры и точки приведен на рис. 3.



Рис. 3. Точки, необходимые для расчётов

Уравнение прямой имеет вид:

,

где .

Уравнение прямой имеет вид:

,

где .

Уравнение окружности:

.

Квадрат расстояния от точки до точки :

.

Для определения попадания точки внутрь фигуры используется следующий алгоритм:

1) если , то точка принадлежит фигуре, если или ;

2) если , то точка принадлежит фигуре, если и ;

3) если , то точка принадлежит фигуре.

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

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


При создании процедурного приложения была использована среда разработки MS Visual Studio 2019. Данная среда разработки имеет удобный интерфейс и поддерживает все элементы, используемые в программе.

Для полноценной работы процедурного приложения на базе Windows Presentation Foundation необходимо подключить несколько пространств имён, а именно:

System.Collections.Generic – содержит интерфейсы и классы, определяющие универсальные коллекции, которые позволяют пользователям создавать строго типизированные коллекции, например List, Queue, обеспечивающие повышенную производительность и безопасность типов по сравнению с не универсальными строго типизированными коллекциями.

System.Data - обеспечивает доступ к классам, представляющим архитектуру ADO.NET, позволяющую создавать компоненты, эффективно управляющие данными из нескольких источников данных. Используется для работы объекта DataTable, в котором будут представлены результаты работы программы;

System.Diagnostics – предоставляет классы, позволяющие взаимодействовать с системными процессами, журналами событий и счетчиками производительности, в данной программе отвечает за работу таймера выполнения расчётов;

System.Windows – предоставляет несколько важных Windows Presentation Foundation (WPF) классов базовых элементов, различные классы, поддерживающие WPF системы свойств и событий логики и другие типы, более широко применяемые в WPF ядре и инфраструктуре. Позволяет использовать объекты Point в программе.


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


При запуске программа должна предлагать на выбор пользователю либо ввести данные вручную, либо решить тестовый пример.

На первом этапе создаётся массив точек, который содержит координаты «x» и «y» всех точек базовой фигуры: a, b, c, d, n, e, o, k. Это рассчитывается в методе private void Coordinates ().

Следующий этап – расчёт по математическим формулам реальной площади фигуры в методе private double RealSquare(). Это делается для последующего сравнения результатов вычисления через формулы и методом Монте-Карло.

Затем при помощи коллекции создаётся для каждого количества точек набор рандомно заданных координат.

И с помощью метода Монте-Карло проверяется вхождение точки в фигуру. Затем рассчитывается площадь фигуры.

На рис. 4 представлена диаграмма класса



Рис. 4. Диаграмма класса

Блок-схема алгоритма работы представлена на рис. 5.


Рис. 5. Схемы функций Btn_Start_Click и MonteKarlo
1   2   3   4   5   6   7   8   9


написать администратору сайта