Программирование и исследование алгоритмов вычисления определенных интегралов

На практике часто возникает необходимость вычислить определённый интеграл. Если интеграл берётся в алгебраических функциях, то всё в порядке и взять его вручную не представляет труда. А если интеграл не берётся в алгебраических функциях или просто их очень много, то приходится прибегать к помощи компьютерной техники

2014-06-11

160.41 KB

61 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Пояснительная записка

К курсовой работе:

“Программирование и исследование алгоритмов вычисления определенных интегралов”


Содержание:


Введение

На практике часто возникает необходимость вычислить определённый интеграл. Если интеграл берётся в алгебраических функциях, то всё в порядке и взять его вручную не представляет труда. А если интеграл не берётся в алгебраических функциях или просто их очень много, то приходится прибегать к помощи компьютерной техники. Существуют несколько способов вычисления определённых интегралов на ЭВМ, причем абсолютно все эти способы получают лишь приближённые значения. В этой работе мы рассмотрим два метода вычисления: метод трапеций и метод Симпсона (метод парабол).


Метод трапеций

Пусть Y=, где - интегрируемая функция, непрерывная на отрезке . Для наглядности будем предполагать, что   положительна на отрезке . В этом случае Y представляет собой площадь криволинейной трапеции, ограниченной линиями: ,,,. Выберем произвольное натуральное число  и разобьём отрезок  на  равных отрезков при помощи точек: , , , , …, . Прямые  разбивают нашу трапецию на  полосок. Каждая полоса имеет граничные вертикали:  и . Соединим прямой те точки, в которых эти вертикали пересекают интегрируемую функцию . В результате площадь каждой полоски приблизительно стала равна площади обычной прямолинейной трапеции (см. рис. 1).

Рис. 1

Площадь самой левой полоски приближённо равна площади самой левой трапеции, а именно: . Из математических соображений  и , а высота трапеции . Значит . Площади всех следующих полосок выразятся аналогичным способом и составят: , , , … , . Чтобы найти площадь интересующей нас криволинейной трапеции необходимо сложить площади всех  полосок, которые в свою очередь приближённо равны площадям соответствующих прямолинейных трапеций. Следовательно, площадь криволинейной трапеции, а значит и численное значение заданного интеграла , равны

.

Эту формулу можно записать в другом виде, используя математические сокращения и утверждение, что  - длина одного из  равных отрезков или высота каждой прямолинейной трапеции:

                               (1).

Данная формула называется формулой трапеций. Её точность зависит от . Чем больше количество разбиений отрезка интегрирования, тем выше точность вычислений.

Теперь перейдём к заданию: нам необходимо найти толщину слоя меди, выделившейся в результате электролиза водного раствора хлорида меди (II) на катоде. Известна зависимость силы тока от времени . Отсюда имеем . Фактически нам надо оформить функцию вычисления заданного определённого интеграла  на Visual Basic 6.0 методом трапеций. Назовём функцию metod_trapec. При вызове функции задаваемыми параметрами будут down_predel=0 – нижний предел интегрирования, up_predel – верхний предел интегрирования (время наблюдения), chislo_razb – число разбиений отрезка интегрирования. Программный код функции будет выглядеть так:

__________

Public Function metod_trapec(ByVal a As Single, ByVal b As Single, ByVal n As Long) As Double

  Dim h As Single

  Dim s As Double

  Dim i As Long

  h = (b - a) / n

  s = (F(a, Io) + F(b, Io)) * h / 2

     For i = 1 To n - 1

        s = s + F(a + i * h, Io) * h

     Next i

  metod_trapec = s

End Function

__________

Фактические параметры down_predel, up_predel, chislo_razb соответствуют формальным параметрам a, b, n. В основе лежит формула трапеций (1), записанная по-другому:

.

Накапливаем сумму, результат которой и будет искомым значением определённого интеграла. Далее присваиваем имени функции значение переменной s.

Метод Симпсона (метод парабол)

Пусть Y=, где - интегрируемая функция, непрерывная на отрезке . Для наглядности будем предполагать, что   положительна на отрезке . В этом случае Y представляет собой площадь криволинейной трапеции, ограниченной линиями: ,,,. Выберем произвольное натуральное чётное число  и разобьём отрезок  на  равных отрезков при помощи точек: ,,,, … ,. Прямые  разбивают нашу трапецию на  полосок. Каждая полоса имеет граничные вертикали:  и . Отметим точки, в которых эти вертикали пересекают интегрируемую функцию . В результате получились точки: , , , …,. На всём отрезке интегрирования через точки  и  проведём графики квадратичных функций. В результате получилось, что площадь двух соседних полосок, ограниченных прямыми  и приближённо равна площади под параболой, проведённой через точки  и  (см. рис. 2).

Рис. 2

Вычислим площадь под параболой, проходящей через точки  и . Уравнение параболы имеет общий вид . Площадь под параболой:

           (2).

Парабола проходит через три точки ,  и , где . Решая систему из трёх уравнений,

получаем: .

Подставляем в формулу (2). Отсюда следует, что , где . Распространяем на весь отрезок:

. Запишем с применением математических операндов:

                             (3).

Данная формула называется формулой Симпсона. Её точность зависит от . Чем больше количество разбиений отрезка интегрирования, тем выше точность вычислений.

Фактически нам надо оформить функцию вычисления заданного определённого интеграла  на Visual Basic 6.0 методом Симпсона. Назовём функцию metod_Simpson. При вызове функции задаваемыми параметрами будут down_predel – нижний предел интегрирования, up_predel – верхний предел интегрирования, chislo_razb – число разбиений отрезка интегрирования. Программный код функции будет выглядеть так:

__________

Public Function metod_Simpson(ByVal a1 As Single, ByVal b1 As Single, ByVal n As Long) As Double

  Dim h As Single

  Dim s As Double

  Dim i As Long

  Dim x As Single

  h = (b1 - a1) / n

  s = F(a1, Io) + F(b1, Io) + 4 * F(a1 + h, Io)

     For i = 1 To Int(n / 2) - 1

       x = a1 + 2 * h * i

       s = s + 2 * F(x, Io) + 4 * F(x + h, Io)

     Next i

  metod_Simpson = s * h / 3

End Function

__________

Фактические параметры down_predel, up_predel, chislo_razb соответствуют формальным параметрам a, b, n. В основе лежит формула Симпсона. Сумма первых трёх слагаемых в этой формуле является начальным значением переменной . Далее пробегаем по всему отрезку интегрирования, кроме конечных полосок, и накапливаем сумму. В конце умножаем её на . Результат и будет искомым значением определённого интеграла. Далее присваиваем имени функции значение переменной .

Создание приложения

При запуске Microsoft Visual Basic 6.0 автоматически выскакивает окно с предложением создать новый проект Standard EXE. Нажимаем OK. Начнём создание проекта с титульного листа. Для этого в меню Project выберем команду Add Form. В появившемся диалоговом окне выберем Dialog и нажмем OK. В открывшейся форме расставим объекты: Label1, Label2, ... , Label8, как показано на рисунке (см. рис. 3).

Рис. 3 Титульный лист

Присвоим свойству Caption значение “Титульный лист”. На кнопку Вход напишем следующий программный код:

__________

Private Sub OKButton_Click()

  Unload Dialog

  Form1.Show

End Sub

__________

При щелчке на кнопке Вход из памяти выгружается форма Dialog и загружается базовая форма, служащая начальной точкой для всех операций с программой, форма  Form1. Для того, чтобы создать форму Form1, в меню Project выполним команду Add Form. В появившемся диалоговом окне выберем Form и нажмем OK. Щёлкнем правой кнопкой мыши на панели инструментов, выберем вкладку Components, загрузим нестандартные инструменты, которые понадобятся в будущем: Microsoft Windows Common Controls 6.0. Присвоим свойству Caption формы Form1 значение “Курсовой проект - Тема 7 вариант 9 (нахождение толщины слоя)”. Создадим меню для проекта. Для этого в меню Tools выполним команду Menu Editor. В появившемся диалоговом окне напишем названия пунктов меню и названия процедур, которые будут запускаться при выполнении команд меню. Редактор меню с введёнными именами представлен на рисунке (см. рис. 4).

Рис. 4 Редактор меню

Опишем, какие процедуры выполняются в каждом пункте меню.

1. MnuFileExit – осуществляет выход из приложения.

__________

Private Sub MnuFileExit_Click()

  End

End Sub

__________

Рис. 5

2. MnuFileSave_rez – осуществляет сохранение результата эксперимента. Результат сохраняется в файле log.txt, куда записывается используемый метод, нижний предел интегрирования, верхний предел интегрирования, количество разбиений отрезка интегрирования, вычисленное значение интеграла, истинное значение интеграла, погрешность вычислений.

__________

Private Sub MnuFileSave_rez_Click()

  Dim metod As String

  

  If Option1.Value Then

     metod = "Метод трапеций"

  Else

     metod = "Метод Симпсона"

  End If

          Open "log.txt" For Output As #1

        Print #1, "ОТЧЕТ ПО ВЫПОЛНЕННЫМ ВЫЧИСЛЕНИЯМ"

        Print #1, "Используемый метод:", metod

        Print #1, "Время наблюдения:", up_predel

        Print #1, "Количество разбиений отрезка интегрирования:", chislo_razb

        Print #1, "Вычисленное значение интеграла:", znach_integrala

        Print #1, "Истинное значение интеграла:", istinnoe_znach_integrala(down_predel, up_predel)

        Print #1, "Погрешность вычисления:", Abs(istinnoe_znach_integrala(down_predel, up_predel) - znach_integrala)

          Close #1

     a = MsgBox("Отчет сохранен успешно!" & Chr(10) & Chr(13) & "для просмотра отчета: Файл>>Просмотр отчета", , "Отчет")

     End Sub

__________

3. MnuFileLook_rez – осуществляет вывод на экран ранее сохранённого результата, если предварительно его сохранили.

___________

Private Sub MnuFileOpen_rez_Click()

Form3.Show 1, Form1

End Sub

____________

При выполнении этой процедуры загружается форма Form3, на которой находится объект PictureBox1, в который выводится сохраненный отчет. Для вывода отчета существует кнопка «Загрузить отчет». Программный код Form3:

__________

Dim stroka As String

Private Sub cmdBack_Click()

  Unload Form3

End Sub

Private Sub cmdLoadLog_Click()

On Error GoTo Err

        Open "log.txt" For Input As #1

           For i = 1 To 8

              Line Input #1, stroka

              Picture1.Print stroka

           Next i

        Close #1

Err:

If Err.Number = 53 Then

a = MsgBox("Невозможно загрузить результат, ранее не было сохранено результатов!", , "Ошибка")

Unload Form3

End If

End Sub

__________

В процедуре cmdLoadLog_Click(), проверяется существует ли файл с отчетом, если да то происходит открытие указанного файла, построчное считывание из него и вывод в объект Picture1, если такого файла нет, то об этом пользователя об этом уведомляют. Готовая форма Form3 изображена на рисунке (см. рис. 6). При щелчке на кнопке «Назад» (на объекте cmdBack) происходит выгрузка формы Form3 из оперативной памяти.

Рис. 6

4. MnuHelpAbout – выводит на экран информацию о программе. Вывод осуществляется с помощью формы Dialog2.

__________

Private Sub MnuHelpAbout_Click()

  Dialog2.Show 1, Form1

End Sub

__________

При щелчке на кнопке «OK» (объект Command1) происходит выгрузка формы Dialog2 из оперативной памяти. Готовая форма Dialog2 изображена на рисунке (см. рис. 7).

Программный код формы Dialog2:

__________

Private Sub OKButton_Click()

  Unload Dialog2

End Sub

__________

5. MnuMatemFormula – выводит на экран ручной вывод формулы заданного определённого интеграла. Вывод осуществляется с помощью формы Dialog1.

__________

Private Sub MnuMatemFormula_click()

  Dialog1.Show 1, Form1

End Sub

__________

Рис. 7

6. MnuMatemGrafik_Pogreshn – выводит на экран форму Form2. В ней можно построить график зависимости погрешности заданного метода от количества разбиений отрезка интегрирования.

__________

Private Sub MnuMatemGrafik_Pogreshn_click()

  Form2.Show 1, Form1

End Sub

__________

Программный код формы Form2:

Dim i As Long

Dim a As Single, b As Single, n As Long

Public Io As Single

Public Function istinnoe_znach_integrala(a As Single, b As Single) As Double

a0 = 0.15: b0 = 0.1: po = 8600: faradey = 96500: M = 64.5 * 10 ^ (-3)

istinnoe_znach_integrala = Io * M / (2 * 2 * faradey * po * a0 * b0) * (b ^ 3 / 3 - 3 / 2 * b ^ 2 + 9 * b - 27 * Log((b + 3) / 3))

End Function

Public Function metod_trapec(ByVal a As Single, ByVal b As Single, ByVal n As Long) As Double

  Dim h As Single

  Dim s As Double

  Dim i As Long

  h = (b - a) / n

  s = (F(a, Io) + F(b, Io)) * h / 2

     For i = 1 To n - 1

        s = s + F(a + i * h, Io) * h

     Next i

  metod_trapec = s

End Function

Public Function metod_Simpson(ByVal a1 As Single, ByVal b1 As Single, ByVal n As Long) As Double

  Dim h As Single

  Dim s As Double

  Dim i As Long

  Dim x As Single

  h = (b1 - a1) / n

  s = F(a1, Io) + F(b1, Io) + 4 * F(a1 + h, Io)

     For i = 1 To Int(n / 2) - 1

       x = a1 + 2 * h * i

       s = s + 2 * F(x, Io) + 4 * F(x + h, Io)

     Next i

  metod_Simpson = s * h / 3

End Function

Private Sub Command1_Click()

koeff = 2 * 10 ^ 9

Picture1.Cls

Io = Form1.Text2

a = 0

b = Val(Text3.Text)

N1 = Val(Text4.Text)

N2 = Val(Text5.Text)

save = Text1

If Check1.Value = vbChecked Then

   Open save For Output As #1

       Print #1, "количество разбиений"; "  "; "погрешность метода трапеций"; "  "; "погрешность метода Симпсона"

   Close #1

End If

s = istinnoe_znach_integrala(a, b)

X0 = N1

Y1 = 250 * koeff * Abs(metod_Simpson(a, b, 10) - s)

Y2 = koeff * Abs(metod_trapec(a, b, 10) - s)

Picture1.Scale (-20, 10)-(N2 + 10, -2)

For n = N1 To N2 Step 2

   ss = metod_Simpson(a, b, n)

   st = metod_trapec(a, b, n)

   pogtr = Abs(s - st)

   POGss = Abs(s - ss)

   If Check1.Value = vbChecked Then

       Open save For Append As #1

           Print #1, " "; n, "                "; pogtr, "      "; POGss

       Close #1

   End If

   Picture1.Line (X0, Y1)-(n, 250 * koeff * POGss), RGB(255, 0, 0)

   Picture1.Line (X0, Y2)-(n, koeff * pogtr), RGB(0, 0, 255)

   Picture1.Line (-50, 0)-((N2 + 50), 0)

   Picture1.Line (0, -30)-(0, 20)

   X0 = n

   Y1 = 250 * koeff * POGss

   Y2 = koeff * pogtr

   If n <= 30 And n Mod 10 = 0 Then

       Picture1.PSet (-16, koeff * pogtr)

       Picture1.Print Format(pogtr, "#.##e-#")

       Picture1.Line (-20, koeff * pogtr)-(210, koeff * pogtr), RGB(0, 255, 0)

   End If

Next n

For i = 10 To N2 + 50 Step 10

   Picture1.PSet (i, 0)

   Picture1.Print i

   Picture1.Line (i, -10)-(i, N2), RGB(0, 255, 0)

Next i

End Sub

Private Sub Command2_Click()

Unload Form2

End Sub

__________

Вычисляем погрешность, отнимая полученное значение интеграла от истинного, вычисляемого функцией istinnoe_znach_integrala, находящейся в форме Form1. Затем строим точку на объекте Picture1. При щелчке на кнопке «Назад» (объект Command2) форма Form2 выгружается из оперативной памяти. Готовая форма Form2 изображена на рисунке (см. рис. 8).

Мы рассмотрели все функции и процедуры, используемые в проекте. Теперь можно рассмотреть работу формы Form1. При щелчке на кнопке «Произвести вычисления» (объект Command1) происходит считывание из текстовых полей заданных параметров: время наблюдения, начальное значение силы тока, число разбиений отрезка интегрирования. Далее следует проверка входных данных. Далее идет вычисление интеграла и вывод результата, а также построение графика интегрируемой зависимости силы тока на заданном участке времени. График строится таким образом, что он всегда выводится в центре объекта Picture1. Это достигается тем, что система координат вводится исходя из максимального и минимального значения функции и из величины концов отрезка интегрирования. Для этого мы и ищем y_max и y_min. Далее ставим подписи на концах отрезка интегрирования.

Рис. 8

Программный код формы Form1:

__________

Dim down_predel As Single

Dim up_predel As Single

Dim znach_integrala As Double

Dim chislo_razb As Long

Dim i As Single

'Public Io As Single

Dim y_max As Single

Dim y_min As Single

'Функция вычисления истинного значения интеграла по формуле Ньютона-Лейбница.

Public Function istinnoe_znach_integrala(a As Single, b As Single) As Double

a0 = 0.15: b0 = 0.1: po = 8600: faradey = 96500: M = 64.5 * 10 ^ (-3)

istinnoe_znach_integrala = Io * M / (2 * 2 * faradey * po * a0 * b0) * (b ^ 3 / 3 - 3 / 2 * b ^ 2 + 9 * b - 27 * Log((b + 3) / 3))

End Function

'Функция вычисления интеграла методом трапеций.

Public Function metod_trapec(a As Single, b As Single, n As Long) As Double

  Dim h As Single

  Dim s As Double

  Dim i As Long

  h = (b - a) / n

  s = (F(a, Io) + F(b, Io)) * h / 2

     For i = 1 To n - 1

        s = s + F(a + i * h, Io) * h

     Next i

  metod_trapec = s

End Function

'Функция вычисления интеграла методом Симпсона.

Public Function metod_Simpson(a As Single, b As Single, n As Long) As Double

  Dim h As Single

  Dim s As Double

  Dim i As Long

  Dim x As Single

  h = (b - a) / n

  s = F(a, Io) + F(b, Io) + 4 * F(a + h, Io)

     For i = 1 To Int(n / 2) - 1

       x = a + 2 * h * i

       s = s + 2 * F(x, Io) + 4 * F(x + h, Io)

     Next i

  metod_Simpson = s * h / 3

End Function

Private Sub Command1_Click()

For i = 0 To 9

Picture3.Line (down_predel + i * (up_predel - down_predel) / 10, 0)-(down_predel + i * (up_predel - down_predel) / 10, F(down_predel + i * (up_predel - down_predel) / 10, Io))

Picture3.Line (down_predel + i * (up_predel - down_predel) / 10, F(down_predel + i * (up_predel - down_predel) / 10, Io))-(down_predel + (i + 1) * (up_predel - down_predel) / 10, F(down_predel + (i + 1) * (up_predel - down_predel) / 10, Io))

Picture3.Line (down_predel + (i + 1) * (up_predel - down_predel) / 10, F(down_predel + (i + 1) * (up_predel - down_predel) / 10, Io))-(down_predel + (i + 1) * (up_predel - down_predel) / 10, 0)

Next i

End Sub

'Функция выхода из программы

Private Sub MnuFileExit_Click()

  End

End Sub

Private Sub MnuFileOpen_rez_Click()

Form3.Show 1, Form1

End Sub

'Сохранения результата в файл log.txt

Private Sub MnuFileSave_rez_Click()

  Dim metod As String

  

  If Option1.Value Then

     metod = "Метод трапеций"

  Else

     metod = "Метод Симпсона"

  End If

          Open "log.txt" For Output As #1

        Print #1, "ОТЧЕТ ПО ВЫПОЛНЕННЫМ ВЫЧИСЛЕНИЯМ"

        Print #1, "Используемый метод:", metod

        Print #1, "Время наблюдения:", up_predel

        Print #1, "Количество разбиений отрезка интегрирования:", chislo_razb

        Print #1, "Вычисленное значение толщины слоя:", znach_integrala

        Print #1, "Истинное значение толщины слоя:", istinnoe_znach_integrala(down_predel, up_predel)

        Print #1, "Погрешность вычисления:", Abs(istinnoe_znach_integrala(down_predel, up_predel) - znach_integrala)

          Close #1

     a = MsgBox("Отчет сохранен успешно!" & Chr(10) & Chr(13) & "для просмотра отчета: Файл>>Просмотр отчета", , "Отчет")

End Sub

Private Sub MnuHelpAbout_Click()

  Dialog2.Show 1, Form1

End Sub

Private Sub MnuMatemGrafik_Pogreshn_click()

  Form2.Show 1, Form1

End Sub

Private Sub cmd_chet_Click()

  down_predel = 0

  up_predel = Val(Text1.Text)

  Io = Val(Text2.Text)

  chislo_razb = Val(Text3.Text)

  Picture1.Cls

  Picture2.Cls

     If chislo_razb <= 0 Then

        MsgBox "Число разбиений отрезка интегрирования должно быть больше нуля.", vbCritical, "Внимание!"

        Exit Sub

     End If

     

     If up_predel < 0 Then

        MsgBox "Время испытаний не может быть отрицательным", vbCritical, "Внимание!"

        Exit Sub

     End If

     

     If Option1.Value Then

        znach_integrala = metod_trapec(down_predel, up_predel, chislo_razb)

     Else

        znach_integrala = metod_Simpson(down_predel, up_predel, chislo_razb)

           If chislo_razb Mod 2 = 1 Then

              MsgBox "Число разбиений отрезка интегрирования при данном методе должно быть четным.", vbCritical, "Внимание!"

              Exit Sub

           End If

     End If

  

Frame3.Caption = "График зависимости силы тока на [" & down_predel & ";" & up_predel & "]"

  Picture1.Print znach_integrala

  Picture2.Print istinnoe_znach_integrala(down_predel, up_predel)

    

  y_max = F(down_predel, Io)

  y_min = F(down_predel, Io)

     For i = down_predel To up_predel Step 0.001

        If F(i, Io) < y_min Then

           y_min = F(i, Io)

        End If

        If F(i, Io) > y_max Then

           y_max = F(i, Io)

        End If

     Next i

  

  Picture3.Cls

  Picture3.DrawWidth = 1

  Picture3.Scale (down_predel - (up_predel - down_predel) / 3, y_max + (y_max - y_min) / 3)-(up_predel + (up_predel - down_predel) / 3, y_min - (y_max - y_min) / 3)

  

  'Рисование осей

  Picture3.Line (down_predel - (up_predel - down_predel) / 3, 0)-(up_predel + (up_predel - down_predel) / 3, 0)

  Picture3.Line (0, y_max + (y_max - y_min) / 3)-(0, y_min - (y_max - y_min) / 3)

  

  'Стрелка на оси OX

  Picture3.Line (up_predel + (up_predel - down_predel) / 3, 0)-(up_predel + (up_predel - down_predel) / 3 - (up_predel - down_predel) / 24, (y_max - y_min) / 50)

  Picture3.Line (up_predel + (up_predel - down_predel) / 3, 0)-(up_predel + (up_predel - down_predel) / 3 - (up_predel - down_predel) / 24, -(y_max - y_min) / 50)

  

  'Стрелка на оси OY

  Picture3.Line (0, y_max + (y_max - y_min) / 3)-(-(up_predel - down_predel) / 100, y_max + (y_max - y_min) / 3 - (y_max - y_min) / 12)

  Picture3.Line (0, y_max + (y_max - y_min) / 3)-((up_predel - down_predel) / 100, y_max + (y_max - y_min) / 3 - (y_max - y_min) / 12)

  

  'Построение графика

  Picture3.Line (down_predel, F(down_predel, Io))-(down_predel, 0), RGB(255, 0, 0)

  Picture3.Line (up_predel, F(up_predel, Io))-(up_predel, 0), RGB(255, 0, 0)

     For i = down_predel To up_predel Step 0.001

        Picture3.PSet (i, F(i, Io)), RGB(0, 0, 255)

     Next i

  'Левая подпись

  Picture3.CurrentX = down_predel - (up_predel - down_predel) / 40

     If F(down_predel, Io) > 0 Then

        Picture3.CurrentY = -(y_max - y_min) / 25

     Else

        Picture3.CurrentY = (y_max - y_min) / 8

     End If

  Picture3.Print down_predel

  'Правая подпись

  Picture3.CurrentX = up_predel - (up_predel - down_predel) / 40

     If F(up_predel, Io) > 0 Then

        Picture3.CurrentY = -(y_max - y_min) / 25

     Else

        Picture3.CurrentY = (y_max - y_min) / 8

     End If

  Picture3.Print up_predel

End Sub

__________


Заключение

Часто возникает необходимость вычислить определённый интеграл. Если интеграл берётся в алгебраических функциях, то всё в порядке и взять его вручную не представляет труда. А если интеграл не берётся в алгебраических функциях или просто их очень много, то приходится прибегать к помощи компьютерной техники. Существуют несколько способов вычисления определённых интегралов на ЭВМ, причем абсолютно все эти способы получают лишь приближённые значения. В этой работе мы рассмотрим два метода вычисления: метод трапеций и метод Симпсона (метод парабол).


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

1. Мастер – Самоучитель по Visual Basic 6.0 AlexSoft 2010 г.

2. Информатика. Высшая школа. Острейковский В. А. 2009 г.



 

Другие похожие работы, которые могут вас заинтересовать.
4471. Программирование алгоритмов управления в АСУ ТП с использованием TRACE MODE 6 34.57 KB
  Изучение языка программирования Техно ST, представленного в SCADA-системе TRACE MODE 6. Изучение средств TRACE MODE 6 для составления и запуска программ. Моделирование системы программного управления с ПИД-регулятором с использованием TRACE MODE 6.
12246. ИССЛЕДОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ И УСТРОЙСТВ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ 68 KB
  Успешное воплощение перспектив развития инфокоммуникационных технологий во многом базируется на достижениях цифровой обработки сигналов (ЦОС), призванной решать задачи приема, формирования, обработки и передачи информации в реальном масштабе времени
15959. Исследование алгоритмов изменения кривых притока по модельным данным при свабировании 656.78 KB
  В настоящее время для исследования малодебитных скважин применяются такие методы как свабирование компрессирование и отработка скважины струйным насосом. Проведение исследований и интерпретация полученных результатов не учитывают особенности процесса работы пласта и скважины что часто приводит к ошибочным результатам при определении фильтрационно-емкостных параметров пласта...
16345. аутсорсинг – передача компанией определенных функций и бизнес-процессов внешнему подрядчику на постоян 20.6 KB
  Таблица 1 Офшоринг и аутсорсинг – определения и классификация Внутрикорпоративное или внешнее производство Внутрикорпоративное Внешнее аутсорсинг Размещение производства Страна базирования Производство внутри компании в стране базирования Производство передается внешнему подрядчику в стране базирования Зарубежная страна офшоринг Производство осуществляется иностранным филиалом компании внутрифирменный внутрикорпоративный офшоринг Производство передается внешнему подрядчику за рубежом - местной компании - иностранному филиалу другой ТНК...
8409. Итоговые вычисления. Предварительный просмотр и печать документов. Создание диаграмм. Использование электронных таблиц как баз данных 18.94 KB
  Использование электронных таблиц как баз данных Итоговые вычисления В экономических и бухгалтерских расчетах применяют в основном итоговые функции т. Особенность итоговых вычислений в Excel состоит в том что программа пытается найти в каких ячейках заключен обрабатываемый набор данных и задать параметры функции автоматически. В выбранном диапазоне анализируются все ячейки составляющие его а после чего осуществляются вычисления только в тех ячейках в которых заключен обрабатываемый набор данных. Вкладка Поля окна Параметры...
3183. Изучение алгоритмов грамматического разбора предложений 12.95 KB
  Содержание работы: В процессе выполнения лабораторной работы должны быть изучены структуры синтаксических графов и возможность их применения для задачи нисходящего распознавания предложений языка для заданного синтаксиса. Заданный синтаксис некоторого языка удобно представлять в виде синтаксического графа или графа распознавания. Такой граф отражает управление ходом работы при грамматическом анализе предложений. Синтаксический граф является эквивалентным...
16629. Обобщенный непараметрический метод вычисления положительно однородных индексов Конюса-Дивизиа и его приложения к анализу товарных и фондовых рынков 12.25 KB
  Номенклатура товаров выпускаемых в современной экономике содержит порядка наименований и ежеквартально существенно изменяется. Поэтому в макроэкономических моделях такие переменные как количества товаров и цены являются индексами. Статистические службы вычисляют индекс цен как отношение стоимости корзины товаров в ценах текущего периода к её стоимости в ценах базового периода выбирая в качестве корзины покупки товаров в базовый период индекс цен Ласпейреса. Эмпирические расчеты показывают что если в качестве корзины выбрать...
1679. Средние величины. Понятие средних величины и способы вычисления 18.82 KB
  Средние величины. Понятие средних величины и способы вычисления. Они с одной стороны неотъемлемы от методов сводки группировки с другой их обобщающее значение представляется началом следующей группы методов статистического анализа в котором абсолютные и относительные величины изначально играют определяющую роль.
12192. РАЗРАБОТКА АЛГОРИТМОВ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПОСТРОЕНИИ ГЕОМЕТРИЧЕСКИЕ ФРАКТАЛОВ НА БАЗЕ R-ФУНКЦИИ 65.38 KB
  В нашей республике уделяется огромное внимание для эффективного использования информационных технологий в научной и производственной деятельности. Количество различных масштабов длины в естественных формах можно считать бесконечным для каких угодно практических задач. Программное обеспечение может быть использовано в текстильной промышленности при рисовании узоров для штамповки на ковры ткани и т. В 1988 году известные американские специалисты в теории динамических...
20424. Разработка алгоритмов построения типовых бизнес-процессов на основе слабоструктурированных данных 755.56 KB
  Разработка алгоритмов построения типовых бизнес-процессов на основе слабоструктурированных данных. Также построена модель выявления типовых бизнес-процессов описан механизм ее реализации. Анализ методов оценки эффективности бизнес процессов.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.