Построение графика функции - 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

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы