Top.Mail.Ru
Ответы

Помогите найти ошибку в коде Visual Basic

Дополнен

Option Explicit On
Option Strict On
Imports System.Math
Public Class Form1
Private Function f(ByVal x As Double) As Double
Return (-2) * (1 + x) * Exp(-x) - 2 * Cos(x)
End Function
Private Sub vvod(ByRef a As Double, ByRef b As Double, ByRef eps As Double, ByRef d As Double)
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
eps = Val(TextBox3.Text)
d = Val(TextBox4.Text)
ListBox1.Items.Clear()
ListBox2.Items.Clear()
ListBox3.Items.Clear()
ListBox4.Items.Clear()
ListBox5.Items.Clear()
ListBox6.Items.Clear()
ListBox7.Items.Clear()
ListBox8.Items.Clear()
End Sub
Private Sub vivod(ByVal n As Double, ByVal a As Double, ByVal b As Double, ByVal x1 As Double, ByVal x2 As Double, ByVal F1 As Double, ByVal F2 As Double)
ListBox1.Items.Add(n)
ListBox2.Items.Add(a)
ListBox3.Items.Add(b)
ListBox8.Items.Add(b - a)
ListBox4.Items.Add(x1)
ListBox5.Items.Add(x2)
ListBox6.Items.Add(F1)
ListBox7.Items.Add(F2)
Label14.Text = "точка минимума: "
Label15.Text = "значение функции в точке минимума: "
End Sub
Public Sub dih(ByVal a As Double, ByVal b As Double, ByVal eps As Double, ByVal d As Double)
Dim x1, x2, F2, F1, f3, x3 As Double
Dim n As Double = 0
Do
vivod(n, a, b, x1, x2, F1, F2)
n = n + 1
x1 = ((a + b) / 2) - d
x2 = ((a + b) / 2) + d
If f(x1) > f(x2) Then a = x1 Else b = x2
Loop Until Abs(b - a) <= eps
x3 = (a + b) / 2
f3 = f(x3)
F1 = f(x1)
F2 = f(x2)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b, eps, d, x3, f3 As Double
dih(a, b, eps, d)
vvod(a, b, eps, d)
Label14.Text = Label14.Text & Str(x3)
Label15.Text = Label15.Text & Str(f3)
End Sub
End Class

По дате
По рейтингу
Аватар пользователя
user_39193219Ученик
15лет

А разве не показывает программа где произошла ошибка?



Видео по теме