Автор работы: Пользователь скрыл имя, 25 Декабря 2011 в 02:57, курсовая работа
Целью курсовой работы является исследование вычислительной эффективности технологий программирования, включая веб-технологии, а также закрепление знаний, полученных в курсе “Технологии программирования”.
Введение 5
1 Постановка задачи 7
2 Разработка технического задания 9
2.1 Анализ задачи проектирования 9
2.2 Технические требования 11
3 Алгоритм решения задачи 13
3.1 Метод Монте-Карло 13
3.2 Определение попадания точки внутрь треугольника 13
4 Настольное консольное приложение 16
4.1 Среда разработки MS Visual Studio 2010 16
4.2 Логическое проектирование приложения 16
4.3 Результаты работы приложения 18
4.4 Системные требования 18
4.5 Руководство системного программиста 19
4.6 Руководство программиста 19
4.7 Руководство пользователя 20
5 Web приложение на базе скриптового языка Perl 22
5.1 Инструментальные средства разработки 22
23
5.2. Реализация приложения 23
5.3. Результаты работы приложения. 26
5.4. Руководство программиста 27
5.5. Руководство системного программиста 27
5.7. Системные требования 28
6 Web-приложение на базе WPF и Web-сервисов ASP.NET 29
6.1 Программные средства разработки приложения 29
6.2 Логическое проектирование приложения 30
6.3 Генерирование прокси-класса 33
6.4 Системные требования 34
6.5 Руководство системного программиста 34
6.6 Руководство программиста 35
6.7 Руководство пользователя 38
6.8 Тестирование приложения 39
7 Настольное приложение на языке F# 40
7.1 Инструментальные средства разработки 40
7.2 Логическое проектирование приложения 40
7.3 Результат работы приложения 42
Результат работы консольного приложения представлен на Рис. 11. 42
7.4 Системные требования 43
7.5 Руководство системного программиста 43
7.6 Руководство программиста 43
7.7 Руководство пользователя 44
8 Анализ вычислительной эффективности 46
Заключение 48
Список использованных источников 49
Файл Program.fs 69
В
настоящее время разработка программного
обеспечения ведется в рамках
корпоративных сетей ЭВМ, среди
которых все большее
Известно, что серверы Web хранят информацию в виде текстовых файлов, называемых также страницами сервера Web. Фактически, страница Web представляют собой некоторое связующее звено между объектами различных типов. Их проектируют с применением специального языка разметки гипертекстов Hyper Text Markup Language, или сокращенно - HTML.
Важно отметить, что приложения Web способны работать не только в Интернете, но и в корпоративных интрасетях. Применение браузера на компьютере конечного пользователя в качестве основного приложения для доступа к базам данных и другим корпоративным системам значительно уменьшает стоимость сопровождения крупных локальных сетей. При этом не только упрощается процедура установки программного обеспечения на рабочие станции сети, но и облегчается сопровождение корпоративных баз данных и других систем, работающих централизованно на специально выделенных серверах.
Существуют различные способы реализации серверной тивности (способности серверных страниц принимать и сохранять передаваемые клиентом данные, выполнять вычисления с использованием введенных данных, работать с базой данных и т. д.). Традиционный (классический) способ создания активных серверных страниц (Active Server Pages, ASP) заключается в добавлении скриптов на языках JavaScript и VBScript в HTML код.
Perl (Practical Extraction and Report Language ) является переносимым, интерпретируемым языком, идеально приспособленным для многочисленных приложений по обработке текста. Perl поддерживает структурированные программные конструкции, как и большинство языков программирования высокого уровня, и предлагает богатство встроенных возможностей (удобен для решения задач администрирования Web-сервисов, электронной почты и других систем).
Современные технологии, такие как ASP.NET, .NET Remouting, AJAX, Java и многие другие позволяют создавать активные серверные страницы практически без скриптов, а код таких страниц, написанный на объектно-ориентированных языках C# и Java, хранится в двоичном (откомпилированном) виде. При этом автоматизируется процесс создания кода страниц и значительно упрощается его отладка.
Windows
Presentation Foundation (WPF, кодовое название
— Avalon) — графическая (
Целью
курсовой работы является исследование
вычислительной эффективности технологий
программирования, включая веб-технологии,
а также закрепление знаний, полученных
в курсе “Технологии программирования”.
При выполнении курсовой работы необходимо создать три приложения и сравнить по вычислительной эффективности. Все приложения решают одну задачу - приближенного вычисления площади треугольника методом Монте-Карло.
В
соответствии с вариантом №9 предлагается
реализовать следующие
Данные
приложения вычисляют площадь треугольника
bce (рис. 1) методом Монте-Карло. Исходными
данные являются координаты точек треугольника
bce. Точка e находится между точек
a и d
Рис. 1. Треугольники abc,ebc,bcd.
Вершина e треугольника ebc может находиться в пяти различных положениях
Площадь треугольника вычисляется (в каждом приложении) для соответственно, где N – количество точек, генерируемых для вычислении площади методом Монте-Карло. При выполнении каждого вычисления также определяется площадь, подсчитанная математическим методом, относительная погрешность вычисления площади (в процентах), его длительность (в миллисекундах), количество точек попавших в треугольник.
Задачами курсовой работы являются:
Требуется разработать программу, позволяющую пользователю вычислять площадь треугольника (в данном варианте bce) по методу Монте-Карло. Программа должна позволять пользователю:
На рис. 2 изображена диаграмма вариантов использования приложений.
Рис. 2. Диаграмма
вариантов использования приложений
Из анализа диаграммы видно, что субъект “пользователь” может выполнять одно из трех действий. Данные действия представляются виде потоков событий (основной и альтернативный).
Функция варианта использования начинается c момента входа в программу. На выбор предлагается три действия: «Ввод координат», «Рассчитать», «Выход».
При выборе действия «ввод координат» предлагает пользователю выбрать «ручной ввод» или «примеры». При выборе действия «ручной ввод» пользователю предлагается ввести координаты с клавиатуры, после ввода координат программа совершает проверку введенных данных. При выборе действия «контрольные примеры» (выбора одного из 5-ти контрольных примеров) осуществляется расчет по установленным по умолчанию координатам.
При выборе действия «рассчитать» осуществляется расчет результатов по введенным координатам.
При выборе действия «выход» осуществляется выход из приложения.
Неверный ввод координат: введены неверные координаты. В данном случае субъекту предоставляется возможность повторить ввод или завершить вариант использования.
По
заданию курсовой работе требуется
разработать три различных
Приложение 1:
Приложение 2:
Приложение 3:
Для вычисления площади треугольника bce (см. рис.1) методом Монте-Карло необходимо вначале вычислить площадь прямоугольника, описывающего треугольник. После этого N раз происходит генерация двух случайных чисел (они определяют координаты точки x и y, находящейся внутри прямоугольника). Затем выполняется проверка, попала ли точка в область треугольника или нет.
После всех генераций площадь треугольника определяется по формуле:
,
где S – площадь прямоугольника,
М – количество попавших точек,
N – количество сгенерированных точек.
Отметим,
что найденная таким образом
площадь будит иметь
Попадание точки определяется через
уравнения прямых be и ce. Точка
P(x,y) попадает в треугольник bce (рис.
3). Точка e лежит между точек a и
d.
Рис. 3. Определение попадания точки внутрь треугольника ebc
Удобнее всего определять попала ли точка в область треугольника, путем выражения переменной x через y, так как при смене положения точки формула для y от x будет меняться в зависимости для случая, а для x нет.
Математически описание этого процесса выглядит так. Прямая задается уравнением:
.
Подставляя
координаты заданных точек, мы можем рассчитать
коэффициенты прямых и тем самым получить
их уравнения. Коэффициенты вычисляются
по формулам:
Таким
образом, мы получили уравнения прямых
be и ce:
Затем
выразим из полученных уравнений
переменную :
Затем
подставляя в эти уравнения значения
сгенерированных точек, можно определить,
попала точка в треугольник или нет.
где - значение функции в сгенерированной точке.
Если , то точка попала в треугольник, в противном случае - нет.