Построение графика функции - VB (59363)

Узнай цену своей работы

Формулировка задачи:

Graph01.zip Выставлял я уже эту программу, но я её тут "доработал напильником": автоматическое определение размера графика по оси Y сделал, шкалу сама строит, ещё там кое-что по мелочи. В модуле Graph.bas в функции fYfun прописываете Вашу функцию. Например:
Листинг программы
  1. fYfun = Exp(-0.3 * fX) * Sin(5 * fX)
Здесь:
Листинг программы
  1. Private Sub cmdGraph_Click()
  2. ...
  3. ' Масштаб
  4. fMinX = -10
  5. fMaxX = 10
  6. ...
  7. End Sub
задаёте размера графика по оси X, размер по оси Y программа, как уже было выше сказано, сама посчитает. Большую часть школьно-студеньческих задач - построить график - эта программа решает. Пользуйтесь. Надеюсь кому-нибудь да пригодится.

Решение задачи: «Построение графика функции»

textual
Листинг программы
  1. Private Sub Command1_Click()
  2.  
  3.         Me.ScriptControl1.Reset
  4.        
  5.         Expr = Me.Text1.Text
  6.  
  7.         Draw
  8.  
  9. End Sub
  10.  
  11. Sub Draw()
  12. Dim n   As Long 'Integer
  13. Dim x() As Double
  14. Dim Y() As Double
  15.  
  16.     Me.Picture1.Cls
  17.  
  18.     n = Val(Me.Text4.Text)
  19.  
  20.     ReDim x(1 To n) As Double
  21.     ReDim Y(1 To n) As Double
  22.  
  23.     xmin# = Val(Me.Text2.Text)
  24.     xmax# = Val(Me.Text3.Text)
  25.    
  26.     dx# = (xmax - xmin) / n
  27.    
  28.     xx# = xmin
  29.    
  30.     For i& = 1 To n
  31.         x(i&) = xx#
  32.         Y(i&) = Func(xx#)
  33.         xx# = xx# + dx#
  34.     Next i&
  35.  
  36.     ymax# = Y(1)
  37.     ymin# = Y(1)
  38.  
  39.     For i& = 1 To n
  40.         If Y(i&) > ymax# Then ymax# = Y(i&)
  41.         If Y(i&) < ymin# Then ymin# = Y(i&)
  42.     Next i&
  43.    
  44.     Me.Picture1.Scale (xmin#, ymax#)-(xmax#, ymin#)
  45.  
  46.     Me.Picture1.PSet (x(1), Y(1)), QBColor(12)
  47.  
  48.     For i& = 1 To n
  49.         Me.Picture1.Line -(x(i&), Y(i&)), QBColor(12)
  50.     Next i&
  51.  
  52.     Me.Picture1.Line (xmin, 0)-(xmax, 0), QBColor(0)
  53.     Me.Picture1.Line (0, ymin#)-(0, ymax#), QBColor(0)
  54.  
  55. End Sub
  56.  
  57. Function Func(x As Double) As Double
  58.  
  59.          Me.ScriptControl1.ExecuteStatement ("x=" & Replace$(CStr(x), ",", "."))
  60.          
  61.          Func = Me.ScriptControl1.Eval(Expr)
  62.  
  63. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы