Файл в формате MS Word

advertisement
Программа «Построение графиков функций»
Василенко Виталий Викторович (betal2008@mail.ru)
Ученик МОУ «Гимназия №85» г. Барнаула
Это программа адресована всем, кому необходимо построить график любой
функции из курса "Математики 5-11 класс". Идея написание этой программы
появилась, когда я начал готовиться к ЕГЭ по математике в 11 классе. Очень
часто в ЕГЭ встречаются задания на исследование функции. И хотелось бы
представлять, как выглядит эта функция перед тем, как её исследовать.
Цель: Создать программный продукт, позволяющий строить графики любых
математических функций изучаемых в школьном курсе математики.
Задачи:

Разработать дружелюбный интерфейс,

Создать удобную навигацию

Продумать дизайн, цветовое, шрифтовое оформление.

Подобрать математический материал

Изучить особенности построение графиков функций (исследовать
функции)

Изучить учебную литературу с целью подбора средств и методов
реализации и данного проекта на языке Microsoft Visual Basic
Структура программы
Описание первой формы:
Программа состоит из трех форм. На первой форме располагаются элемент
PictureBox в котором отображаются графики функций. Для работы программы
необходимо вести коэффициенты для чего предусмотрены пять окон TextBox.
Так же на форме располагаются семь кнопок предназначенных для построение
графиков функций. С помощью этих кнопок можно построить графиков
следующих функций: y=a*sin(k*x+n)+c, y=a*cos(k*x+n)+c, y=a*tg (k*x+n)+c,
y=a*ctg(k*x+n)+c, y=a*x^n+b*x+c, y=k*x+n, y=k/(x+n)+c.
Программный код первой формы:
Описание переменных
Dim sngX, sngI As Single dblA, dblB, dblC, dblN, dblK As Double
Запуск формы «Справка»
Private Sub Cmd0_Click()
Form1.Show
End Sub
Процедура очистки окна построения графиков
Private Sub cmd9_Click()
picGraph.Cls
End Sub
Процедура присвоения значений коэффициентов переменным
Private Sub Command1_Click()
dblA = Val(Text1.Text)
dblB = Val(Text2.Text)
dblC = Val(Text3.Text)
dblN = Val(Text4.Text)
dblK = Val(Text5.Text)
Рисование координатной решётки
picGraph.Scale (-10, 10)-(10, -10)
For sngI = -10 To 10
picGraph.Line (sngI, 10)-(sngI, -10), &H808080
Next sngI
For sngI = -10 To 10
picGraph.Line (-10, sngI)-(10, sngI), &H808080
Next sngI
picGraph.Line (-10, 0)-(10, 0)
For sngI = -10 To 10
picGraph.PSet (sngI, 0)
picGraph.Print sngI
Next sngI
picGraph.Line (0, 10)-(0, -10)
For sngI = -10 To 10
picGraph.PSet (0, sngI)
picGraph.Print sngI
Next sngI
End Sub
Процедура рисования графика функции y=sinx
Private Sub cmd1_Click()
For sngX = -10 To 10 Step 0.0001
picGraph.PSet (sngX, dblA * Sin((dblK * sngX) + dblN) + dblC), &H80FF&
Next sngX
End Sub
Процедура рисования графика функции y=cosx
Private Sub cmd2_Click()
For sngX = -10 To 10 Step 0.0001
picGraph.PSet (sngX, dblA * Cos((dblK * sngX) + dblN) + dblC), &HFF0000
Next sngX
End Sub
Процедура рисования графика функции y=tgx
Private Sub cmd3_Click()
For sngX = -10 To 10 Step 0.0001
picGraph.PSet (sngX, dblA * Sin((dblK * sngX) + dblN) / Cos((dblK * sngX) +
dblN) + dblC), &HFF&
Next sngX
End Sub
Процедура рисования графика функции y=ctgx
Private Sub cmd4_Click()
For sngX = -10 To ((-dblN - 0.1) / dblK) Step 0.0001
picGraph.PSet (sngX, dblA * Cos((dblK * sngX) + dblN) / Sin((dblK * sngX) +
dblN) + dblC), &H8000&
Next sngX
For sngX = ((-dblN + 0.1) / dblK) To 10 Step 0.0001
picGraph.PSet (sngX, dblA * Cos((dblK * sngX) + dblN) / Sin((dblK * sngX) +
dblN) + dblC), &H8000&
Next sngX
End Sub
Процедура рисования графика степенной функции
Private Sub cmd5_Click()
For sngX = -10 To 10 Step 0.0001
picGraph.PSet (sngX, dblA * sngX ^ dblN + dblB * sngX + dblC), &HC0C000
Next sngX
End Sub
Процедура рисования графика линейной функции
Private Sub cmd6_Click()
For sngX = -10 To 10 Step 0.0001
picGraph.PSet (sngX, dblK * sngX + dblN), &HC000C0
Next sngX
End Sub
Процедура рисования графика прямопропорциональной функции
Private Sub cmd7_Click()
For sngX = -10 To (-dblN - 0.1) Step 0.0001
picGraph.PSet (sngX, (dblK / (sngX + dblN)) + dblC), &H800080
Next sngX
For sngX = (-dblN + 0.1) To 10 Step 0.0001
picGraph.PSet (sngX, (dblK / (sngX + dblN)) + dblC), &H800080
Next sngX
End Sub
Запуск формы «Об авторе»
Private Sub Command2_Click()
Form2.Show
End Sub
Описание второй формы:
На второй форме располагается справочная информация, описание программы
и указание на некоторые недоработки. К недоработкам данной программы
можно отнести невозможность построение графиков функции при
коэффициентах больше 10 и меньше -10. На самом деле при данных
коэффициентах выполняется построение графиков функций, но изображение не
попадает в область определения заданную нашими координатными осями.
Данная форма не программируемая, и содержит только элементы Label,
которые позволяют выводить текст на форму.
Описание третьей формы:
На третьей форме располагается фотография автора и его контактные данные.
Данный форма так же не программируемая. Изображение вставлялась с
помощью
элемента image и его свойства Picture.
Перспективы:

Добавить графики других функций: логарифмической, показательной
(ex).

К недоработкам данной программы можно отнести невозможность
построение графиков функции при коэффициентах больше 10 и меньше 10. Поэтому, для эффективного использования данной программы
необходимо организовать ввод области построения графиков
пользователем.

Часто в заданиях ЕГЭ встречаются функции нестандартного вида,
которые невозможно подвести ни под один общий вид. Поэтому, я
планирую добавить кнопки для построения этих функций.
Список используемой литературы
1.
«Информатика и информационные технологии». Учебник для 10 – 11
классов / Н. Д. Угринович. – 4-е изд. – М.: БИНОМ. Лаборатория знаний, 2007.
– 511 с.: ил.
2.
Информатика и ИКТ. Практикум по программированию. 10 – 11 класс.
Базовый уровень/Под ред. проф. Н. В. Макаровой. – СПб.: Питер, 2008. – 176с.
3.
Алгебра. Начало анализа 10-11 класс» А. Г. Мордкович – М.: Мнемозина,
2005.– 375 с
Download