Программный код

Imports System.Math

Public Class Form1

Dim s As Single

Dim a, a0 As Single

Dim b, b0 As Single

Dim c As Single

Dim n As Integer

Dim f As Double

Dim fb, fc As Double

Dim ee As Double

Dim p As Double

Public Sub vvod()

ee = Val(TextBox4.Text)

End Sub

Public Sub reshenie()

a0 = 0.8

b0 = 1.2

a = 0.8

b = 1.2

c = (a + b) / 2

n = 0

s = 0.95025249

Do

n = n + 1

fc = c - Cos(c / 3)

fb = b - Cos(b / 3)

If fc * fb < 0 Then a = c Else b = c

c = (a + b) / 2

f = c - Cos(c / 3)

p = Abs(s - c)

Loop Until (b0 - a0) / 2 ^ n <= ee

End Sub

Public Sub otvet()

TextBox1.Text = CStr(n)

TextBox2.Text = CStr(c)

TextBox3.Text = CStr(f)

TextBox5.Text = CStr(p)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

vvod()

reshenie()

otvet()

End Sub

End Class

Результат выполнения программы

Результаты расчета на ПК с различной точностью

E n x f(x)
0. 01   0,953125 0,00317119341299776
0. 001   0,9503906 0,00015242956897854
0.0001   0,9502441 -9,22535053682338E-06

Оценка погрешности результата

ε Погрешность
0.01 0,0028725266456604
0.001 0,00013810396194458
0.0001 8,34465026855469E-06

Зависимость n(lnE)

ε 0.01 0.001 0.0001
n      

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: