Разработка программы, вычисляющей интеграл

Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 08:48, курсовая работа

Описание работы

Цель курсовой работы является приобретение и углубление знаний в области высокоуровневых методов информатики и программирования, получения дополнительных практических навыков в использовании основных приёмов обработки экспериментальных данных, численного решения определенных интегралов.

Численное интегральное исчисление – часто используемая тема в математике. При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функций, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости использования приближенных методов вычисления определенных интегралов.

Содержание работы

ВВЕДЕНИЕ

Нормативные ссылки

Список используемой литературы

Файлы: 1 файл

Пример_курсовой_ООП.doc

— 731.00 Кб (Скачать файл)

            double dx = 2 * xp * 1.2 / this.PointsQuantity;

            for (double x = -xp * 1.2; x <= xp * 1.2; x += dx)

            {

                // добавим в список точку

                list.Add(x, Integral.F(x));

                if (x >= xmin && x <= xmax)

                    plist.Add(x, Integral.F(x));

            }

            plist.Add(xmax, Integral.F(xmax));

           

            // Set the titles and axis labels

            pane.Title.Text = "Интегрируемая функция f(x) = Sqrt(1 + x^2)";

            pane.XAxis.Title.Text = "X";

            pane.YAxis.Title.Text = "Y"; 

            // Hide the legend

            pane.Legend.IsVisible = false; 

            // Add a curve

            LineItem curve = pane.AddCurve("label", list, Color.Red, SymbolType.Circle);

            curve.Line.IsSmooth = true;

            curve.Line.Width = this.LineWidth;

            curve.Symbol.Fill = new Fill(Color.White);

            curve.Symbol.Size = this.PointsSize;

           

            // Fill the area under the curves

            LineItem pcurve = pane.AddCurve("", plist, Color.Blue, SymbolType.None);

            pcurve.Line.IsSmooth = true;

            pcurve.Line.Fill = new Fill(Color.White, Color.Blue, 95.0F); 

            // Fill the axis background with a gradient

            pane.Chart.Fill = new Fill(Color.White, Color.SteelBlue, 90.0F); 

            // Включим отображение сетки

            pane.XAxis.MajorGrid.IsVisible = true;

            pane.YAxis.MajorGrid.IsVisible = true; 

            /* Вызываем метод AxisChange (), чтобы обновить данные об осях.

            В противном случае на рисунке будет показана только часть графика, которая умещается в интервалы по осям, установленные по умолчанию*/

            zedGraph.AxisChange(); 

            // Обновляем график

            zedGraph.Invalidate(); 

        }//прорисовка графика 

        private void ExitBtn_Click(object sender, EventArgs e)

        {

            Close();

        } 

        private void AboutBtn_Click(object sender, EventArgs e)

        {

            AboutBox frmAbout = new AboutBox();

            frmAbout.ShowDialog();

        } 

        private void StartBtn_Click(object sender, EventArgs e)//запуск потоков вычислений

        {

            //проверка корректности вводимых значений

            try

            {

                try

                {

                    x1 = Convert.ToDouble(txtBoxX1.Text);

                }

                catch

                {

                    txtBoxX1.Focus();

                    txtBoxX1.SelectAll();

                    throw new Exception("Ошибка при вводе x1");

                } 

                try

                {

                    x2 = Convert.ToDouble(txtBoxX2.Text);

                }

               catch

                {

                    txtBoxX2.Focus();

                    txtBoxX2.SelectAll();

                    throw new Exception("Ошибка при вводе x2");

                } 

                try

                {

                    n = Convert.ToInt32(txtBoxN.Text);

                }

                catch

                {

                    txtBoxN.Focus();

                    txtBoxN.SelectAll();

                    throw new Exception("Ошибка при вводе n");

                }

 

                DisambleButtons();

                BackgroundWorker bw = new BackgroundWorker();

                bw.WorkerSupportsCancellation = true;

                bw.DoWork += Integration;

                bw.RunWorkerCompleted += EnableButtons;

                bw.RunWorkerAsync(null);

            }

            catch (Exception myexcepton)

            {

                MessageBox.Show(myexcepton.Message, "Ошибка ввода данных.");

            }

        } 

        private void zedGraph_DoubleClick(object sender, EventArgs e)

        {

            zedGraph.GraphPane.CurveList.Clear();

            zedGraph.GraphPane.GraphObjList.Clear();

            zedGraph.Invalidate();

        } 

        private void MainForm_Shown(object sender, EventArgs e)

        {

            x1 = Convert.ToDouble(txtBoxX1.Text);

            x2 = Convert.ToDouble(txtBoxX2.Text);

            n = Convert.ToInt32(txtBoxN.Text);

            DrawGraph();

        } 

        private void SettingsBtn_Click(object sender, EventArgs e) //изменение настроек графика

        {

            SettingsForm SettingsFrm = new SettingsForm();

            SettingsFrm.txtPointsQuantity = this.PointsQuantity.ToString();

            SettingsFrm.txtPointsSize = this.PointsSize.ToString();

            SettingsFrm.txtLineWidth = this.LineWidth.ToString();

            if (SettingsFrm.ShowDialog() == DialogResult.OK)

            {

                try

                {

                    try

                    {

                        this.PointsQuantity = Convert.ToInt32(SettingsFrm.txtPointsQuantity);

                    }

                    catch

                    {

                        throw new Exception("Ошибка при вводе количества точек на графике");

                    } 

                    try

Информация о работе Разработка программы, вычисляющей интеграл