Загрузка данных


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