close

Вход

Забыли?

вход по аккаунту

?

Отче#U0308т4

код для вставкиСкачать
 БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Факультет информационных технологий и робототехники
ОТЧЁТ
о лабораторной работе № 4
Дисциплина
"Объектно-ориентированное программирование"
Тема
"Разработка многопоточных приложений с графическим интерфейсом"
Выполнили: студенты гр. 107310 Сергейчик Н. А.
Рудинский Д. А.
Проверил: Радкевич А. С.
Минск 2012
Лабораторная работа № 4
Разработка многопоточных приложений с графическим интерфейсом Цель работы: Освоить принципы взаимодействия с элементами графического интерфейса Windows Forms в многопоточном приложении.
Постановка задачи
Разработать приложение для вычисления интеграла по методу прямоугольников: Индивидуальное задание
Вариант 7. Результаты работы программного обеспечения
Рисунок 1 - Окно приложения
Выводы
Мы освоили принципы взаимодействия с элементами графического интерфейса Windows Forms в многопоточном приложении.
Приложение 1
Листинг модуля Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Lab4
{
public delegate void dIntegral();
public partial class Form1 : Form
{
public AutoResetEvent are = new AutoResetEvent(false);
public int a { get; set;}
public int b { get; set;}
public int N { get; set;}
public double Result { get; set; }
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2(this);
f.Show();
}
public double Function(double x)
{
return System.Math.Pow(x, 3);
}
public void Integral()
{
progressBar1.Minimum = 1;
progressBar1.Maximum = N;
Result = 0;
double h = (double) (b - a) / N;
double x = a;
for (int i = 1; i <= N; i++ )
{
x = a + h * i;
Result += Function(x);
progressBar1.Value = i;
}
Result *= h;
are.Set();
}
private void button2_Click(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
dIntegral Int = new dIntegral(Integral);
IAsyncResult res = Int.BeginInvoke(null, null);
Int.EndInvoke(res);
textBox1.Text = Convert.ToString(Result);
}
else
{
ThreadStart ts = new ThreadStart(Integral);
Thread intThread = new Thread(ts);
intThread.Start();
are.WaitOne();
textBox1.Text = Convert.ToString(Result);
}
}
}
}
Документ
Категория
Рефераты
Просмотров
18
Размер файла
80 Кб
Теги
u0308т4, отчет
1/--страниц
Пожаловаться на содержимое документа