Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
79
Добавлен:
02.05.2014
Размер:
208.9 Кб
Скачать

Блок-схема метода трапеций.

Метод прямоугольников.

Пусть на отрезке [a, b] задана непрерывная функция y=f(x). Требуется вычислить определённый интеграл . Разделим отрезок [a, b] точками a=x0, x1, x2, ..., xn=b на n равных частей длины h: .

Обозначим далее через y0, y1, y2, ..., yn-1, yn значение функции в точках f(x) x0, x1, x2, ..., xn, т.е.

y0=f(x0), y1=f(x1), ..., yn=f(xn).

Составим суммы:

y0h + y1h + ... + yn-1h,

y1h + y2h + ... + ynh.

Каждая из этих сумм является интегральной суммой для f(x) на отрезке [a, b] и поэтому приближенно выражает интеграл

(1)

(1’)

Это и есть формулы прямоугольников. Из рис. 2 ясно, что если f(x) положительная и возрастающая функция, то формула (1) выражает площадь ступенчатой фигуры, составленной из “входящих” прямоугольников, а формула (1’) – площадь ступенчатой фигуры, составленной из “выходящих” прямоугольников.

Пример кода:

Dim h As Double

Dim s As Double

Dim n As Long

h = (b - a) / n

s = 0

x = b

For i = 1 To n - 1

F = Fn(x)

s = s + F

x = x - h

Next i

Prm = s * h

Блок-схема метода прямоугольников.

Описание проекта

При запуске программы выходит Главное меню, оно называется “Курсовая работа” (рисунок 3).

Рисунок 3. Главное меню

Посредством него осуществляется управление программой. Оно содержит следующие пункты:

Файл

  • Сохранить – сохранение вычисленных результатов.

  • Выход – выход из программы.

Решение – переход в окно ввода данных и вычисления интеграла (рисунок 4).

Визуализация

  • Исследование – переход в окно построения графиков зависимости погрешностей двух методов (рисунок 5).

О программе – вывод краткой информации о программе (рисунок 6).

Рисунок 4. Решение.

Рисунок 5. График зависимости погрешностей.

Рисунок 6. О программе

Код программы Form1 - Главное меню (Курсовая работа)

Private Sub AboutPr_Click()

Form5.Show

End Sub

Private Sub End_Click()

End

End Sub

Private Sub Form_Load()

CommonDialog1.Filter = "Texts (*.txt)|*.txt"

End Sub

Private Sub Issled_Click()

Form1.Hide

Form4.Show

End Sub

Private Sub Reshenie_Click()

Form1.Hide

Form2.Show

End Sub

Private Sub Save_Click()

CommonDialog1.ShowSave

Open CommonDialog1.FileName For Output As #1

j = 0

For k = 10 To 200 Step 10

Print #1, "При n = " + Str(k) + vbCrLf; " погрешность метода прямоугольников = " + Str(Ep(j)) + vbCrLf; " погрешность метода трапеций = " + Str(Et(j)) + vbCrLf

j = j + 1

Next k

Close #1

End Sub

Private Sub Visualpr_Click()

Form1.Hide

Form3.Show

End Sub

Form2 – Решение

Private Sub Command1_Click()

Dim h As Double

Dim s As Double

Dim n As Long

a = Val(Text1.Text)

b = Val(Text2.Text)

n = Val(Text3.Text)

h = (b - a) / n

s = 0

x = b

For i = 1 To n - 1

F = Fn(x)

s = s + F

x = x - h

Next i

Prm = s * h

Text4.Text = Prm

End Sub

Private Sub Command2_Click()

Dim s As Double

Dim h As Double

Dim n As Long

a = Val(Text1.Text)

b = Val(Text2.Text)

n = Val(Text3.Text)

h = (b - a) / n

s = 0

X1 = a

For i = 1 To n - 1

X1 = X1 + h

s = s + Fn(X1)

Next

Trap = h * (Fn(a) + Fn(b) + 2 * s) / 2

Text5.Text = Trap

End Sub

Private Sub Command3_Click()

Form2.Hide

Form1.Show

End Sub

Private Sub Command4_Click()

End

End Sub

Private Sub Command5_Click()

a = Val(Text1.Text)

b = Val(Text2.Text)

NL = ff(b)-ff(a)

Text6.Text = NL

End Sub

Соседние файлы в папке Курсовая работа по Basic