Лабораторная работа - VB
Формулировка задачи:
Помогите, пожалуйста, правильно завершить лаб. работу. Задание ниже :
Вот мой текст программы, который должен быть дополнен после места, выделенным красным. Там насколько я знаю нужно использовать точность, которую я ввожу, но как это сделать ? Подскажите, пожалуйста.
Private Sub Form_Load()
t = 0.1
For i = 1 To 6
Combo1.AddItem (t)
t = t / 10
Next
Combo1.Text = Combo1.List(0)
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "exit"
End
Case "run"
1:
m = Slider1.Value
Ii1 = 0
iter = 1
If Combo1.Text = Combo1.List(0) Then t = 0.1
If Combo1.Text = Combo1.List(1) Then t = 0.01
If Combo1.Text = Combo1.List(2) Then t = 0.001
If Combo1.Text = Combo1.List(3) Then t = 0.0001
If Combo1.Text = Combo1.List(4) Then t = 0.00001
If Combo1.Text = Combo1.List(5) Then t = 0.000001
h = (1.5 - 0.5) / m
2: For x = 1 To m - 1
Ii1i = h / (Cos(x) ^ 2 + Exp(x) * Abs(x + Log(x)))
Ii1 = Ii1 + Ii1i
Next
If Abs(Ii1i) > t Then
h = h / 2
End If
Label7.Caption = Str(Ii1)
Case "rect"
MsgBox ("Метод выбран.")
Case "trap"
MsgBox ("Выбранный метод не поддерживается.")
Case "simpson"
MsgBox ("Выбранный метод не поддерживается.")
Case "help"
End Select
End Sub Решение задачи: «Лабораторная работа»
textual
Листинг программы
Private Sub Command1_Click() Dim f As Double, I As Double, df As Double Dim x0 As Double, n As Long, h As Double Const a = 0.5, b = 1.5, eps = 0.000001 List1.Clear I = 0: n = 2 1: f = 0 h = (b - a) / n For x0 = a + h To b Step h ' для пр. //// x0 = a To b - h Step h --- для лев. f = f + fn(x0) * h Next x0 df = Abs(I - f) If df > eps Then I = f List1.AddItem "I=" & I & " --- eps=" & df & " --- n=" & n n = n + 1 GoTo 1 Else List1.AddItem "---------------" List1.AddItem "I=" & I & " --- eps=" & df & " --- n=" & n End If End Sub Function fn(x As Double) As Double fn = 1 / (Cos(x) ^ 2 + Exp(x) * Abs(x + Log(x))) End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д