Легкая программка(просто описать) - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы