Четверг, 2026-05-14

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)
Просмотров: 1654 | Теги: квадратные уравнения, 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 смена раскладки Timer mindgames поиск в массиве цикл текст словарь база пароль слова Существительные СЛАУ комплексные числа Скачать процесс массив классы массивы многомерные Continue forEach Break While Обработка событий создание кнопки система уравнений XML база данных xml создание xml количество элементов xml поиск значений soft запрещенные сайты обход блокировки черный список google proxy pirat save Open TopMost между датами количество дней перемешивание массива Меморина Сравнение дробей Анаграммы Ребусы скорочтение Рифмоплет недостатки использование размер
    Copyright ProfessorVB © 2026