oop курсовая. Исследование вычислительной эффективности объектноориентированных приложений
![]()
|
3.2. Определение попадания точки внутрь фигурыВ соответствии с заданием фигура ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рис. 3. Точки, необходимые для расчётов Уравнение прямой ![]() ![]() где ![]() Уравнение прямой ![]() ![]() где ![]() Уравнение окружности: ![]() Квадрат расстояния от точки ![]() ![]() ![]() Для определения попадания точки внутрь фигуры используется следующий алгоритм: 1) если ![]() ![]() ![]() 2) если ![]() ![]() ![]() 3) если ![]() 4. ПРОЦЕДУРНОЕ ПРИЛОЖЕНИЕ НА БАЗЕ WPF/C#4.1. Программные средства разработкиПри создании процедурного приложения была использована среда разработки MS Visual Studio 2019. Данная среда разработки имеет удобный интерфейс и поддерживает все элементы, используемые в программе. Для полноценной работы процедурного приложения на базе Windows Presentation Foundation необходимо подключить несколько пространств имён, а именно: System.Collections.Generic – содержит интерфейсы и классы, определяющие универсальные коллекции, которые позволяют пользователям создавать строго типизированные коллекции, например List 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 |