Построение графика функции - VB (59363)
Формулировка задачи:
Graph01.zip
Выставлял я уже эту программу, но я её тут "доработал напильником":
автоматическое определение размера графика по оси Y сделал, шкалу сама строит, ещё там кое-что по мелочи.
В модуле Graph.bas в функции fYfun
прописываете Вашу функцию. Например:
Здесь:
задаёте размера графика по оси X,
размер по оси Y программа,
как уже было выше сказано, сама посчитает.
Большую часть школьно-студеньческих задач - построить график - эта программа решает.
Пользуйтесь. Надеюсь кому-нибудь да пригодится.
Решение задачи: «Построение графика функции»
textual
Листинг программы
Private Sub Command1_Click()
Me.ScriptControl1.Reset
Expr = Me.Text1.Text
Draw
End Sub
Sub Draw()
Dim n As Long 'Integer
Dim x() As Double
Dim Y() As Double
Me.Picture1.Cls
n = Val(Me.Text4.Text)
ReDim x(1 To n) As Double
ReDim Y(1 To n) As Double
xmin# = Val(Me.Text2.Text)
xmax# = Val(Me.Text3.Text)
dx# = (xmax - xmin) / n
xx# = xmin
For i& = 1 To n
x(i&) = xx#
Y(i&) = Func(xx#)
xx# = xx# + dx#
Next i&
ymax# = Y(1)
ymin# = Y(1)
For i& = 1 To n
If Y(i&) > ymax# Then ymax# = Y(i&)
If Y(i&) < ymin# Then ymin# = Y(i&)
Next i&
Me.Picture1.Scale (xmin#, ymax#)-(xmax#, ymin#)
Me.Picture1.PSet (x(1), Y(1)), QBColor(12)
For i& = 1 To n
Me.Picture1.Line -(x(i&), Y(i&)), QBColor(12)
Next i&
Me.Picture1.Line (xmin, 0)-(xmax, 0), QBColor(0)
Me.Picture1.Line (0, ymin#)-(0, ymax#), QBColor(0)
End Sub
Function Func(x As Double) As Double
Me.ScriptControl1.ExecuteStatement ("x=" & Replace$(CStr(x), ",", "."))
Func = Me.ScriptControl1.Eval(Expr)
End Function