Решение уравнения, нахождение середины его корней - 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

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


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

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

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