Dim S() As String
If Not IsNumeric(TextBox1) Or Not IsNumeric(TextBox2) Or Not IsNumeric(TextBox3) Then
MsgBox " неверные данные "
Exit Sub
End If
XN = CDbl(TextBox1)
XK = CDbl(TextBox2)
DX = CDbl(TextBox3)
If OptionButton1 = True Then
ReDim S(Round(Abs(XK - XN) / DX) + 1, 1 To 3) As String
i = 0
S(i, 1) = "N": S(i, 2) = "x": S(i, 3) = "y"
i = i + 1
x = XN
Do While x <= XK
y = (2 + (Sin(x)) ^ 2) / (1 + x ^ 2) ' функция 1 семестра
S(i, 1) = i: S(i, 2) = Format(x, "0.0"): S(i, 3) = Format(y, "0.0")
x = x + DX: i = i + 1
Loop
End If
If OptionButton2 = True Then
ReDim S(Round(Abs(XK - XN) / DX) + 1, 1 To 4) As String
i = 0
S(i, 1) = "N": S(i, 2) = "x": S(i, 3) = "g1": S(i, 4) = "g2"
i = i + 1
x = XN
Do While x <= XK
y = g(x) ' функция 1 семестра
S(i, 1) = i: S(i, 2) = Format(x, "0.0")
If x <= 0 Then S(i, 3) = Format(y, "0.0000") Else S(i, 4) = Format(y, "0.0000")
x = x + DX: i = i + 1
Loop
End If
If OptionButton3 = True Then
ReDim S(Round(Abs(XK - XN) / DX) + 1, 1 To 5) As String
i = 0
S(i, 1) = "N": S(i, 2) = "x": S(i, 3) = "z1": S(i, 4) = "z2": S(i, 5) = "z3"
i = i + 1
x = XN
Do While x <= XK
y = z(x) ' функция 1 семестра
S(i, 1) = i: S(i, 2) = Format(x, "0.0")
If x < 0 Then S(i, 3) = Format(y, "0.0000")
If (x >= 0) And (x <= 1) Then S(i, 4) = Format(y, "0.0000")
If x > 1 Then S(i, 5) = Format(y, "0.0000")
x = x + DX: i = i + 1
Loop
End If
With ListBox1
.ColumnCount = 5
.List = S
|
|
End With
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Function g(x)
If x <= 0 Then g = (3 * x ^ 2) / (1 + x ^ 2) Else g = Sqr(1 + 2 * x / (1 + x ^ 2))
End Function
Function z(x)
If x < 0 Then z = 3 * x + Sqr(1 + x ^ 2)
If (x >= 0) And (x <= 1) Then z = 2 * Cos(x) * Exp(-2 * x)
If x > 1 Then z = 2 * Sin(3 * x)
End Function
Некоторые комментарии к программе:
– В модуле Private Sub CommandButton1_Click(), программно поддерживающем объект CommandButton1, используется функция IsNumeric(TextBox1), проверяющая являются ли данные, помещенные в объекте TextBox1 или TextBox2 цифровыми;
– В программе также используется функция CDbl(TextBox), обеспечивающая преобразование данных объектов TextBox1 и TextBox2 в цифровые;
– В модуле используетсядинамическое объявление массива