Решение уравнения на Vb
Решение уравнений на 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
Поделиться
Нет комментариев. Ваш будет первым!