Научно-исследовательская работа «Приближенное решение уравнений на языке Visual Basic» (10–11 класс)
Муниципальное общеобразовательное учреждение Лицей
Усть-Кутского муниципального образования
Приближенное решение уравнений на языке Visual Basic
Пряникова Ирина Владимировна,
учитель Информатики и ИКТ
МОУ Лицей УКМО
г.Усть-Кут
2018
Оглавление
Глава 1 Работа с графиком в Visual Basic 4
1.1.Компьютерная модель графического метода решения уравнений 4
1.2.Команды языка при работе с графикой 5
Глава 2 Создание проекта Приближенное решение уравнений на языке VisualBasic 6
2.1. Этапы создания компьютерной модели: 6
2. 2. Программный код для компьютерной модели: 6
Данный проект актуален для учеников и учителей в школах, институтах, колледжах и лицеях, при изучении темы в алгебре: «Графики», «График функции» и т.д.
В интернете часто можно встретить такую просьбу "Помогите правильно построить график функции". А можно ли, эту задачу решить быстро и наглядно с помощью компьютера?
Функциональные зависимости легче воспринимаются в графической форме. Мне нравится выполнять вычисления по графикам.
Мы знаем, как выглядят графики элементарных функций: линейная, квадратичная, кубическая и даже графики тригонометрических функций. Но, стоит нам усложнить уравнение, мы теряемся в его построении.
На языке алгебры формальные модели записываются с помощью уравнений, точное решение которых основывается на поиске равносильных преобразований алгебраических выражений, позволяющих выразить переменную величину с помощью формулы. При помощи моей программы можно построить различные графики, со сдвигом по оси ординат и абсцисс.
Цель проекта: Построить график к функции х3-cosx=0 на языке VisualBasic
Задача: Найти корень уравнения х3-cosx=0 (графическим методом)
-
- Компьютерная модель графического метода решения уравнений
Точные решения существуют только для некоторых уравнений определённого вида (линейные, квадратные, тригонометрические и др.), поэтому для большинства уравнений используется приближенный метод решения уравнений графическим способом.
Так как нужно производить сложные вычисления. Программа, разработанная мной в VisualBasic, быстро может построить график функции, на котором будет видно приблизительное решение уравнения.
В данной программе при решении уравнений вида (линейные, квадратные, кубические,) при сдвиге по оси -X используется формула X=50*L, где L− количество делений, на которое нужно сделать сдвиг по оси X, а для Y=(50n)*L, где n − это степень Х.
Построение графиков функций может использоваться для грубо приближенного решения уравнений. Для уравнений вида f(x)=0, где f(x)- некоторая непрерывная функция, корень (или корни) этого уравнения являются точкой (или точками) пересечения графика функции с осью X.
Графическое решение таких уравнений можно осуществить путем построения компьютерных моделей: Построением графика функции в системе объектно-ориентированного программирования Visual Basic или Turbo Delphi;
В электронных таблицах Microsoft Excel или Open Office.org Calc путем построения диаграммы типа График.
-
- Команды языка при работе с графикой
Dim (оператор) - объявляет переменные и выделяет память под них.
String (функция) - возвращает строку заданной длины из одинаковых символов.
Cos (функция) - возвращает косинус числа.
Private (оператор) - используется на уровне модуля для объявления переменных и выделяет место в памяти для их хранения.
Sub (оператор) - объявляет имя, параметры и тело процедуры.
Pen (функция) – тип графита карандаша (ручки).
Graph1(оператор) - открывает новое окно Графика.
DrawEllipse (функция) - используется для создания эллипса. Эллипс создается как геометрическая фигура, вписанная в прямоугольник. То есть самого прямоугольника на рисунке не видно, но параметры эллипса одновременно являются параметрами такого прямоугольника.
DrawLine (функция) - рисуется отрезок прямой линии. Параметрами этого метода, кроме пера, являются координаты двух точек – начала и конца линии.
X,Y(переменные) – координаты позиции верхнего левого угла окна графика в компьютерной и математической системе координат
Next (функция) – выбор следующего значения параметра цикла
Step - шаг изменения параметра цикла (размер).
Глава 2 Создание проекта Приближенное решение уравнений на языке VisualBasic
2.1. Этапы создания компьютерной модели:
Создаем новый проект с названием “Приближенное решение уравнений на языке Visual Basic”
Создаем форму в конструкторе (форма состоит из графического поля для вывода графика и кнопки “График”)
Прописываем программный код для кнопки (событийная процедура по нажатию на кнопку)
Откладка
Запуск проекта
Пробный вывод графиков:
График линейной функции (приложение 1)
График квадратичной функции (приложение 2)
График кубической функции (приложение 3)
Печать Графика х3- cosx=0 (приложение 4)
Вывод:
График функции пересекает ось X один раз, следовательно, уравнение имеет один корень. По графику грубо приближенно можно определить, что x ≈0.8
2. 2. Программный код для компьютерной модели:Public Class Form1
Dim Graph1 As Graphics
Dim Pen1 As New Pen(Color.Black, 4)
Dim Pen2 As New Pen(Color.Silver, 2)
Dim DrawBrush1 As New SolidBrush(Color.Black)
Dim DrawBrush2 As New SolidBrush(Color.Silver)
Dim drawfont As New Font("Arial", 10)
Dim X, Y As Single
'Графическое решение уравнения
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Graph1 = Me.PictureBox1.CreateGraphics()
Graph1.Clear(Color.White)
'Печать шкал математической системы координат в компьютерной системе координат
For Me.X = -500 To 500 Step 50
Graph1.DrawString(X / 50, drawfont, DrawBrush1, X + 450, 300)
Next X
For Me.Y = -300 To 900 Step 50
Graph1.DrawString((Y - 100) / 50, drawfont, DrawBrush1, 450, 400 - Y)
Next Y
For Me.X = -925 To 900 Step 50
Graph1.DrawString(X / 50, drawfont, DrawBrush2, X + 450, 300)
Next X
For Me.Y = -300 To 300 Step 50
Graph1.DrawString((Y - 25) / 50, drawfont, DrawBrush2, 450, 325 - Y)
Next Y
'Преобразование компьютерной системы координат в математическую систему координат
Graph1.ScaleTransform(1, -1) 'Поворот оси Y
Graph1.TranslateTransform(450, -300) 'Сдвиг по осям X и Y
'Рисование осей математической системы координат
Graph1.DrawLine(Pen1, -700, 0, 700, 0) 'Ось X
Graph1.DrawLine(Pen1, 0, -550, 0, 350) 'Ось Y
For Me.X = - 650 To 650 Step 50 'Засечка на оси X
Graph1.DrawLine(Pen1, X, -15, X, 15)
Next X
For Me.Y = -650 To 650 Step 50
Graph1.DrawLine (Pen1, -15, Y, 15, Y) 'Засечка на оси Y
Next Y
For Me.X = -600 To 600 Step 50 'Засечка на оси X
Graph1.DrawLine(Pen2, X + 25, -5, X + 25, 5)
Next X
For Me.Y = -600 To 600 Step 50
Graph1.DrawLine(Pen2, -5, Y + 25, 5, Y + 25) 'Засечка на оси Y
Next Y
'График функции
For X = -700 To 700 Step 1
Y = X ^ 3 - 100а000
Graph1.DrawEllipse(Pen1, X, Y / 1000, 1, 1)
Next Me.X
End Sub
End Class
Вы, наверное, задаётесь вопросом «Почему я выбрал Visual Basic, ведь можно сделать модель графического решения уравнений и в других программах, например в Microsoft Excel?»
Мой ответ заключается в преимуществах построения графиков на языке VisualBasic:
Визуальное отображение вводимых функций
Построение очень сложных графиков.
Построение графиков, заданных неявно (Например, Ellipse x^2/9+y^2/16=1)»
И, просто, я люблю программировать!
Итак, в своём проекте я достиг поставленной цели, а именно, построил график к функции х3-cosx=0 на языке VisualBasic. И выполнил поставленную задачу: нашёл корень уравнения х3- cosx=0 (x ≈0.8)
https://docs.microsoft.com/ru-ru/dotnet/visual-basic/language-reference
http://www.cyberforum.ru/visual-basic/thread35770.html
https://infourok.ru/graficheskoe-reshenie-uravneniy-na-yazike-visual-basic-1481305.html
Учебник 11 класса ИНФОРМАТИКА и ИКТ (профильный уровень)/ H. Д. Угринович. – 3-е изд.- БИНОМ. Лаборатория знаний, 2010.- 308 с.
Основы объектно-ориентированного программирования в Visual Basic: Учеб. Пособие/ В. В. Кузнецов, И. В. Абдрашитов; Под ред. Т. Б. Корневой.- Томск, 2009- 122
Приложения
Приложение 1
График линейной функции
Приложение 2
График квадратичной функции
Приложение 3
График кубической функции
Приложение 4
График функции х3- cosx=0