Технологии программирования

Автор работы: Пользователь скрыл имя, 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

Работа состоит из  1 файл

ТППЗ.docx

— 537.35 Кб (Скачать документ)

            <s:element minOccurs="1" maxOccurs="1" name="s1" type="s:double" />

          </s:sequence>

        </s:complexType>

      </s:element>

      <s:element name="pogrResponse">

        <s:complexType>

          <s:sequence>

            <s:element minOccurs="1" maxOccurs="1" name="pogrResult" type="s:double" />

          </s:sequence>

        </s:complexType>

      </s:element>

    </s:schema>

  </wsdl:types>

  <wsdl:message name="f1SoapIn">

    <wsdl:part name="parameters" element="tns:f1" />

  </wsdl:message>

  <wsdl:message name="f1SoapOut">

    <wsdl:part name="parameters" element="tns:f1Response" />

  </wsdl:message>

  <wsdl:message name="smatSoapIn">

    <wsdl:part name="parameters" element="tns:smat" />

  </wsdl:message>

  <wsdl:message name="smatSoapOut">

    <wsdl:part name="parameters" element="tns:smatResponse" />

  </wsdl:message>

  <wsdl:message name="srasSoapIn">

    <wsdl:part name="parameters" element="tns:sras" />

  </wsdl:message>

  <wsdl:message name="srasSoapOut">

    <wsdl:part name="parameters" element="tns:srasResponse" />

  </wsdl:message>

  <wsdl:message name="pogrSoapIn">

    <wsdl:part name="parameters" element="tns:pogr" />

  </wsdl:message>

  <wsdl:message name="pogrSoapOut">

    <wsdl:part name="parameters" element="tns:pogrResponse" />

  </wsdl:message>

  <wsdl:portType name="ServiceSoap">

    <wsdl:operation name="f1">

      <wsdl:input message="tns:f1SoapIn" />

      <wsdl:output message="tns:f1SoapOut" />

    </wsdl:operation>

    <wsdl:operation name="smat">

      <wsdl:input message="tns:smatSoapIn" />

      <wsdl:output message="tns:smatSoapOut" />

    </wsdl:operation>

    <wsdl:operation name="sras">

      <wsdl:input message="tns:srasSoapIn" />

      <wsdl:output message="tns:srasSoapOut" />

    </wsdl:operation>

    <wsdl:operation name="pogr">

      <wsdl:input message="tns:pogrSoapIn" />

      <wsdl:output message="tns:pogrSoapOut" />

    </wsdl:operation>

  </wsdl:portType>

  <wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">

    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />

    <wsdl:operation name="f1">

      <soap:operation soapAction="http://tempuri.org/f1" style="document" />

      <wsdl:input>

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

    <wsdl:operation name="smat">

      <soap:operation soapAction="http://tempuri.org/smat" style="document" />

      <wsdl:input>

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

    <wsdl:operation name="sras">

      <soap:operation soapAction="http://tempuri.org/sras" style="document" />

      <wsdl:input>

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

    <wsdl:operation name="pogr">

      <soap:operation soapAction="http://tempuri.org/pogr" style="document" />

      <wsdl:input>

        <soap:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">

    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />

    <wsdl:operation name="f1">

      <soap12:operation soapAction="http://tempuri.org/f1" style="document" />

      <wsdl:input>

        <soap12:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap12:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

    <wsdl:operation name="smat">

      <soap12:operation soapAction="http://tempuri.org/smat" style="document" />

      <wsdl:input>

        <soap12:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap12:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

    <wsdl:operation name="sras">

      <soap12:operation soapAction="http://tempuri.org/sras" style="document" />

      <wsdl:input>

        <soap12:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap12:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

    <wsdl:operation name="pogr">

      <soap12:operation soapAction="http://tempuri.org/pogr" style="document" />

      <wsdl:input>

        <soap12:body use="literal" />

      </wsdl:input>

      <wsdl:output>

        <soap12:body use="literal" />

      </wsdl:output>

    </wsdl:operation>

  </wsdl:binding>

  <wsdl:service name="Service">

    <wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">

      <soap:address location="http://localhost:14572/WebSite20/Service.asmx" />

    </wsdl:port>

    <wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">

      <soap12:address location="http://localhost:14572/WebSite20/Service.asmx" />

    </wsdl:port>

  </wsdl:service>

</wsdl:definitions>

Файл Service.disco

<?xml version="1.0" encoding="utf-8"?>

<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">

  <contractRef ref="http://localhost:14572/WebSite20/Service.asmx?wsdl" docRef="http://localhost:14572/WebSite20/Service.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />

  <soap address="http://localhost:14572/WebSite20/Service.asmx" xmlns:q1="http://tempuri.org/" binding="q1:ServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />

  <soap address="http://localhost:14572/WebSite20/Service.asmx" xmlns:q2="http://tempuri.org/" binding="q2:ServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />

</discovery>

 

Настольное  консольное приложение на языке F#

Файл Program.fs

open System

open System.Collections

open System.Text

/////////////////////////////////////////////

////-----------------||||||----------////////

let xmax (bx:double,cx:double,ex:double) =

    if bx >= cx && bx >= ex then

        bx

    elif cx >= bx && cx >= ex then

        cx

    else

        ex;;

/////////////////////////////////////////////

////-----------------||||||----------////////

let xmin (bx,cx,ex) =

    if bx <= cx && bx <= ex then

        bx

    elif cx <= bx && cx <= ex then

        cx

    else

        ex;;

/////////////////////////////////////////////

////-----------------||||||----------////////

let rec f1(n,bx,by,cx,cy,ex,ey,max,min,p:Random,shof:double) =

    if n = 1 then shof

    else

        begin

        let px = p.NextDouble()*(max-min)+min in

        let py = p.NextDouble()*ey in

        if (px <= (py*(ex-cx)/(ey-cy)-cy*(ex-cx)/(ey-cy)+cx) && px >= (py*(ex-bx)/(ey-by)-by*(ex-bx)/(ey-by)+bx)) then

            f1(n-1,bx,by,cx,cy,ex,ey,max,min,p,shof+1.0)

        else f1(n-1,bx,by,cx,cy,ex,ey,max,min,p,shof)

        end;;

/////////////////////////////////////////////

////-----------------||||||----------////////

let smat(bx,by,cx,cy,ex,ey) =

    Math.Abs((bx*cy-cx*by-(ex*cy-ey*cx)+(ex*by-ey*bx))/2.0);;

/////////////////////////////////////////////

////-----------------||||||----------////////

let sras(p:double,a:double,s:double):double =

    s*p/a;;

/////////////////////////////////////////////

////-----------------||||||----------////////

let pogr(s:double,s1:double) =

    Math.Abs(((s-s1)/s1)*100.0);;

/////////////////////////////////////////////

////-----------------||||||----------////////

let srect(ey,max,min) =

    ey*(max-min);; 

while true do

    Console.WriteLine("^");

    Console.WriteLine("|                  E");

    Console.WriteLine("|                 *");

    Console.WriteLine("|               **");

    Console.WriteLine("|             ****");

    Console.WriteLine("|           *****");

    Console.WriteLine("|         ******");

    Console.WriteLine("|       *******");

    Console.WriteLine("|     ********");

    Console.WriteLine("|____B______C________________________->x");

    Console.WriteLine("Выберите как вы хотите задать точки: ");

    Console.WriteLine("1. Ввести вручную");

    Console.WriteLine("2. Использовать контрольный примеры");

    Console.WriteLine("3. Выход");

    let choise = Convert.ToInt32(Console.ReadLine()) in

    if choise = 1 then

        begin

            Console.WriteLine("Введите Bx")

            let by = 0.0

            let bx:double = Convert.ToDouble(Console.ReadLine())

            Console.WriteLine("Введите Cx")

            let cx:double = Convert.ToDouble(Console.ReadLine())

            let cy = 0.0

            Console.WriteLine("Введите Ex")

            let ex:double = Convert.ToDouble(Console.ReadLine())

            Console.WriteLine("Введите Ey")

            let ey:double = Convert.ToDouble(Console.ReadLine())

            let rnd = Random()

            let dtr1 = DateTime.Now

            let shoot = f1(1000,bx,by,cx,cy,ex,ey,xmax(bx,cx,ex),xmin(bx,cx,ex),rnd,0.0) in

            let dtr2 = DateTime.Now

            Console.WriteLine("\nТочная площадь треугольника равна {0}\n", smat(bx,by,cx,cy,ex,ey))

            Console.WriteLine("\nКоличество точек   Площадь     Погрешность,%   Время вычислений, мс")

Информация о работе Технологии программирования