Программа Логарифмический калькулятор



 

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. Войти в VBAAlt - 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!