
- •Содержание: Введение
- •Постановка задачи
- •Разработка технического задания
- •2.1 Анализ вариантов использования программы
- •Требования к приложениям
- •Анализ алгоритма решения задачи
- •3.1 Метод Монте-Карло
- •3.2 Определение попадания точки внутрь трапеции
- •Настольное приложение wpf
- •4.1 Технология Windows Presentation Foundation
- •4.2 Логическое проектирование приложения
- •4.4 Руководство системного программиста
- •4.5 Руководство программиста
- •4.6 Руководство пользователя
- •4.6.1 Назначение приложения
- •4.6.2 Условия выполнения приложения
- •4.6.3 Выполнение приложения
- •4.6.1 Сообщения оператору
- •Тестирование приложения
- •5.1 Программные средства для разработки приложения
- •Логическое проектирование
- •5.2 Руководство системного программиста
- •5.2.1 Общие сведения
- •5.2.2 Системные требования
- •5.3.3 Проектирование приложения.
- •Листинг №2. Определение попадания точки в четырехугольник. 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
Файл MainWindow.Xaml
<Window x:Class="П3_ТП.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="П3. WPF/C#: Метод Монте-Карло ABCE Асинхронный" Height="600" Width="600" MinWidth="600" MinHeight="600" SnapsToDevicePixels="False" MaxWidth="600" MaxHeight="600" Loaded="Window_Loaded">
<Grid Height="509">
<GroupBox Header="Контрольные примеры" Height="54" Name="groupBox1" VerticalAlignment="Bottom" Margin="0,0,0,-10" FontStyle="Normal" FontWeight="Normal">
<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">
<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,280,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"></GroupBox>
<Label Height="29" HorizontalAlignment="Right" Margin="0,199,232,0" Name="label4" VerticalAlignment="Top" Width="22">N:</Label>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,26,154,0" Name="textBox30" VerticalAlignment="Top" Width="93.5" TextChanged="textBox30_TextChanged">0</TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,22,9.5,0" Name="textBox31" VerticalAlignment="Top" Width="104.5">0</TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,56,154,0" Name="textBox32" VerticalAlignment="Top" Width="93.5" Text="0"></TextBox>
<TextBox Height="25" HorizontalAlignment="Right" Margin="0,54,9.5,0" Name="textBox33" VerticalAlignment="Top" Width="104.5">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,11.5,0" Name="textBox35" VerticalAlignment="Top" Width="102.5" Text="0"></TextBox>
<ComboBox Height="22.48" HorizontalAlignment="Right" Margin="0,201,13,0" Name="comboBox1" VerticalAlignment="Top" Width="205" Text="auto" SelectedValuePath="auto" SelectedIndex="0">
<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,121,0" VerticalAlignment="Top" Content="Ex:"></Label>
<Button Height="25" Name="button6" Width="102.5" Click="button6_Click" Margin="420,170,13,314">Очистить</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="310,170,123,314">Рассчитать</Button>
<Label Content="Bx:" Height="25" HorizontalAlignment="Right" Margin="0,55,248,0" Name="label3" VerticalAlignment="Top" Width="22" />
<Label Height="25" Name="label2" Content="Ax:" Margin="308,24,248,460"></Label>
<Label Content="Ay:" Height="25" Margin="436,26,120,458" Name="label5" />
<Label Content="By:" Height="25" Margin="436,56,120,428" Name="label6" />
<Label Content="Cx:" Height="25" Margin="308,86,248,398" Name="label7" />
</Grid>
</Window>