
- •Введение
- •Постановка задачи
- •Анализ задачи проектирования
- •Анализ вариантов использования программы
- •Требования к приложениям
- •Определение попадания точки в четырехугольник
- •Настольное приложение на базе erlang
- •Создание приложения в среде ErlyBird
- •Реализация приложения
- •Реализация приложения
- •Создание Web –сервиса
- •Создание клиентского приложения WebForm
- •Создание прокси-класса
- •Системные требования
- •Руководство системного программиста
- •Заключение
- •Список литературы
- •Приложение Файл monte.Erl(настольное приложение)
- •Файл print.Erl
- •Файл monte_carlo.Html(web приложение на базе скриптов)
- •Файл service.Cs(web сервис)
- •Файл Service.Asmx
- •Файл Default.Aspx(клиентская часть приложения WebForm)
- •Файл Default.Aspx.Cs
Реализация приложения
Настольное приложение является самым простым с точки зрения взаимодействия пользователя и программы. В нем не реализуется клиент-серверная технология, и в одном приложении сосредотачивается как непосредственный обмен данными с пользователем через графический либо консольный интерфейс, так и вся функциональность. В приложении определены два Erlang файла: monte.erl,print.erl. В первом файле описывается сам метод, во втором он вызывается пять раз и как только алгоритм высчитал значения, они выводятся на экран пользователю. Перейдём к определению вспомогательных и основных функций. Созданное консольное приложение Erlang будет включать в себя следующие функции:
method_monte({{AX,AY},{BX,BY},{CX,CY},{DX,DY}}, Iterator), где AX,BX,CX,DX – координаты х соответствующих точек, AY,BY,CY,DY - – координаты y соответствующих точек, Iterator – количество генерируемых точек. Он в свою очередь вызывает 5 подфункции, каждая из которых имеет ту же структуру, что и у главной функции, но каждая имеет свой счетчик, который соответствует номеру опыта.
sq_ABCD({Xmin , Xmax},{Ymin,Ymax}) – определения точной площади прямоугольника, описывающего трапецию;
sq_trap({AX,AY},{BX,BY},{CX , _CY},{DX,_DY}) – расчет точной площади трапеции;
sq_trap_no(SQR_Paral , Cont ,Enter) – вызывается каждый раз, когда методом Монте-Карло посчитаны точки, попавшие во внутрь трапеции;
p_random({Xmin , Xmax},{Ymin,Ymax}) –генерация случайных точек, вызывается при каждой итерации в методе Монте-Карло;
example() – вызов контрольного примера;
correct({AX,AY},{BX,BY},{CX,CY},{DX,DY}) – проверка правильности ввода координат;
cout([XA,YA,XB,YB,XC,YC,XD,YD]) – вывод результатов на экран, вызывает функцию str({{XA,YA},{XB,YB},{XC,YC},{XD,YD}},N,N1), которая в свою очередь вызовет в зависимости от номера опыта функцию monte:start2({XA,YA},{XB,YB},{XC,YC},{XD,YD},N);
str({{XA,YA},{XB,YB},{XC,YC},{XD,YD}},N,N1) – вывод результатов одного опыта, результаты записываются в кортеж [_Sq_ABCD,Sq_trap,T,Essen,Enter,_SQR_PARAL], для получения результатов вычислений необходимо вызвать функцию monte:start2({XA,YA},{XB,YB},{XC,YC},{XD,YD},N) с указанным количеством точек;
start2({AX,AY},{BX,BY},{CX,CY},{DX,DY},Iterator) – расчет всех необходимых данных, записывает данные в кортеж [Sq_trap,Sq_trap_no,T,Essen,Enter,Sq_ABCD].
Более подробно со структурами функций можно ознакомиться в Приложении (файл monte.erl и print.erl).
Системные требования
Для выполнения настольного приложения необходимы:
операционная система MS Windows 7;
интерпритатор Eshell;
процессор x86 c частотой не менее 800Мгц;
32 Мб оперативной памяти;
наличие 1 Мб свободного места на жестком диске.
Результаты работы приложения
Результат работы консольного приложения представлен на рис. 4.
Рис.4 Результаты работы консольного приложения
Тестирование производилось на аппаратной базе с параметрами:
двухъядерный процессор семейства Intel core i3 c частотой 2100 МГц;
объем оперативной памяти 3,00 Гб;
операционная система MS Windows 7 64-bit.
WEB ПРИЛОЖЕНИЕ НА БАЗЕ HTML5/JAVASCRIPT
Создание приложения на базе технологии HTML5/JavaScript
В отличие от технологии asp, технология JavaScript имеет свои преимущества, а именно огромную скорость работы с данными и математическими задачами, свой собственный класс выводу страниц и сообщений об ошибках. Технология позволяет вынести скрипт в отдельный файл с расширением .js или включить в страничку html. Именно второй способ наиболее предпочтителен для нашей разработки, так как html-страница уже будет иметь все необходимые методы для подсчета методом Монте-Карло. JavaScript — прототипно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. JavaScript интерпретируемый язык, использующийся в основном для программного доступа к объектам приложений. Так же в нашем курсовом проекте мы использовали HTML5 - зык для структурирования и представления содержимого для всемирной паутины, а также основная технология, используемая в Интернете. В отличие от прошлого стандарта в нем появляется много синтаксических особенностей. Например, элементы <video>, <audio> и <canvas>, а также возможность использования SVG. Эти новшества разработаны для упрощения внедрения и управления графическими и мультимедийными объектами в сети без необходимости обращения к собственным плагинам и API. Другие новые элементы, такие как <section>, <article>, <header> и <nav> разработаны для того, чтобы обогащать семантическое содержимое документа (страницы). Новые атрибуты были введены с той же целью, хотя ряд элементов и атрибутов был удален. Некоторые элементы, например, <a> <menu> и <cite> были изменены, переопределены или стандартизированы.