Dim DX As Double

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 в цифровые;

– В модуле используетсядинамическое объявление массива


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



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