Решение уравнения, нахождение середины его корней - Visual Basic .NET
Формулировка задачи:
Подскажите, есть задание (решить квадратное уравнение, найти середину отрезка между корнями, сгенерировать 20 чисел и выяснить какие числа находятся слева, а какие справа этого отрезка)
Уже имеется форма, в ней уже готов код решения квадратного уравнения и код на генерацию случайных чисел. А вот как их объединить не пойму. Подскажите как это сделать
Решение задачи: «Решение уравнения, нахождение середины его корней»
textual
Листинг программы
Public Class Form1 Dim diapason = 100 Dim kol = 20 Dim num(kol - 1) As Integer Dim r As New Random Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For i = 0 To kol - 1 num(i) = r.Next(-100, diapason) Next Label1.Text = String.Join(", ", num) End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Label1.Text = "" End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click Close() End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click End Sub Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim a, b, c, d, x1, x2, s As Double If TextBox1.Text = "" Then MsgBox("Коэффициент a не введен") Else a = TextBox1.Text If TextBox2.Text = "" Then MsgBox("Коэффициент b не введен") Else b = TextBox2.Text If TextBox3.Text = "" Then MsgBox("Коэффициент c не введен") Else c = TextBox3.Text d = b * b - 4 * a * c s = Math.Sqrt(d) If d > 0 Then x1 = Math.Round((-b + s) / (2 * a), 3) x2 = Math.Round((-b - s) / (2 * a), 3) Label7.Text = "Дискриминант = " & d Label9.Text = "X1 = " & x1 Label8.Text = "X2 = " & x2 ElseIf d = 0 Then x1 = b / (2 * a) x2 = x1 Label7.Text = "Дискриминант = " & d Label9.Text = "X1 = " & x1 Label8.Text = "X2 = " & x1 ElseIf d < 0 Then Label7.Text = "Дискриминант: " & d Label9.Text = "Корней нет!" Label8.Text = "" MsgBox("Дискриминант меньше нуля! Корней нет!") End If End If End If End If End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged End Sub Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged End Sub Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged End Sub Private Sub Label7_Click(sender As Object, e As EventArgs) Handles Label7.Click End Sub Private Sub Label8_Click(sender As Object, e As EventArgs) Handles Label8.Click End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim a, b, c, d, s, x1, x2 As Double a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text d = b * b - 4 * a * c s = Math.Sqrt(d) If d > 0 Then x1 = Math.Round((-b + s) / (2 * a), 3) x2 = Math.Round((-b - s) / (2 * a), 3) Label7.Text = "Дискриминант = " & d & "" & vbCrLf & " D = b * b - 4 * a * c = d | " & b & " * " & b & " - 4 * " & a & " * " & c & " = " & d Label9.Text = "X1 = " & x1 & " X1 = (-b + s) / (2 * a) | ( - " & b & " + " & d & ") / (2 * " & a & ")" Label8.Text = "X2 = " & x2 & " X2 = (-b - s) / (2 * a) | ( - " & b & " - " & d & ") / (2 * " & a & ")" ElseIf d = 0 Then x1 = b / (2 * a) x2 = x1 Label7.Text = "Дискриминант = " & d & " D = " & b & " * " & b & " - 4 * " & a & " * " & c Label9.Text = "X1 = " & x1 & " Решение: b / (2 * a) | " & b & " / (2 * " & a & ")" Label8.Text = "X1 = X2" ElseIf d < 0 Then Label7.Text = "Дискриминант = " & d & Label9.Text = "Корней нет!" Label8.Text = "" MsgBox("Дискриминант меньше нуля! Корней нет!") End If End Sub Private Sub Label9_Click(sender As Object, e As EventArgs) Handles Label9.Click End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д