
- •Введение
- •Постановка задачи
- •Разработка технического задания
- •2.1 Анализ вариантов использования программы
- •Потоки событий
- •Основной поток
- •2.2. Альтернативные потоки
- •2.2 Требования к приложениям
- •Анализ алгоритма решения задачи
- •3.1 Метод Монте-Карло
- •3.2 Определение попадания точки внутрь трапеции
- •Настольное приложение wpf
- •4.1 Технология Windows Presentation Foundation
- •4.2 Логическое проектирование приложения
- •4.3 Тестирование приложения
- •5.1 Программные средства для разработки приложения
- •5.2 Логическое проектирование
- •5.2.1 Структура приложения
- •5.2.2 Проектирование приложения.
- •Листинг №1. Определение попадания точки в четырехугольник. HaXe.
- •6. Клиент-Серверное приложение на базе asp.Net
- •6.1 Программные средства разработки приложения
- •6.2 Логическое проектирование Web-сервиса
- •6.3 Логическое проектирование клиентской части
- •6.4 Генерирование прокси-класса
- •6.5 Системные требования
- •Руководство программиста
- •6.7.1 Назначение и условия применения приложения
- •Структура приложения
- •6.8.4 Сообщения оператору
- •6.9 Тестирование приложения
- •Анализ вычислительной эффективности приложений
- •Заключение
- •Приложения
- •9.1 Листинг приложения на базе wpf Файл MainWindow.Xaml
- •Файл MainWindow.Xaml.Cs
- •9.2 Листинг приложения на базе haXe/php Файл Main.Hx
- •Файл Index.Html
- •9.3 Листинг клиент-северного приложения на базе asp.Net Файл Service.Asmx
- •Файл Service.Cs
- •Файл MainWindow.Xaml
- •Файл MainWindow.Xaml.Cs
Заключение
В ходе работы было разработано настольное приложение, приложение на базе технологии ASP и приложение на базе технологии ASP.NET , решающие одну и ту же задачу приближенного вычисления площади четырехугольника методом Монте-Карло. По полученным результатам была исследована вычислительная эффективность различных технологий программирования.
В результате выполнении данной курсовой работы были закреплены знания по курсу "Технологии программирования" и приобретены навыки клиент-серверной реализации прикладной задачи (задачи вычисления площади геометрической фигуры методом Монте-Карло) в виде Web приложения с использованием Web сервера IIS и Web сервисов XML, технологий ASP, ASP.NET, WPF, языков C#, haxe, PHP, HTML, а также различных инструментальных систем и библиотек, автоматизирующих проектирование и программирование создаваемого приложения.
Приложения
9.1 Листинг приложения на базе wpf Файл MainWindow.Xaml
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="П1_ТП.Window1"
x:Name="Window"
Title="П1.WPF: Метод Монте-Карло ABCE"
Height="600" Width="600"
MinWidth="600" MinHeight="600" SnapsToDevicePixels="False" MaxWidth="600" MaxHeight="600" Loaded="Window_Loaded">
<Grid Height="509">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="472*" />
<ColumnDefinition Width="106*" />
</Grid.ColumnDefinitions>
<GroupBox Header="Контрольные примеры" Height="54" Name="groupBox1" VerticalAlignment="Bottom" Margin="0,0,0,-10" FontStyle="Normal" FontWeight="Normal" Grid.ColumnSpan="2">
<WrapPanel Height="26" Name="wrapPanel2" Width="523">
<Button Height="23" Name="button1" Width="104" Click="button1_Click" Content="№1(C>E)"></Button>
<Button Height="23" Name="button2" Width="104" Click="button2_Click" Content="№2(C=E)"></Button>
<Button Height="23" Name="button3" Width="104" Click="button3_Click" Content="№3(C>E)"></Button>
<Button Height="23" Name="button4" Width="104" Click="button4_Click" Content="rand №4(C<E)"></Button>
<Button Height="23" Name="button5" Width="104" Click="button5_Click" Content="rand №5(C>E)"></Button>
</WrapPanel>
</GroupBox>
<GroupBox Header="Таблица результатов" Margin="0,229,0,43" Name="groupBox2" Grid.ColumnSpan="2">
<WrapPanel Height="186" Name="wrapPanel1" Width="521">
<TextBox Height="50.347" Name="textBox1" Width="104" IsReadOnly="True" MinLines="1" MaxLines="2" TextWrapping="WrapWithOverflow" CharacterCasing="Normal" AutoWordSelection="False" AcceptsTab="False" AcceptsReturn="False" TextDecorations="None" TextAlignment="Center">Количество точек</TextBox>
<TextBox Height="50.339" Name="textBox2" Width="104" IsReadOnly="True" TextAlignment="Center" TextWrapping="WrapWithOverflow">Количество попавших точек</TextBox>
<TextBox Height="50.339" Name="textBox3" Width="104" IsReadOnly="True" TextAlignment="Center" TextWrapping="WrapWithOverflow">Рассчитанная площадь</TextBox>
<TextBox Height="50.344" Name="textBox4" Width="104" IsReadOnly="True" TextAlignment="Center" TextWrapping="WrapWithOverflow">Погрешность, %</TextBox>
<TextBox Height="50.334" Name="textBox5" Width="104" IsReadOnly="True" TextAlignment="Center" TextWrapping="WrapWithOverflow">Время, ms</TextBox>
<TextBox Height="23" Name="textBox6" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox7" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox8" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox9" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox10" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox11" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox12" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox13" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox14" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox15" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox16" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox17" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox18" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox19" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox20" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox21" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox22" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox23" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox24" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox25" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox26" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox27" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox28" Width="104" IsReadOnly="True" />
<TextBox Height="23" Name="textBox29" Width="104" IsReadOnly="True" />
<TextBox Height="23" IsReadOnly="True" Name="textBox36" Width="104" />
<TextBox Height="23" IsReadOnly="True" Name="textBox37" Width="159" Text="Площадь прямоугольника:"></TextBox>
<TextBox Height="23" IsReadOnly="True" Name="textBox38" Width="104" />
<TextBox Height="23" IsReadOnly="True" Name="textBox39" Width="153" TextChanged="textBox39_TextChanged" Text="Математическая площадь"></TextBox>
<TextBox Height="23" IsReadOnly="True" Name="textBox40" Width="105" />
</WrapPanel>
</GroupBox>
<GroupBox Header="Рисунок" Height="211" Margin="0,0,174,0" Name="groupBox3" VerticalAlignment="Top">
<Image Height="169" Name="image1" Stretch="Fill" Width="257" HorizontalAlignment="Center" OpacityMask="Black" />
</GroupBox>
<GroupBox Header="Входные параметры" Height="230" Name="groupBox4" VerticalAlignment="Top" VerticalContentAlignment="Top" HorizontalAlignment="Right" Width="274" Margin="0,12,0,0" Grid.ColumnSpan="2"></GroupBox>
<Label Height="29" HorizontalAlignment="Right" Margin="0,199,126,0" Name="label4" VerticalAlignment="Top" Width="22">N:</Label>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,26,48,0" Name="textBox30" VerticalAlignment="Top" Width="93.5" TextChanged="textBox30_TextChanged">0</TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,22,10,0" Name="textBox31" VerticalAlignment="Top" Width="104.5" Grid.ColumnSpan="2">0</TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,56,48,0" Name="textBox32" VerticalAlignment="Top" Width="93.5" Text="0"></TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,54,10,0" Name="textBox33" VerticalAlignment="Top" Width="104.5" Grid.ColumnSpan="2">0</TextBox>
<TextBox Height="25" HorizontalAlignment="Left" Margin="330,86,0,0" Name="textBox34" VerticalAlignment="Top" Width="93.5" Text="0"></TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,86,12,0" Name="textBox35" VerticalAlignment="Top" Width="102.5" Text="0" Grid.ColumnSpan="2"></TextBox>
<ComboBox Height="22.48" HorizontalAlignment="Right" Margin="0,201,13,0" Name="comboBox1" VerticalAlignment="Top" Width="205" Text="auto" SelectedValuePath="auto" SelectedIndex="0" Grid.ColumnSpan="2">
<ComboBoxItem Name="auto">auto</ComboBoxItem>
<ComboBoxItem Name="одна">1000</ComboBoxItem>
<ComboBoxItem ForceCursor="False" Name="десять">10000</ComboBoxItem>
<ComboBoxItem Name="сто">100000</ComboBoxItem>
<ComboBoxItem Name="тыща">1000000</ComboBoxItem>
<ComboBoxItem Name="десятьтыща">10000000</ComboBoxItem>
</ComboBox>
<Label Height="25" Name="label1" Width="22" HorizontalAlignment="Right" Margin="0,84,15,0" VerticalAlignment="Top" Content="Ex:"></Label>
<Button Height="25" Name="button6" Width="102.5" Click="button6_Click" Margin="441,170,34,314" Grid.ColumnSpan="2">Очистить</Button>
<Button Height="25" Name="button7" Width="102.5" Click="button7_Click" IsCancel="False" Padding="1" HorizontalContentAlignment="Center" FlowDirection="LeftToRight" AllowDrop="True" BorderThickness="1" ClipToBounds="False" IsTabStop="True" Margin="331,170,38,314">Рассчитать</Button>
<Label Content="Bx:" Height="25" HorizontalAlignment="Right" Margin="0,55,142,0" Name="label3" VerticalAlignment="Top" Width="22" />
<Label Height="25" Name="label2" Content="Ax:" Margin="308,24,142,460"></Label>
<Label Content="Ay:" Height="25" Margin="436,26,14,458" Name="label5" />
<Label Content="By:" Height="25" Margin="436,56,14,428" Name="label6" />
<Label Content="Cx:" Height="25" Margin="308,86,142,398" Name="label7" />
</Grid>
</Window>