Легкая программка(просто описать) - VB
Формулировка задачи:
Помогите Плиз! Опишите подробно ,что делает каждая строчка программы:
Private Sub cmdCalculate_Click()
Dim paramA As Double
Dim paramB As Double
Dim paramC As Double
Dim x1 As Double
Dim x2 As Double
Dim D As Double
paramA = Val(txtparamA.Text)
paramB = Val(txtparamB.Text)
paramC = Val(txtParamC.Text)
If paramA = 0 Or paramB = 0 Or paramC = 0 Then
MsgBox "Нули в качестве коэффициентов не допускаются!", _
vbCritical
Exit Sub
End If
D = CalcDiscremenant(paramA, paramB, paramC)
If D > 0 Then
x1 = (paramB + Sqr(D)) / (2 * paramA)
x2 = (paramB - Sqr(D)) / (2 * paramA)
WriteResultsInLabels "Дискременант: " & D, _
"Корень №1: " & x1, "Корень №2: " & x2
ElseIf D = 0 Then
x1 = paramB / (2 * paramA)
x2 = x1
WriteResultsInLabels "Дискриминант: " & D, _
"Корень №1: " & x1, "Корень №2 = Корню №1"
ElseIf D < 0 Then
WriteResultsInLabels "Дискриминант: " & D, _
"Корней нет!", ""
MsgBox "Дискриминант меньше нуля! Корней нет!", vbCritical
End If
End Sub
Public Function CalcDiscremenant(ByVal a As Double, ByVal b As Double, ByVal c As Double) As Double
CalcDiscremenant = (b * b) - (4 * a * c)
End Function
Public Sub WriteResultsInLabels(lblDCapt As String, _
lblX1Capt As String, lblX2Capt As String)
lblD.Caption = lblDCapt
lblX1.Caption = lblX1Capt
lblX2.Caption = lblX2Capt
End Sub
Решение задачи: «Легкая программка(просто описать)»
textual
Листинг программы
'Решение полного квадратного уравнения Private Sub cmdCalculate_Click() 'Событие нажатия кнопки с именем cmdCalculate Dim paramA As Double 'Переменные типа Double Dim paramB As Double Dim paramC As Double Dim x1 As Double Dim x2 As Double Dim D As Double paramA = Val(txtparamA.Text) 'Считываем из текстовых полей в переменные. Оператор Val() всегда возвращает значение paramB = Val(txtparamB.Text) paramC = Val(txtParamC.Text) If paramA = 0 Or paramB = 0 Or paramC = 0 Then 'Если одно из значений =0, то выдать сообщение об ошибке и закрыть программу MsgBox "Нули в качестве коэффициентов не допускаются!", _ vbCritical Exit Sub End If D = CalcDiscremenant(paramA, paramB, paramC) 'Переменной D присвоить значение функции CalcDiscremenant() с тремя аргументами If D > 0 Then x1 = (paramB + Sqr(D)) / (2 * paramA) 'Если он больше 0, то посчитать корни уравнения x2 = (paramB - Sqr(D)) / (2 * paramA) WriteResultsInLabels "Дискременант: " & D, _ "Корень №1: " & x1, "Корень №2: " & x2 ElseIf D = 0 Then 'Иначе если =0, то корень 1. x1 = paramB / (2 * paramA) x2 = x1 WriteResultsInLabels "Дискриминант: " & D, _ "Корень №1: " & x1, "Корень №2 = Корню №1" ElseIf D < 0 Then 'Если он отрицателен - сообщение о том, что корней нету WriteResultsInLabels "Дискриминант: " & D, _ "Корней нет!", "" MsgBox "Дискриминант меньше нуля! Корней нет!", vbCritical End If End Sub 'Конец события Public Function CalcDiscremenant(ByVal a As Double, ByVal b As Double, ByVal c As Double) As Double 'Функция расчёта дискременанта CalcDiscremenant = (b * b) - (4 * a * c) End Function Public Sub WriteResultsInLabels(lblDCapt As String, _ lblX1Capt As String, lblX2Capt As String) 'Процедура вывода на элементы типа label значений lblD.Caption = lblDCapt lblX1.Caption = lblX1Capt lblX2.Caption = lblX2Capt End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д