Решение уравнения на 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. Для примера решим уравнение:

 

Программа для перебора обоих перменных x и 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

Полная версия программы на VB решения уравнения с двумя перменными методом перебора
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

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

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

Полезно почитать по теме циклы в Vb
Циклы в VB

Поделиться

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

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