На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Технологии программирования

Информация:

Тип работы: курсовая работа. Добавлен: 06.09.2012. Сдан: 2011. Страниц: 27. Уникальность по antiplagiat.ru: < 30%

Описание (план):


МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РФ
Государственное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет» 

Кафедра электронных вычислительных машин 
 

ИССЛЕДОВАНИЕ  ВЫЧИСЛИТЕЛЬНОЙ ЭФФЕКТИВНОСТИ 
WEB-ТЕХНОЛОГИЙ 
 
 
 

     ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
     к курсовой работе по дисциплине «Технологии  программирования» 
 
 
 
 
 

Автор   работы:     студент гр. 220281 Барковский М.В.
Обозначение КР:   K2.001.101.ПЗ
Руководитель  работы: канд. тех. наук доц. кафедры  ЭВМ Берсенев Г.Б.
Работа защищена:  ______________  оценка  ________________
Члены  комиссии:  ______________________________________
                        ______________________________________ 
 
 
 
 
 
 

Тула 2010 

УТВЕРЖДАЮ
Заведующий  кафедрой
______________________________
“_____”__________________ 2010г. 
 

З А Д А Н И Е 

на курсовую работу по дисциплине  «Технологии программирования»                  
студенту группы   220281 Барковскому Максиму Владимировичу                       
Тема проекта   Исследование вычислительной эффективности Web-технологий
Входные данные  Вариант №  9 :
задача  – определение площади треугольника методом Монте-Карло;
треугольник bce;
приложение  №1:  настольное приложение, имеющее консольный интерфейс пользователя, язык С#;
приложение  №2: Web-приложение на базе скриптового языка Perl;
приложение  №3: Web-приложение с компилируемым кодом и объектно-ориентированной реализацией вычислительной функциональности, клиент – WPF, тип Web-сервиса – ASync, язык C#. 
приложение  №4: настольное приложение, имеющее консольный интерфейс пользователя, язык F#               
Задание получил     “  10 ”              сентября  2010г.
График  выполнения проекта
выдача задания                                “  10 ”              сентября 2010г.
срок представления  готового задания “  20 ”                декабря 2010г.
Замечания консультанта                     
К защите. Консультант (руководитель)       
                                                             “        ”   2011г.
Графические материалы  прикладываются к заданию. 

Содержание
Введение 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
Приложение 50
Файл Program.cs 50
Файл Point.cs 52
Файл 2P.html 53
Файл script.pl 54
Файл Service.cs 57
Файл web.config 57
Файл Service.asmx 58
Файл app.config 58
Файл MainWindow.xaml 58
Файл MainWindow.xaml.cs 60
Файл Reference.cs 61
Файл Reference.map 66
Файл Service.wsdl 66
Файл Service.disco 68
Файл Program.fs 69
 

          Введение
     В настоящее время разработка программного обеспечения ведется в рамках корпоративных сетей ЭВМ, среди  которых все большее распространение получают Интернет сети. Для работы в таких сетях используется совершенно новый вид программных продуктов - Web приложения, в которых тем или иным способом реализуются клиентская и серверная активности. Появилась и объектно-ориентированная платформа .NET фирмы Microsoft с удобной средой разработки Web приложений - MS Visual Studio .NET.
     Известно, что серверы 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) — графическая (презентационная)  подсистема в составе .NET Framework (начиная с версии 3.0), имеющая  прямое отношение к XAML. WPF вместе  с .NET Framework 3.0 предустановлена в  Windows Vista, а также доступна для  установки в Windows XP SP2 и Windows Server 2003.
     Целью курсовой работы является исследование вычислительной эффективности технологий программирования, включая веб-технологии, а также закрепление знаний, полученных в курсе “Технологии программирования”. 

 

    Постановка задачи
      При выполнении курсовой работы необходимо создать три приложения и сравнить по вычислительной эффективности. Все приложения решают одну задачу - приближенного вычисления площади треугольника методом Монте-Карло.
      В соответствии с вариантом №9 предлагается реализовать следующие приложения:
      настольное приложение на языке C# платформы .NET (консольный интерфейс);
      Web-приложение на базе скриптового языка Perl;
      Web приложение с компилируемым кодом и объектно-ориентированной реализацией вычислительной функциональности (с использованием Web сервисов XML на языке C# с использованием WPF).
     Данные  приложения вычисляют площадь треугольника bce (рис. 1) методом Монте-Карло. Исходными данные являются координаты точек треугольника bce. Точка e находится между точек a и d 


Рис. 1. Треугольники abc,ebc,bcd.
     Вершина e треугольника ebc может находиться в пяти различных положениях
      ;
      ;

      ;

 
     Площадь треугольника вычисляется (в каждом приложении) для соответственно, где N – количество точек, генерируемых для вычислении площади методом Монте-Карло. При выполнении каждого вычисления также определяется площадь, подсчитанная математическим методом, относительная погрешность вычисления площади (в процентах), его длительность (в миллисекундах), количество точек попавших в треугольник.
         Задачами курсовой работы являются:
      приобретение навыков решения вычислительных задач на сервере;
      практическое освоение современных Web технологий, использующих как скрипты, так и объектно-ориентированные языки программирования;
      практическое овладение методами и средствами создания клиента WPF и Web сервисов XML;
      сравнительный анализ вычислительной эффективности интерпретируемых и компилируемых программ;
      приобретение практических навыков оформления и выпуска документации в соответствии с ГОСТ.
 
 
 
 
 
 
 
 
 
 
 
 
 
 


    Разработка  технического задания
          Анализ задачи проектирования 

     Требуется разработать программу, позволяющую пользователю вычислять площадь треугольника (в данном варианте bce) по методу Монте-Карло. Программа должна позволять пользователю:
      ввести координаты вершин треугольника и произвести по ним расчет;
      выбрать тестовый режим, и расчет производится по установленным по умолчанию координатам;
      произвести повторный расчет по введенным координатам или координатам по умолчанию;
      выйти из программы.
   На  рис. 2 изображена  диаграмма вариантов использования приложений.

Рис. 2. Диаграмма вариантов использования приложений 

     Из  анализа диаграммы видно, что субъект “пользователь” может выполнять одно из трех действий. Данные действия представляются виде потоков событий (основной и альтернативный).
    Основной поток.
     Функция варианта использования начинается c момента входа в программу. На выбор предлагается три действия: «Ввод координат», «Рассчитать», «Выход».
        При выборе действия «ввод координат» предлагает пользователю выбрать «ручной ввод» или «примеры». При выборе действия «ручной ввод» пользователю предлагается ввести координаты с клавиатуры, после ввода координат программа совершает проверку введенных данных. При выборе действия «контрольные примеры» (выбора одного из 5-ти контрольных примеров) осуществляется расчет по установленным по умолчанию координатам.
      При выборе действия «рассчитать» осуществляется  расчет результатов по введенным координатам. 
     При выборе действия «выход» осуществляется выход из приложения.
    Альтернативный поток.
     Неверный  ввод координат: введены неверные координаты. В данном случае субъекту предоставляется возможность повторить ввод или завершить вариант использования.
          Технические требования
     По  заданию курсовой работе требуется  разработать три различных приложения. Все программы должны удовлетворять  вышеперечисленным требованиям, но реализации приложений различны.
      Приложение 1:
      модель: вычисление площади треугольника;
      метод: Монте – Карло;
      интерфейс: консоль;
      язык: С#;
      результат выполнения приложения: таблица с вычисленными параметрами.
      Приложение 2:
      модель:  вычисление площади треугольника;
      метод:  Монте – Карло;
      язык скрипта – Perl;
      результат выполнения приложения: таблица с вычисленными параметрами.
      Приложение 3:
        модель: вычисление площади треугольника;
        метод: Монте – Карло;
        язык: C#;
        тип клиента – WPF;
        тип веб-сервиса: ASync;
      результат выполнения приложения: таблица с вычисленными параметрами.
     
     
     
     
     
    Алгоритм  решения задачи
          Метод Монте-Карло
      Для вычисления площади треугольника bce (см. рис.1) методом Монте-Карло необходимо вначале вычислить площадь прямоугольника, описывающего треугольник. После этого N раз происходит генерация двух случайных чисел (они определяют координаты точки x и y, находящейся внутри прямоугольника). Затем выполняется проверка, попала ли точка в область треугольника или нет.
      После всех генераций площадь треугольника определяется по формуле:
,
где S – площадь прямоугольника,
М – количество попавших точек,
N – количество сгенерированных точек.
      Отметим, что найденная таким образом  площадь будит иметь определенную погрешность, которая зависит от величины N. Для ее вычисления используется площадь треугольника подсчитанная математическим путем.
          Определение попадания точки внутрь треугольника
      Попадание точки определяется через  уравнения прямых be и ce. Точка P(x,y) попадает в треугольник bce (рис. 3). Точка e лежит между точек a и d. 
 

     Рис. 3. Определение попадания точки внутрь треугольника ebc
      Удобнее всего определять попала ли точка  в область треугольника, путем  выражения переменной x через y, так как при смене положения точки формула для y от x будет меняться в зависимости для случая, а для x нет.
     Математически описание этого процесса выглядит так. Прямая задается уравнением:
.
     Подставляя  координаты заданных точек, мы можем рассчитать коэффициенты прямых и тем самым получить их уравнения. Коэффициенты вычисляются по формулам: 
 
 
 

     Таким образом, мы получили уравнения прямых be и ce:    
 

     Затем выразим из полученных уравнений  переменную : 
 

     Затем подставляя в эти уравнения значения сгенерированных точек, можно определить, попала точка в треугольник или нет.  
 

где - значение функции в сгенерированной точке.
     Если , то точка попала в треугольник, в противном случае  - нет.
 


    Настольное консольное приложение
          Среда разработки MS Visual Studio 2010
      Интегрированная среда разработки приложений Visual Studio.NET является удобной средой для разработки как консольных приложений, так и приложений MS Windows, имеющих стандартный графический интерфейс, известный также как GUI - интерфейс (GUI - Graphic User Interface).
      Самыми  простыми с точки зрения пользовательского  интерфейса являются классические консольные приложения, то есть такие приложения, которые для ввода и вывода информации используют консоль, т.е. дисплей, работающий в текстовом режиме. 

          Логическое  проектирование приложения
      В соответствии с заданием необходимо создать консольное приложение. В приложении мы бдуем использовать пространство имен Consolekkr. Определим классы Program и Point.
     Вся функциональная часть приложения, необходимая  для вычисления площади, находится  в классе Program в методе f1(). Диаграмма классов представлена на рис. 4.
      

     Рис. 4. Диаграмма классов
     Методы класса Program:
      static void Main(string[] args)данный метод представляет собой вход в программу. В методе происходит ввод координат и проверка коректности их ввода. Также произволятся вычисления площади трапеции, погрешности и посчет времени;
      static float f1(Point A, Point B, Point P) возращает занчение x, которое необходимо для проверки точки;
      static float smat(Point A, Point B, Point C) метод вычисляющий площадь треугольника математически;
      static float sras(float p, float a, float s) метод вычисляющий площадь Монте – Карло;
      static float pogr(float s, float s1) – метод вычисляющий погрешность метода Монте – Карло.
     Переменные  метода Main:
      int n – количество генерируемых точек;
      float shot – количество попавших в треугольник точек;
      float sp – площадь прямоугольника, описывающего треугольник;
      float xmax – максимальное значение координаты x среди точек;
      float xmin – минимальное значение координаты x среди точек;
      float sm – математическая площадь треугольника;
      float sr – рассчитываемая площадь треугольника;
      float pog – погрешность.
     Для представления точки в программе  используется структура Point.
     Поля  структуры Point:
      public double xпеременная, в которую записывается значение координаты x точки;
      public double y - переменная, в которую записывается значение координаты y точки.
     Вся функциональная часть приложения, необходимая  для вычисления площади, находится  в классе Program.
     Поля  данного класса:
      Point Bполе для храннения координат вершины B;
      Point Cполе для храннения координат вершины C;
      Point E поле для храннения координат вершины E.
     Методы класса:
          Результаты работы приложения
      Результат работы консольного приложения представлен на рис. 5.

Рис. 5. Результаты работы консольного приложения
          Системные требования
      Для выполнения настольного приложения необходимы:
      операционная система MS Windows XP/Vista/7;
      наличие Microsoft .NET Framework версии 3.5 или выше;
      32 Мб оперативной памяти;
      наличие 1 Мб свободного места на жестком диске.
          Руководство системного программиста
        Общие сведения о приложении
 
     Программа предназначена для вычисления площади треугольника методом Монте-Карло. Программа реализована на языке C#. При реализации были использованы принципы объектно-ориентированного программирования.
        Настройка приложения
 
     Дополнительных  настроек не требуется.
        Проверка приложения
 
     Проверка  работоспособности приложения осуществляется посредством запуска EXE-файла программы.
          Руководство программиста
        Назначение и условия применения приложения
 
     Программа предназначена для вычисления площади треугольника методом Монте-Карло. Программа реализована на языке C#. При реализации были использованы принципы объектно-ориентированного программирования.
        Структура приложения
 
     Данное  приложение включает в себя следующие файлы:
      Program.cs –является основным  модулем и точкой входа в программу;
      Diagram.dgml – класс диаграмм, в котором на UML-диаграмме представлена структура модуля Program.cs.
       В проект настольного приложения включено следующее пространство имен.
     System – основное пространство имен, содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений;
        Входные и выходные данные
 
     Входными данными являются координаты вершин треугольника.
    Выходными данными  являются:
      площади треугольника и описывающего прямоугольника; вычисленные математическим способом;
      таблица результатов вычислений.
    Таблица содержит:
      количество точек;
      площадь треугольника, вычисленная методом Монте-Карло;
      погрешность вычислений;
      время вычислений.
 
          Руководство пользователя
        Назначение  приложения
 
      Программа предназначена для вычисления площади треугольника методом Монте-Карло.
        Условия выполнения приложения
 
      Для работы c приложением необходимо полное соответствие компьютера системным требованиям (см. пункт «4.4 Системные требования») и наличие исполняемого модуля Consolekkr.exe.
        Выполнение  приложения
 
     Необходимо запустить файл Consolekkr.exe по адресу Consolekkr\Consolekkr\bin\Debug. В окне консоли выбрать одно из трех действий:
      ручной ввод координат вершин треугольника;
      контрольный пример (расчет площади по установленным по умолчанию координатам);
      выход из программы.
    Для выхода из программы необходимо ввести значение «3» либо  закрыть окно консоли.
        Сообщения оператору
 
     При выполнение приложения  будут выданы сообщения:
      1. Ввод координат вручную” – для перехода к ввода координат необходимо ввести 1;
      2. Контрольный пример” – для перехода в тестовый режим необходимо ввести 2;
      3. Выход” – для выхода из программы необходимо ввести 3;
       

    Web приложение на базе скриптового языка Perl
          Инструментальные  средства разработки
     Perl (Practical Extraction and Report  Language  )  является переносимым,  интерпретируемым языком,  идеально  приспособленным для многочисленных приложений по обработке текста. Perl поддерживает структурированные программные конструкции,  как и большинство языков программирования высокого уровня, и предлагает богатство встроенных возможностей (удобен для решения задач администрирования Web-сервисов, электронной почты  и других систем).
Для реализации программы на языке Perl сначала необходимо набрать ее текст в обычном текстовом редакторе, потом сохранить этот файл с  расширением .pl.
     Файлы с расширением .html называются статическими страницами, поскольку они посылаются клиенту без изменений. Первоначально пользователь запускает HTML страницу для ввода исходных данных, которая потом в свою очередь вызывает скрипт .pl
    <form name="Form" action="script.pl" method="POST">
     Скрипт  на языке Perl расположен на сервере и содержит также  блок с обычным HTML-кодом. Файл с расширением .pl формирует HTML-код, посылаемый клиенту, динамически в процессе выполнения скрипта. Код, выполнявшийся на стороне сервера, увидеть в окне браузера невозможно - клиент получает лишь результат его работы.

    Рис. 6. UML диаграмма Perl приложения
      Реализация  приложения
      В приложении необходимо реализовать  подсчет площади треугольника методом Монте-Карло, геометрическим методом, подсчет погрешности вычислений и времени выполнения вычислений. Для этого были созданы две страницы приложения:
      Index.html – содержит поля для ввода пользователем координат вершин треугольника и передает их на следующую страницу;
      Script.pl – содержит скрипт, реализующий вычисление площади треугольника, погрешности, времени и вывод данных. Осуществляет основную функциональность приложения.
     При обращении к виртуальному каталогу, содержащему данное приложение, автоматически  в браузер загружается HTML-страница (страница Index.html).
      На  странице Index.html реализуется ввод данных пользователем в таблицу (координат вершин треугольника, площадь которого необходимо посчитать). После чего, при нажатии на кнопку «Вычислить», введенные данные будут отправлены с помощью метода Post в скрипт Script.pl, который будет производить необходимые вычисления. Код, реализующий выше приведенные действия, выглядит  следующим образом:
      Реализация  передачи данных странице Script.pl:
    <form name="Form" action="http://localhost/cgi/script.pl" method="POST">
     Оформление  таблицы, в которую пользователь должен ввести координаты вершин треугольника:
     <table border=0>
     
     </table>
     Вывод рисунка, иллюстрирующего расположение треугольника и описывающего его прямоугольника в системе координат:
     <td> <img src="zadanie.jpg"> </td>
     Реализация  полей, в которые будут вводиться  данные:
<table border=0>
<td> <img src="zadanie.jpg"> </td>
<td>  <B><FONT SIZE=4 COLOR=GREEN>Пример треугольника bce:</FONT></B>
<pre>
<input style="width: 35px; vertical-align: middle; text-align: center; " type="text" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center; color=#008000" value="X" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center; color=#008000" value="Y" readonly="readOnly">
<input style="width: 35px; vertical-align: middle; text-align: center; COLOR=#008000" type="text"value="E" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="ex" value="90"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="ey" value="100">
<input style="width: 35px; vertical-align: middle; text-align: center; COLOR=#008000" type="text"value="B" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="bx" value="25"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="by" value="0" readonly="readOnly">
<input style="width: 35px; vertical-align: middle; text-align: center; COLOR=#008000" type="text" value="C" readonly="readOnly"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="cx" value="50"> <input type="text" style="width: 100px; vertical-align: middle; text-align: center;" name="cy" value="0" readonly="readOnly">
<br><br>
      На  странице Script.pl производится выполнение всех вычислений (нахождение площадей треугольника и прямоугольника из геометрических соображений, нахождение площади треугольника методом Монте-Карло, вычисление погрешности метода, подсчет времени вычислений), а также вывод результатов вычислений в таблицу
<form name=\"Form\" action=\"script.pl\" method=\"POST\">
    <br />
    <br />
   <table "Table\" border=\"-1\" style=\"font-size: 12pt\">
        <tr>
            <td style=\"width: 77px; text-align: center; height: 20px; vertical-align: middle;\">
                <strong style=\"vertical-align: top; text-align: center\">
    Количество точек:</strong></td>
            <td style=\"width: 120px; height: 20px; text-align: center; vertical-align: middle;\">
                <strong style=\"vertical-align: top; text-align: center\">Площадь  методом Монте-карло :</strong></td>
            <td style=\"width: 77px; height: 20px; text-align: center; vertical-align: middle;\">
                <strong style=\"vertical-align: middle; text-align: center\">Погрешность  вычислений(в %):</strong></td>
            <td style=\"width: 127px; height: 21px; text-align: center; vertical-align: middle; line-height: normal; letter-spacing: normal;\">
                <strong style=\"vertical-align: top; text-align: center\">Время  расчета
                    <br />
                    (в сек.):</strong></td>
        </tr>
     При проведении расчетов используются функции  и порядок их вызова, аналогичный  консольному приложению, перенесенные на язык Perl. В процессе выведении расчетов формируется таблица, в которую автоматически вписываются результаты проведенных вычислений.
     Функция controldata роверяет введенные данные на корректность:
sub controldata{
my ($bx,$cx,$by,$cy,$ey,$ex) = @_;
if (($cy!=0) or ($by != 0) or ($bx > $cx) or ($ey == 0) or ($ey < 0) or ($bx < 0) or ($cx < 0) or ($ex < 0)) { return 0 ;}
else {return 1;}
}
      Функция RandGenerAndTest генерирует случайные точки , проверяет их на попадание в треугольник , возращает число попавших точек
sub RandGenerAndTest{
      my $m = 0;
      my ($n, $bx, $by, $cy, $cx, $ex, $ey, $xmax, $xmin) = @_;
      for(my $i = 1; $i < $n; $i++) 

    {
        my $px = $xmin + rand($xmax - $xmin);
       my $py = rand($ey);
        my $temp = $py * ($ex - $bx) / ($ey - $by) - $by * ($ex - $bx) / ($ey - $by) + $bx;
        my $temp1 = $py * ($ex - $cx) / ($ey - $cy) - $cy * ($ex - $cx) / ($ey - $cy) + $cx;
        if (($temp1 >= $px) && ($temp <= $px)){
                        $m++;}
    }
   return ($m/$n);
}
      Результаты  работы приложения.
       На  рисунке 7 изображен внешний вид Web-приложения на базе ASP в стартовом состоянии.

Рис. 7. Внешний вид Web-приложения в стартовом состоянии
       На  рисунке 8 изображен внешний вид  приложения после проведения расчёта. Выходные данные формируются в виде таблицы.

Рис. 8. Внешний вид приложения после проведения расчёта
      Руководство программиста
       Приложение  состоит из следующих файлов:
      index.html – стартовая интернет-страница. Содержит изображение заданного треугольника, поля для ввода значений координат и кнопку для отправки введённых значений;
      script.pl– файл, который содержит скрипт на языке Perl, реализующий метода Монте-Карло.
       Для запуска web приложения необходимо опубликовать папку с сайтом на сервере Apache, поместив файл со скриптом в каталог Y:\home\.
       Все вычисления организованы на стороне  сервера. На клиентской стороне используется только скрипт, проверяющий корректность вводимых данных пользователем.
      Руководство системного программиста
       Для запуска данного приложения необходимо установить и настроить сервер для  скрипта Perl. Для написания приложения, будем использовать сервер Apache. Самый легкий способ настройки сервера Apache под Perl - это установка серверного пакета Denwer (включает в себя по умолчанию Apache). Denwer пердлагает установить свой пакета со сразу настроенным Apache. Для установки Denwer необходимо:
      создать виртуальный диск (при установке это предлагается сделать). Например: Y;
      при запуске сервера необходимо выключить в сервисах IIS, так как при запущенном IIS, Apache работать не будет;
      в браузере открыть страницу http://localhost/;
      для проверки настройки на скрипт Perl, необходимо в браузере открыть страницу http://localhost/cgi/test.pl.
     Папку с web приложением на базе Perl необходимо поместить в виртуальный каталог Apache. Для того чтобы создать новый виртуальный каталог необходимо выполнить следующие действия:
      запустить Apache;
      в созданном виртуальном диске Y перейти в папку Y:\home\;
      создать там любой каталог например Y:\home\tester.ru;
      перейти в него и создать папку www;
      в эту папку поместить index.html, script.pl, picture.jpg(содержащий картинку с заданием).
     После публикации сайта он станет доступен по адресу http://tester.ru, по умолчанию откроется страница http://tester.ru /index.html.
        Системные требования
      Для выполнения настольного приложения необходимы:
      операционная система MS Windows XP/Vista/7;
      наличие браузера Internet Explorer 6.0 или выше;
      наличие сервера Apache;
      Web-приложение на базе WPF и Web-сервисов ASP.NET
          Программные средства разработки приложения
     Данное  приложение состоит из двух частей: клиентского приложения WPF и Web–сервиса, обеспечивающего функциональность клиентского приложения.
     Информационный  сервер Internet компании Microsoft (Internet Information Server – IIS) взаимодействует как со страницами ASP.NET так и с Web-службами, которые отсылают ему запросы по протоколу передачи гипертекстовых файлов HTTP. Запросы кодируются как часть унифицированного указателя информационного ресурса (URL) или представляются в виде XML-текста. В ответ на запрос Web-службы информационный сервер Internet (IIS) создает запрошенный объект. Затем информационный сервер вызывает метод объекта, который обрабатывает соответствующий запрос. Любые возвращаемые данные преобразуются в XML-формат и возвращаются клиенту как ответ по протоколу передачи гипертекстовых файлов HTTP.
     Прежде  чем клиент сможет использовать Web-службу, он должен быть способен создавать, отправлять, получать и понимать XML-сообщения. Платформа .NET предоставляет решение в виде специального компонента, который называется прокси-классом (proxy class) и который выполняет наиболее трудную часть работы для клиентского приложения. Прокси-класс скрывает вызовы методов Web-службы. Он отвечает за генерацию SOAP-сообщений в корректном формате и управление сообщениями в сети (с помощью протокола HTTP). Когда прокси-класс получает ответное сообщение, он еще и преобразует результаты обратно в соответствующие типы данных .NET.
     Благодаря прокси-классу, вызывать Web-метод в Web-службе можно так же легко, как и в локальном компоненте. Однако эта прозрачность не всегда приносит пользу, поскольку Web-службы имеют характеристики, отличающиеся от локальных компонентов. Например, вызов Web-метода занимает неизвестное заранее количество времени, поскольку каждый такой вызов должен преобразовываться в XML и пересылаться через сеть. Чтобы к Web-службе можно было получить доступ с другого компьютера, эта Web-служба должна быть доступной. Необходимо создать виртуальный каталог для  Web-службы. Затем, создав Web-сервис, обеспечивающий функциональность клиентского приложения, мы можем из данного приложения вызывать эту службу.
          Логическое проектирование приложения
     Создадим  web-сервис Service, который будет осуществлять расчет площади треугольника по методу Монте-Карло. Web-сервис Service реализуется с помощью класса Service. Класс Service наследуется от класса System.Web.Services.WebService. На рис. 9. представлена UML диаграмма класса Service

Рис. 9. Диаграмма класса web-сервиса
     Методы  Web-сервиса Service:
      int f1(double bx, double by, double cy, double cx,double ex, double ey, int n, double xmax, double xmin) – данный метод в качестве аргументов принимает число точек, генерируемых случайным образом, необходимых при вычислении площади треугольника методом Монте-Карло, в каждом опыте, а также координаты вершин треугольника. Метод будет возвращать количество попавших точек в область треугольника;
      double pogr(double s, double s1) – данный метод в качестве аргументов принимает, математическую площадь треугольника и площадь треугольника, посчитанную методом Монте-Карло. Возвращает погрешность в процентах;
      double smat(double ax, double ay, double by, double bx, double cx, double cy) – данный метод в качестве аргументов принимает координаты вершин треугольника. Возвращает значение площади полученное математически;
      double sras(double p, double a, double s) – данный метод в качестве аргументов принимает значение площади прямоугольника, описывающего треугольник,  и количество попавших точек в область треугольника. Возвращает значение площади треугольника, посчитанной с помощью метода Монте-Карло.
     Прокси-класс  создается с помощью встроенного инструментария Visual Studio, поэтому просмотреть его код будет невозможно, т.к. он генерируется позже, во время компиляции. В Visual Studio прокси-класс создается путем добавления в проект клиента соответствующей Web-ссылки. Web-ссылки похожи на обычные ссылки, но вместо того, чтобы указывать на блоки с помощью обычных типов данных .NET, они указывают на URL-адрес Web-службы с помощью WSDL-контракта. При создании Web-ссылки используют WSDL-контракт и ту информацию, которая существует на момент, когда они добавляются. Заметим, что отличие от локальных компонентов, Web-ссылки не обновляются автоматически при перекомпиляции приложения.
     Создадим  клиентское приложение, которое будет  обращаться к описанному ранее web-сервису. Для этого добавим в решение новый проект – WPF. При этом создадим web-ссылку на web-метод.
     Особенностью  данного приложения является то, что  не само приложение вычисляет площадь  и дополнительные параметры. Оно  лишь осуществляет запрос к web-сервису, который по заданным координатам рассчитывает площадь. Непосредственно перед запросом необходимо создать прокси - класс.
     В клиентской части приложения  был  определен класс MainWindow, который содержит поля, хранящие значения координат, и методы – обработчики событий на форме.
      На  рис. 10. представлена UML диаграмма класса MainWindow.

Рис. 10. Диаграмма класса MainWindow
      Класс MainWindow содержит следующие методы и поля:
      Serv – обращение к серверу;
      private void button2_Click(object sender, RoutedEventArgs e) - обработчик события нажатия на кнопку «Расчитать все». Этот метод рассчитывает значения;
      private void radioButton1_Checked(object sender, RoutedEventArgs e) – обработчик события при выборе первого контрольного примера;
      private void radioButton2_Checked(object sender, RoutedEventArgs e) – обработчик события при выборе второго контрольного примера;
      private void radioButton3_Checked(object sender, RoutedEventArgs e) – обработчик события при выборе третьего контрольного примера;
      private void radioButton4_Checked(object sender, RoutedEventArgs e) – обработчик события при выборе четвертого контрольного примера;
      private void radioButton5_Checked(object sender, RoutedEventArgs e) обработчик события при выборе пятого контрольного примера.
          Генерирование прокси-класса
     После создания клиентского приложения ему  необходимо добавить прокси-класс для  доступа к web-сервису. Прокси-класс – это класс, созданный из файлаWSDL Web-службы, позволяющий клиенту вызывать методы Web-службы по Интернету. Клиенту не обязательно просматривать прокси-класс или выполнять с ним какие-либо операции.
     После тестирования работы Web-службы, мы можем добавить в клиентское приложение ссылку на Web-службу, т.е. создать прокси-класс.
     Существуют  два способа создания прокси-класса в .NET:
      воспользоваться утилитой командной строки wsdl.ехе;
      воспользоваться предлагаемой в Visual Studio возможностью для добавления Web-ссылок.
     Оба эти подхода, по сути, дают один и  тот же результат, поскольку они  предполагают использование одних и тех же классов в .NET Framework для выполнения фактической работы. Отличием подхода, предполагающего использование утилиты wsdl.exe, от подхода, предполагающего использование функции для добавления Web-ссылок в приложение ASP.NET, является то, что в случае применения функции для добавления Web-ссылок увидеть фактический код прокси-класса будет невозможно (потому что он генерируется позже, во время компиляции). Это ограничение не распространяется на клиентов других типов, например, приложений Windows Form или консольного типа. Они не используют модель компиляции ASP.NET, поэтому код прокси-класса добавляется прямо в проект.
          Системные требования
     Для работы третьего приложения требуется наличие следующих программных пакетов:
      операционная система MS Windows XP(SP2)/XP(SP3)/Vista/7;
      информационный сервер Интернета (Internet Information Server, IIS 5.1 или выше);
      наличие виртуального каталога, содержащего непосредственно Web-сервис;
      наличие Microsoft .NET Framework версии 2.0 или выше.
          Руководство системного программиста
        Общие сведения о приложении
     Приложение  предназначено для вычисления площади  треугольника методом Монте-Карло. Приложение состоит из двух частей (клиентской и серверной) и реализовано  на языке программирования высокого уровня C#. При реализации были использованы принципы объектно-ориентированного программирования.
        Настройка приложения
     Для обеспечения работоспособности  приложения требуется выполнить  установку IIS-сервера и создать виртуальный каталог, в который необходимо поместить работающее приложение.
     Установка и настройка сервера IIS.
     IIS обычно входит в дистрибутивы операционных систем MS Windows 2000/XP. Он устанавливается либо в процессе установки этих операционных систем, либо позже, во время их эксплуатации (запускается команда добавления новых компонентов операционной системы).
     Создание  виртуального каталога и публикация web-сервиса:
     Для того чтобы опубликовать web-сервис на сервере IIS необходимо выполнить следующую последовательность действий:
      запустить диспетчер служб Интернета (Панель управления ® Администрирование ® Internet Information Server);
      раскрыть список с названием компьютера в левой части окна приложения;
      на пункте «Web - узел по умолчанию» щелкнуть правой кнопкой мыши для вызова контекстного меню, выбрать «Создать ® Виртуальный каталог»;
      следуя подсказкам мастера создать виртуальный каталог (устанавливаем имя, по которому будет осуществляться доступ в сети к виртуальному каталогу, и местонахождение на диске фактического каталога).
     Имя для виртуального каталога лучше  выбирать осмысленно. В качестве имени  рекомендуется ввести  Service.
     Клиентское  приложение дополнительной настройки  не требует.
        Проверка  приложения
     Проверка  работоспособности программы осуществляется посредством запуска исполняемого файла программы и проведения вычисления по базовым координатам.
          Руководство программиста
        Назначение  и условия применения приложения
     Приложение  предназначено для вычисления площади  треугольника методом Монте-Карло. Приложение состоит из двух частей (клиентской и серверной) и реализовано  на языке программирования высокого уровня C#. При реализации были использованы принципы объектно-ориентированного программирования.
        Структура приложения
     Данное  приложение состоит из двух частей (клиентской и серверной). В клиентской части реализован интерфейс пользователя MS Windows. Серверным приложением является Web-служба XML.
     В состав проекта клиентского приложения ASP.NET входят следующие файлы:
     MainWindow.xml – описывает интерфейс программы;
     MainWindow.xml.cs – содержит обработчики событий, вызываемые пользователем действиями на клиентском приложении;
     Reference.cs – содержит прокси-класс web-сервиса;
     Reference.map – содержит ссылки на файлы с расширениями .disco и .wsdl;
     Service.disco – содержит ссылки и адреса на механизмы, используемые для доступа к web-сервису;
     Service.wsdl – описание web-сервиса.
     В проект включены следующие пространства имен:
     System – основное пространство имен, содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений;
     System.Collections – пространство имен в котором содержится большое количество встроенных типов, таких как массив, очередь, стек и др. Обладает широкими возможностями для работы со своими встроенными типами, что позволяет наиболее эффективно ими управлять.
     System.Windows.Forms – пространство имен содержит классы для создания приложений Windows, которые позволяют наиболее эффективно использовать расширенные возможности пользовательского интерфейса, доступные в операционной системе Microsoft Windows.
     System.Drawing – пространство имен обеспечивает доступ к GDI + основным инструментариям графики. Предоставляет методы для рисования с устройством отображения классов, таких как прямоугольник и точка инкапсуляции GDI + примитивов.
     Проект  web-сервиса содержит следующие файлы:
     Service.asmx – точка входа в web-сервис;
     Service.cs – содержит основной код (реализацию) web-сервиса;
     web.config – содержит настройки web-сервиса.
     В проекты включены следующие пространства имен:
     System – основное пространство имен, содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки. Также содержит классы, обеспечивающие поддержку преобразования типов данных, операций с параметрами методов, математических операций, удаленного и локального вызова программ, управления средой приложений и контроля управляемых и неуправляемых приложений;
     System.Web – пространство имен, осуществляет поддержку классов и интерфейсов, которые обеспечивают взаимодействие между Web-обозревателем и сервером. Данное пространство имен включает класс HttpRequest, предоставляющий развернутые сведения о текущем HTTP-запросе, класс HttpResponse, управляющий HTTP-выводом данных для клиента, и класс HttpServerUtility, с помощью которого можно получить доступ к серверным служебным программам и процессам. Также пространство имен System.Web содержит классы для работы с файлами Cookie, передачи файлов, получения сведений об исключениях и управления кэшем вывода;
     System.Web.Services – пространство имен содержит классы, позволяющие создавать Web-службы XML с помощью ASP.NET и клиентов Web-служб XML. Web-службы XML представляют собой приложения, обеспечивающие возможность обмена сообщениями в слабосвязанной среде с помощью стандартных протоколов, таких как HTTP, XML, XSD, SOAP и WSDL. Web-службы XML делают возможным создание в неоднородной внутрифирменной или межфирменной среде модульных приложений, совместимых с широким диапазоном реализаций, платформ и устройств. Сообщения XML на базе протокола SOAP, используемые этими приложениями, могут содержать четко определенные (структурированные или типизированные) или свободно определенные с помощью произвольного содержимого XML части. Способность этих сообщений к дальнейшему развитию без нарушения протокола является основой гибкости и надежности Web-служб XML как структурного элемента будущей Web-сети;
     System.Drawing – пространство имен обеспечивает доступ к GDI + основным инструментариям графики. Предоставляет методы для рисования с устройством отображения классов, таких как прямоугольник и точка инкапсуляции GDI + примитивов;
     System.Collections – пространство имен в котором содержится большое количество встроенных типов, таких как массив, очередь, стек и др. Обладает широкими возможностями для работы со своими встроенными типами, что позволяет наиболее эффективно ими управлять.
          Руководство пользователя
        Назначение  приложения
      Приложение  предназначено для вычисления площади  треугольника методом Монте-Карло.
        Условия выполнения приложения
     Для успешной работы программы необходимо иметь компьютер соответствующим  системным требованиям (см. пункт «6.5 Системные требования»). Наличие исполняемого модуля Wpf.exe, опубликованный и корректно работающий на локальной машине web-сервис на сервере IIS.
        Выполнение  приложения
     Для выполнения приложения необходимо выполнить  следующие действия:
      запустить исполняемый модуль программы, который находится по адресу \Wpf\Wpf\bin\Debug\Wpf.exe (Для дальнейшей работы достаточно скопировать Wpf.exe в любую удобную директорию);
      в появившемся окне MS Windows ввести координаты треугольника, по которым будет производиться расчет;
      нажать на кнопку «Посчитать всё» и дождаться результатов работы программы (результат работы программы представлен на рис. 11);
      выход из программы осуществляется посредством закрытия окна приложения MS Windows «Метод Монте-Карло».
          Тестирование приложения
      Результаты тестирования представлены на рис. 11.

Рис. 11. Результат работы клиентского приложения на базе ASP.NET 
 

 


    Настольное  приложение на языке  F#
          Инструментальные средства разработки
     F# является функциональным и объектно-ориентированным  языком для платформы Microsoft .NET, базируется на языке OCaml. Как  следствие, его сильной стороной  является совмещение возможности  прямого использования .NET-библиотек,  а также других .NET-языков (C#, VB .NET) с возможностями, предоставляемыми функциональным программированием.
     F# использует механизмы автоматического  вывода типов и строго типизирован.  Поддерживает сопоставление по  образцу (pattern matching), допускает функции  с побочными эффектами (то есть  не является чистым функциональным  языком — pure functional language). Является  одним из языков семьи ML.
          Логическое проектирование приложения
     В соответствии с заданием необходимо создать консольное приложение. В данном приложении для написания основной функции мы будем использовать рекурсию (вызов функции самой себя), т.к. в данном языке отсутствует переопределение переменных и каждая объявленная переменная имеет значение константы, следовательно, мы не можем отследить количество попавших точек в область треугольника с помощью цикла и счетчика. Однако заметим, если мы будем вызывать рекурсию с использованием стека, т.е. на последнем шаге складывать получившиеся значения (единицы или нули) у нас произойдет ошибка, связанная с переполнением стека (стек в языках F# и C# предусматривает максимум 100 000 значений, что не соответствует с нашими требованиями). Для того чтобы избавиться от этой проблемы, мы будем использовать счетчик в виде новой переменной функции, который будет увеличиваться на единицу с каждым шагом, а не с последним вычислением.
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.