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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать документ)

my $precision = sprintf("%.2f",(abs($s - $s_p) / $s)*100);

###

print "<tr>

            <td style=\"vertical-align: middle; width: 139px; text-align: center; height: 26px;\">

                $i</td>

            <td id=\"T_$i 1\" style=\"vertical-align: middle; width: 108px; text-align: center; height: 26px;\">

                <input id=\"Text_$i 1\" type=\"text\" style=\"text-align: center;\" readonly=\"readOnly\" value=\"$s_p\" /></td>

            <td id=\"T_$i 2\" style=\"vertical-align: middle; width: 127px; text-align: center; height: 26px;\">

                <input id=\"Text_$i 2\" type=\"text\" style=\"text-align: center;\" readonly=\"readOnly\" value=\"$precision\" /></td>

            <td id=\"T_$i 3\" style=\"vertical-align: middle; width: 127px; text-align: center; height: 21px; line-height: normal; letter-spacing: normal;\">

                <input id=\"Text_$i 3\" type=\"text\" style=\"text-align: center;\" readonly=\"readOnly\" value=\"$time\" /></td>

        </tr>

        ";

###

###

}

print "</table>

<br />

    <br />

&nbsp;<B><FONT SIZE=4 COLOR=GREEN>площадь треугоника BCE, вычисленная  математическим способом:</FONT></B>

    <input id=\"RealS\" type=\"text\" style=\"width: 127px; font-size: 10pt; line-height: normal; letter-spacing: normal; text-align: center;\" readonly=\"readOnly\" size=\"\" value=\"$s\" />

<br />

    <br /> 
 
 

</form>

</body>

</html>"

}

else {

#####

print "<html>

<head>

  <meta http-equiv=\"Content-Type content=text/html; charset=1251\">

  </head>

<body>

<center><B><FONT SIZE=5 COLOR=GREEN>Программа вычисляет площадь треугольника методом Монте-Карло. Программа написанна на базе скриптов Perl.</FONT></B></center>

<hr> 

<B>Введены неверные координаты !!!</B>

<BR>

<p>Проверьте введенные координаты.

<p>

</body> </html>"; 

} 

### 

 

      

Серверное приложение WPF

Серверная часть

Файл Service.cs

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.Services; 

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 

public class Service : System.Web.Services.WebService

{

    public Service () { 

        //Раскомментируйте следующую строку  в случае использования сконструированных  компонентов 

        //InitializeComponent();

    } 

    [WebMethod]

    public int f1(double bx, double by, double cy, double cx,double ex, double ey,int n, double xmax, double xmin)

    {

        Random rnd = new Random();

        double temp = 0;

        double temp1 = 0;

        double px = 0;

        double py = 0;

        int shoot = 0;

        for (int i = 0; i < n; i++)

        {

            py = rnd.NextDouble() * ey;

            px = rnd.NextDouble() * (xmax - xmin) + xmin;

            temp = py * (ex - bx) / (ey - by) - by * (ex - bx) / (ey - by) + bx;

            temp1 = py * (ex - cx) / (ey - cy) - cy * (ex - cx) / (ey - cy) + cx;

            if (temp1 >= px && temp <= px)

                shoot++;

        }

        return shoot;

    }

    [WebMethod]

    public double smat(double ax, double ay, double by, double bx, double cx, double cy)

    {

        return ((bx * cy - cx * by) - (ax * cy - ay * cx) + (ax * by - bx * ay)) / 2;

    }

    [WebMethod]

    public double sras(double p, double a, double s)

    {

        double k = 0;

        k = s * p / a;

        return k;

    }

    [WebMethod]

    public double pogr(double s, double s1)

    {

        double z = 0;

        z = Math.Abs(((s - s1) / s1) * 100);

        return z;

    }

   

}

Файл web.config

<?xml version="1.0"?>

<!--

    Примечание: В качестве альтернативы редактирования  этого файла можно воспользоваться 

    инструментом  веб-администрирования для настройки  параметров приложения. Воспользуйтесь

    параметром  Веб-сайт->Конфигурация Asp.Net в Visual Studio.

    Полный  список параметров и комментариев  можно найти в файле 

    machine.config.comments обычно расположенном в папке

    \Windows\Microsoft.Net\Framework\vx.x\Config

-->

<configuration>

      <appSettings/>

      <connectionStrings/>

      <system.web>

            <!--

            Значение параметра compilation debug="true" означает, что в откомпилированную

            страницу будут вставлены отладочные  символы. Так как этот 

            параметр влияет на производительность, следует задавать для него 

            значение True только на этапе разработки.

        -->

            <compilation debug="true">

            </compilation>

            <!--

          Раздел <authentication> позволяет настроить  параметры 

          режима проверки подлинности, используемого ASP.NET для проверки

          подлинности пользователя, запрашивающего  разрешение на доступ.

        -->

            <authentication mode="Windows"/>

            <!--

            Раздел <customErrors> служит для настройки  действий,

            выполняемых при возникновении необрабатываемой

            ошибки во время выполнения  запроса. В частности, 

            разработчик может задать html-страницы ошибок

            для отображения вместо трассировки  ошибки в стеке. 

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

             <error statusCode="403" redirect="NoAccess.htm" />

             <error statusCode="404" redirect="FileNotFound.htm" />

           </customErrors>

        -->

      </system.web>

</configuration>

Файл Service.asmx

<%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %>

Клиентская часть

Файл app.config

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

<configuration>

    <configSections>

        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

            <section name="Wpf.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

        </sectionGroup>

    </configSections>

    <applicationSettings>

        <Wpf.Properties.Settings>

            <setting name="Wpf_localhost_Service" serializeAs="String">

                <value>http://localhost:14572/WebSite20/Service.asmx</value>

            </setting>

        </Wpf.Properties.Settings>

    </applicationSettings>

</configuration>

Файл MainWindow.xaml

<Window x:Class="Wpf.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="476" Width="764" Background="White">

    <Grid Height="408" Width="706" Background="White">

        <Label Content="B:" Height="24" HorizontalAlignment="Left" Margin="12,62,0,0" Name="label1" VerticalAlignment="Top" FontWeight="Bold" />

        <Label Content="C:" Height="24" HorizontalAlignment="Left" Margin="12,92,0,0" Name="label2" VerticalAlignment="Top" FontWeight="Bold" />

        <Label Content="E:" Height="24" HorizontalAlignment="Left" Margin="12,122,0,0" Name="label3" VerticalAlignment="Top" FontWeight="Bold" />

        <TextBox Height="23" Name ="Bx" HorizontalAlignment="Left" Margin="55,63,0,0" VerticalAlignment="Top" Width="50" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="55,93,0,0" Name="Cx" VerticalAlignment="Top" Width="50" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="55,124,0,0" Name="Ex" VerticalAlignment="Top" Width="50" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="111,63,0,0" Name="By" VerticalAlignment="Top" Width="50" Text="0" IsReadOnly="True" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="111,93,0,0" Name="Cy" VerticalAlignment="Top" Width="50" Text="0" IsReadOnly="True" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="111,124,0,0" Name="Ey" VerticalAlignment="Top" Width="50" />

        <Label Content="    x" Height="24" HorizontalAlignment="Right" Margin="0,33,624,0" Name="label4" VerticalAlignment="Top" FontWeight="Bold" Background="White"></Label>

        <Label Content="    y" Height="24" HorizontalAlignment="Left" Margin="111,33,0,0" Name="label5" VerticalAlignment="Top" FontWeight="Bold" Background="White"></Label>

        <Label Content="Контрольные примеры" Height="28" HorizontalAlignment="Left" Margin="176,29,0,0" Name="label6" VerticalAlignment="Top" Width="137" FontWeight="Bold" FontStyle="Italic" Background="White"></Label>

        <Button Content="Построить всё" Height="28" HorizontalAlignment="Left" Margin="311,131,0,0" Name="button2" VerticalAlignment="Top" Width="119" Click="button2_Click" Foreground="Black" Effect="{Binding}" Background="#24B2A0A0" />

        <Label Content="Время в ms" Height="28" HorizontalAlignment="Left" Margin="574,189,0,0" Name="label8" VerticalAlignment="Top" Width="73" FontWeight="Bold" />

        <Label Content="Погрешность" Height="28" HorizontalAlignment="Left" Margin="435,189,0,0" Name="label9" VerticalAlignment="Top" Width="80" FontWeight="Bold" />

        <Label Content="Площадь рас." Height="28" HorizontalAlignment="Left" Margin="299,189,0,0" Name="label10" VerticalAlignment="Top" Width="81" FontWeight="Bold" />

        <Label Content="Площадь мат." Height="28" HorizontalAlignment="Left" Margin="166,189,0,0" Name="label11" VerticalAlignment="Top" Width="80" FontWeight="Bold" />

        <Label Content="Колличество бросков" Height="28" HorizontalAlignment="Left" Margin="37,189,0,0" Name="label12" VerticalAlignment="Top" Width="123" FontWeight="Bold" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="37,223,0,0" Name="t11" VerticalAlignment="Top" Width="120" IsReadOnly="True" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="36,252,0,0" Name="t21" VerticalAlignment="Top" Width="120" IsReadOnly="True" />

        <TextBox Height="23" HorizontalAlignment="Left" Margin="36,281,0,0" Name="t31" VerticalAlignment="Top" Width="120" IsReadOnly="True" />

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