Option Explicit
Private Sub cmdCalc_Click()
Dim x As Double
Dim y As Double
Dim inputStr As String
' Получаем ввод от пользователя
inputStr = txtX.Text
' Проверка на пустой ввод
If Trim(inputStr) = "" Then
MsgBox "Пожалуйста, введите значение X.", vbExclamation, "Ошибка ввода"
txtX.SetFocus
Exit Sub
End If
' Преобразуем текст в число
x = Val(inputStr)
' Простая проверка на корректность числа
If (x = 0 And inputStr <> "0" And inputStr <> "0,0" And inputStr <> "0.0") Then
MsgBox "Введено некорректное число.", vbCritical, "Ошибка"
txtX.Text = ""
txtX.SetFocus
Exit Sub
End If
' Реализация кусочной функции из задачи 19
If x < -3 Then
y = x ^ 4
lblResult.Caption = "Y = " & Format(y, "0.0000")
ElseIf (x >= -3) And (x < 0) Then
' Tan в VB принимает радианы
y = 2 * Tan(x)
lblResult.Caption = "Y = " & Format(y, "0.0000")
Else
' Для x >= 0 функция не определена по условию
lblResult.Caption = "Значение не определено (X >= 0)"
MsgBox "Для X >= 0 значение функции не задано в условии задачи.", vbInformation, "Внимание"
End If
End Sub
Private Sub cmdClear_Click()
txtX.Text = ""
lblResult.Caption = ""
txtX.SetFocus
End Sub
Private Sub Form_Load()
' Инициализация формы при запуске
lblResult.Caption = ""
txtX.Text = ""
End Sub