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

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

Решение уравнений на Vb методом полного перебора

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

Создадим интерфейс программы
1 Разместим два элемента TextBox на форме для задания диапазонов диапазонов поиска решения. Разместим элементы метки Label для надписей к диапазонам. Подробно познакомится с этим элементами можно на уроке Текстовые поля
2 В Toolbox находим элемент ListBox, размещаем его на форме.

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

 

Нажимаем два раза на кнопку, переходим в функцию обработки нажатия кнопки Посчитать.

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

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

Dim x, d, lowerBound, upperBound As Double
        d = 0.5
        lowerBound = TextBox1.Text
        upperBound = TextBox2.Text

В начале программы необходимо очистить поле выводов ответов ListBox с помощью команды
ListBox1.Items.Clear()
Мы решаем уравнение методом перебора. Для осуществления перебора используем цикл For
For переменная= нижняя граница перебора To  верхняя граница перебора Step шаг перебора

Next переменная

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

Next x

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

Цикл перебора для поиска корней этого уравнения на vb будет выглядеть следующим образом

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

Теперь разберем алгоритм решения уравнений с двумя переменными x и y. Например

 

 Для этого нужно перебирать не только x, но и y. Чтобы перебрать все значения и 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)

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