
- •Введение
- •Постановка задачи
- •Анализ задачи проектирования
- •Анализ вариантов использования программы
- •Требования к приложениям
- •Определение попадания точки в четырехугольник
- •Настольное приложение на базе erlang
- •Создание приложения в среде ErlyBird
- •Реализация приложения
- •Реализация приложения
- •Создание Web –сервиса
- •Создание клиентского приложения WebForm
- •Создание прокси-класса
- •Системные требования
- •Руководство системного программиста
- •Заключение
- •Список литературы
- •Приложение Файл monte.Erl(настольное приложение)
- •Файл print.Erl
- •Файл monte_carlo.Html(web приложение на базе скриптов)
- •Файл service.Cs(web сервис)
- •Файл Service.Asmx
- •Файл Default.Aspx(клиентская часть приложения WebForm)
- •Файл Default.Aspx.Cs
Требования к приложениям
Исходя из поставленных задач, каждое приложение должно соответствовать следующим требованиям:
иметь интуитивно понятный пользователю интерфейс;
вычислять аналитически площадь трапеции методом Монте-Карло, рассчитывать относительную погрешность вычислений, а также измерять время расчета для каждого N= 103, 104, 105, 106, 107;
строить таблицу зависимости рассчитанной площади, относительной погрешности и времени вычислений от количества точек N;
сообщать пользователю об ошибках;
реализовывать возможность ввода координат вершин трапеции с клавиатуры, а также возможность проведения опытов для трапеции с заранее определенными в программе координатами и для координат, сгенерированных программой.
Все три программных продукта должны удовлетворять вышеуказанным функциональным требованиям, но реализации приложений различны. Сформулируем технические требования для каждого из них.
Настольное приложение на базе Erlang:
модель: вычисление площади трапеции;
метод: Монте – Карло;
интерфейс: консольное окно;
язык: Erlang;
результат выполнения приложения: таблица.
Web приложение на базе HTML5/JavaScript:
модель: вычисление площади трапеции;
метод: Монте – Карло;
интерфейс: веб-браузер;
язык скрипта: JavaScript;
результат выполнения приложения: таблица.
Web приложение на безе ASP.NET:
модель: вычисление площади трапеции;
метод: Монте – Карло;
интерфейс: веб-браузер;
язык: С#;
тип клиента : WebForm;
элементы управления: Web;
тип веб-сервиса: синхронный;
результат выполнения приложения: таблица.
Входные данные
Исходными данными при разработке приложений данной курсовой работы являются координаты точек заданной трапеции.
Выходные данные
Во всех приложениях выходными данными являются:
количество точек, попавших в трапецию;
площадь трапеции, вычисленная геометрическим методом;
площадь трапеции, вычисленная методом Монте-Карло;
погрешность вычислений;
время вычислений.
АНАЛИЗ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
Метод Монте-Карло
Для того чтобы найти площадь какой-либо фигуры (в нашем случае – трапеции) методом Монте-Карло, ее необходимо вписать в геометрическую фигуру, площадь которой известна. Удобнее всего будет вписать исследуемую трапецию в прямоугольник.
Затем необходимо генерировать случайным образом N-ое количество точек, при этом, определяя, попали ли данные точки внутрь трапеции. Тогда искомая площадь будет находиться как произведение площади данного прямоугольника и отношения числа точек, попавших внутрь трапеции к общему числу сгенерированных точек:
где N – общее число сгенерированных точек, M – число точек, попавших внутрь трапеции.
При увеличении общего числа сгенерированных точек при идеальном генерировании точек случайным образом, то есть функции распределения с одинаковой плотностью распределения для любой выборки, точность метода должна возрастать.
Таким образом, генерируемые случайным образом точки должны равномерно заполнять площадь прямоугольника ABCD. Для этого случайные числа должны иметь равномерное распределение (по ширине и высоте прямоугольника ABCD соответственно).