Решение уравнения на Vb

16 октября 2018 - Администратор

Решение уравнений на Vb

В этом уроке с помощью программы мы решим уравнение с помощью программы на VB, разберём вложенные циклы For и изучим элемент ListBox.

Искать решение будем простым перебором всех значений в заданном диапазоне. Пользователь задает диапазоны поиска, решения выводятся в специальную область на форме ListBox

1. Разместим два элемента TextBox для диапазонов поиска решения и надписи к ним с помощью элементов Label . Подробно познакомится с этим элементами  на уроке Текстовые поля

2. В Toolbox находим элемент ListBox и создаём данный интерфейс:

3. Разместим элемент Button  и назовём его Вычислить Подробно о кнопках в Vb

Нажимаем два раза по кнопке, чтобы написать программу поиска решения. Мы будем решать уравнение методом перебора, для вывода корней  мы будем использовать элемент ListBox, способный содержать в себе большое количество строк.

Введём переменные: x, d, lowerBound, upperBound, где x - значение аргумента в данной точке, d – шаг перебора x, lowerBound - нижняя граница поиска, а upperBound - верхняя граница поиска. Для опеределения диапазона поиска решений будем использовать текстовые поляTextBox1 и TextBox2. Чтобы считать значения, введенные в эти поля, используется свойство этих элементов Техт

Dim x, d, lowerBound, upperBound As Double

        d = 0.5

        lowerBound = TextBox1.Text

        upperBound = TextBox2.Text

В начале программы необходимо очистить поле выводов ответов ListBox с помощью команды

ListBox1.Items.Clear()

Для того, чтобы обозначить, где находится столбец для подходящих значений x, до процедуры решения уравнения добавим небольшую строку для обозначения:

ListBox1.Items.Add("x:")

Теперь приступим к решению уравнения.

Мы решаем уравнение методом перебора. Для осуществления перебора используем цикл For

For переменная= нижняя граница перебора To  верхняя граница перебора Step шаг перебора

Next переменная

В нашем случае цикл перебора перменной x от нижней границы  lowerBound до верхней границы upperBound будет выглядеть

For x = lowerBound To upperBound Step d

Next x

В самом цикле при каждом новом значении x проверяем, является ли оно решением уравнения. Для этого необходимо использовать условие If. Для примера выберем уравнение

 

For x = lowerBound To upperBound Step d

            If Math.Pow(x, 3) + Math.Pow(x, 2) + x + 1 = 0 Then

                ListBox1.Items.Add(x)

            End If

Next x

Теперь попробуем решить в Vb уравнение с двумя переменными. Для этого нужно перебирать не только x, но и y. Для этого нужно сделать вложенный цикл For. Для примера используем уравнение:

For x = lowerBound To upperBound Step d

            For y = lowerBound To upperBound Step d

                If 4 * x = Math.Pow(y, 2) Then

                    ListBox1.Items.Add(x & vbTab & y)

                End If

           Next y

 Next x

Полная версия программы:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim x, d, lowerBound, upperBound As Double

        d = 0.5

        lowerBound = TextBox1.Text

        upperBound = TextBox2.Text

        ListBox1.Items.Clear()

        ListBox1.Items.Add("x:" & vbTab & "y:")

        For x = lowerBound To upperBound Step d

            For y = lowerBound To upperBound Step d

                If 4 * x = Math.Pow(y, 2) Then

                    ListBox1.Items.Add(x & vbTab & y)

                End If

            Next y

        Next x 

    End Sub

End Class

Задание . Напишите программу для поиска решения уравнений с тремя неизвестными.

 Вернуться к содержанию  

Комментарии (0)

Нет комментариев. Ваш будет первым!