Воскресенье, 2025-02-02

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)
Просмотров: 1565 | Теги: квадратные уравнения, math, Vb.net, дискриминант, уравнения, символ, квадратный корень, математика | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    Видео Switch массивы уравнения геометрия continue forEach while Обработка событий задать цвет C# math Vb.net xml количество элементов xml поиск значений математика видеоуроки Soft системы Google pirat Proxy tor НОД нок добавление записи в xml поиск Уроки генератор hello world время деструкторы конструкторы дроби калькулятор десятичные дроби решебник сокращение дробей си шарп мнемоника тренажер random количество дней между датами professorvb дата Урок mindgames алгебра многомерные слова словарь Пароль cos SIN база timer рандом Цикл Break DO for RGB условия массив элементов xml редактирование xml создание вирус MenuStrip AntiCenz fri-gate запрещенные сайты база данных Open RichTextBox XML удалить из xml save TopMost анекдот создать XML Классы Тест OpenFileDialog английский развитие иностранные слова DateTimePicker календарь массив перемешивание массива Анаграммы Рифмоплет Сравнение дробей Меморина скорочтение Использование ребусы комплексные числа программа генератор имен
    Copyright ProfessorVB © 2025