Программа Логарифмический калькулятор
Private Sub CommandButton 1_ Click ()
If Not IsNumeric(TextBox1) Or Not IsNumeric(TextBox2) Then
MsgBox "Исходные данные введены неверно или не полностью!", , "Введите числа"
Exit Sub
End If
A = CDbl(TextBox1)
B = CDbl(TextBox2)
If CheckBox1 = True Then
If B > 0 And B <> 1 And A > 0 Then TextBox3 = Application.WorksheetFunction.Log(A, B) Else TextBox3 = "Недопустимые значения!"
Else TextBox3 = ""
End If
If CheckBox2 = True Then
If A > 0 Then TextBox4 = Application.WorksheetFunction.Log10(A) Else TextBox4 = "Недопустимые значения!"
Else TextBox4 = ""
End If
If CheckBox3 = True Then
If A > 0 Then TextBox5 = Application.WorksheetFunction.Ln(A) Else TextBox5 = "Недопустимые значения!"
Else TextBox5 = ""
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Некоторые комментарии к программе:
– Логарифмический калькулятор с CheckBox позволяет вывести одновременно результаты вычислений трех видов логарифмов, всех одновременно или некоторых, для чего используются три объекта TextBox ;
– В программе используется функция IsNumeric ( TextBox 1) проверяющая являются ли данные, помещенные в объекте TextBox 1 или TextBox 2 цифровыми;
– В программе используется функция CDbl ( TextBox ), обеспечивающая преобразование данных объектов TextBox 1 и TextBox 2 в цифровые;
– В программе обрабатывается ситуация невозможности вычисления логарифмов от отрицательного числа или числа равного нулю;
– В программе обеспечивается ситуация вывода пустого окна в случае, если какой-либо CheckBox невыбран;
– Модуль объекта CommandButton 2, который в свойстве Caption переименован в “Выход”, обеспечивает завершение функционирования объекта UserForm .
|
|
Решение квадратных уравнений
Создание пользовательской формы организуется следующим образом:
1. Войти в VBA – Alt - F 11;
2. Выбрать Insert (вставка);
3. Выбрать UserForm.
Затем на появившуюся “платформу” объекта UserForm с панели Toolbox, рис. 9.4, последовательно переместить:
шесть объектов Label;
шесть объектов Textbox;
триобъекта Frame;
два объекта CommandButton ,
расположив их, как показано на рис. 9.7.
Рис. 9.7
В объекте UserForm используются три объекта Frame (рамка), рис. 9.7, два из которых переименованы в “Исходные данные” и “Результаты”.
Далее открыть модуль, программно поддерживающий объект CommandButton 1 (в свойстве Caption переименованный в “Вычислить”), объекта UserForm и написать программу, обеспечивающую организацию взаимодействия выбранных объектов для получения результатов при вычислении корней квадратного уравнения с заданными коэффициентами a , b и c.
Программа Решение квадратных уравнений
Private Sub CommandButton1_Click()
Dim A As Double, B As Double, C As Double
Dim X1 As Double, X2 As Double, D As Double
If IsNumeric(TextBoxA) And IsNumeric(TextBoxB) And IsNumeric(TextBoxC) Then
A = TextBoxA: B = TextBoxB: C = TextBoxC
|
|
D = B ^ 2 - 4 * A * C: TextBoxD = D
If D >= 0 Then
X1 = (-B + D ^ (1 / 2)) / (2 * A)
X2 = (-B - D ^ (1 / 2)) / (2 * A)
TextBoxX1.Visible = True: TextBoxX1 = X1
TextBoxX2.Visible = True: TextBoxX2 = X2
Label4.Visible = True
Label4 = "X1"
Label5.Visible = True
Else
TextBoxX1.Visible = False
TextBoxX2.Visible = False
Label4 = " Нет решений "
Label5.Visible = False
End If
Else
MsgBox " ВВЕДИТЕ A,B,C"
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Некоторые комментарии к программе:
– В программе для удобства в Properties в разделе Name объект TextBox 1 переименован в TextBoxA , аналогично TextBox 2 – TextBoxB , TextBox 3 – TextBoxC , TextBox 4 – TextBoxX 1, TextBox 5 – TextBoxX 2 и TextBox 6 – TextBoxD ;
– В программе используется функция INumeric ( TextBox ) проверяющая являются ли данные, помещенные в объекте TextBoxA или вобъекте TextBoxB или в объекте TextBoxC цифровыми;
– В программе обрабатывается ситуация, когда дискриминант приобретает отрицательное значение, в этом случае объектам TextBoxX 1, TextBoxX 2 и Label 5 сообщается свойство Visible со значением False , в результате чего указанные объекты становятся невидимыми, а объекту Label 4 присваивается символьная константа "Нет решений", рис. 9.8;
– Модуль объекта CommandButton 2, который в свойстве Caption переименован в “Выход”, обеспечивает завершение функционирования объекта UserForm .
|
|
Рис. 9.8.
Дата добавления: 2019-03-09; просмотров: 224; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!