Суббота, 2026-01-31

Professor VB - примеры на VB.net и C#
Меню сайта
Вход на сайт
Категории раздела
Уроки VB.net [25]
VB.net и математика [13]
Random VB [4]
VB.net - разное [7]
VB.net - Примеры программ [2]
Главная » Статьи » VB.net » VB.net и математика

VB.net - Решение квадратных уравнений

VB.net - Решение квадратных уравнений



   Часто встречающаяся задача в математике школьного курса - решение квадратных уравнений. И в этой статье мы опишем создания программы для решения таких задач.

Если же вам нужна готовая версия, то ее вы сможете скачать ЗДЕСЬ

 

На фому помещаем следующие элементы:

 

 

Текстовое поле для ответа делаем многострочным, также добавляем ярлыки для X, 2, x, =0.

Код программы:

 

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'вводим переменные для знаков
        Dim znakA, znakB, znakC

        'определяем знак А
        If cmdA.Text = "-" Then
            znakA = -1
        Else
            znakA = 1
        End If


        'определяем  знак B
        If cmdB.Text = "-" Then
            znakB = -1
        Else
            znakB = 1
        End If


        'определяем знак C
        If cmdC.Text = "-" Then
            znakC = -1
        Else
            znakC = 1
        End If


        Dim a As Integer = Val(txtA.Text) * znakA
        Dim b As Integer = Val(txtB.Text) * znakB
        Dim c As Integer = Val(txtC.Text) * znakC

 

        Dim D As Integer
     
  'Dim chars As Char = ChrW(&H221A) - корень квадратный
        Dim koren As Char = ChrW(&H221A)

        D = b ^ 2 - 4 * a * c

        ''уравнение
        txtOtvet.Text = "a = " + Str(a) + vbCrLf + "b = " + Str(b) + vbCrLf + "c = " + Str(c) + vbCrLf

        If a <> 0 Then

            ''дискр
            txtOtvet.Text += vbCrLf + "D = b ^ 2 - 4 * a * c = " _
                + Str(b * b) + " - 4*(" + Str(a) + ")*(" + Str(c) + ") = " _
                + Str(b ^ 2 - 4 * a * c) + vbCrLf

 

            If D >= 0 Then
                txtOtvet.Text += vbCrLf + "X1 = ( -b - " + koren + "D )" + " / (2a)"
                txtOtvet.Text += " = (" + Str(b * (-1)) + " - " + Str(D ^ (1 / 2)) + ") / " + (Str(2 * a))
                txtOtvet.Text += " = " + Str(((-1) * b - (D ^ (1 / 2))) / (2 * a)) + vbCrLf

                If D > 0 Then
                    txtOtvet.Text += vbCrLf + "X2 = ( -b + " + koren + "D )" + " / (2a)"
                    txtOtvet.Text += " = (" + Str(b * (-1)) + " + " + Str(D ^ (1 / 2)) + ") / " + (Str(2 * a))
                    txtOtvet.Text += " = " + Str(((-1) * b + (D ^ (1 / 2))) / (2 * a)) + vbCrLf
                End If
            Else
                txtOtvet.Text += "D = " + Str(D) + " - меньше 0, " + vbCrLf + "решений нет!"
            End If

        Else
            txtOtvet.Text += vbCrLf + "X = -c/b = " + Str((-1) * c) + "/" + Str(b) + " = " + Str(((-1) * c) / b)
        End If

    End Sub

    'смена знака
    Private Sub cmdA_Click(sender As Object, e As EventArgs) Handles cmdA.Click
        If cmdA.Text = "-" Then
            cmdA.Text = "+"
        Else
            cmdA.Text = "-"
        End If

    End Sub

    'смена знака
    Private Sub cmdB_Click(sender As Object, e As EventArgs) Handles cmdB.Click
        If cmdB.Text = "-" Then
            cmdB.Text = "+"
        Else
            cmdB.Text = "-"
        End If
   
End Sub

    'смена знака
    Private Sub cmdC_Click(sender As Object, e As EventArgs) Handles cmdC.Click
        If cmdC.Text = "-" Then
            cmdC.Text = "+"
        Else
            cmdC.Text = "-"
        End If
   
End Sub

    'ввод только цифр и бекспейса
    Private Sub txtA_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtA.KeyPress
        If Not IsNumeric(e.KeyChar) AndAlso Asc(e.KeyChar) <> 8 Then e.Handled = True
 
  End Sub

    'ввод только цифр и бекспейса
    Private Sub txtB_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtB.KeyPress
        If Not IsNumeric(e.KeyChar) AndAlso Asc(e.KeyChar) <> 8 Then e.Handled = True
    End Sub

    'ввод только цифр и бекспейса
    Private Sub txtC_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtC.KeyPress
        If Not IsNumeric(e.KeyChar) AndAlso Asc(e.KeyChar) <> 8 Then e.Handled = True
    End Sub

End Class

 

смотреть видео

 

 

Теперь решение квадратных уравнений для вас пустяковое дело!

END



 

Категория: VB.net и математика | Добавил: ProfessorVB (2015-11-13)
Просмотров: 1635 | Теги: квадратные уравнения, Math, Vb.net, дискриминант, уравнения, символ, квадратный корень, математика | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    урок C# си шарп видео hello world MenuStrip Генератор имен Switch дроби решебник Алгебра системы уравнения геометрия Vb.net генератор уроки математика программа условия Math массив элементов видеоуроки добавление записи в xml анекдот поиск создать XML удалить из xml калькулятор НОД нок время дата Деструкторы конструкторы тест сокращение дробей десятичные дроби тренажер английский развитие мнемоника иностранные слова random рандом professorvb OpenFileDialog Timer mindgames цикл словарь база пароль слова cos sin комплексные числа вирус массив классы массивы многомерные Break Continue do for forEach While Обработка событий rgb задать цвет XML база данных xml количество элементов xml поиск значений xml редактирование xml создание soft AntiCenz fri-gate google pirat proxy tor запрещенные сайты Open save RichTextBox TopMost DateTimePicker календарь количество дней между датами перемешивание массива Анаграммы Меморина Ребусы Рифмоплет скорочтение Сравнение дробей использование
    Copyright ProfessorVB © 2026