Создать программу График функции y=F(x) - VB

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

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

Разработать программу предназначенную для наглядной демонстрации школьникам графика функций одного аргумента y=F(x) Разрабатываемая программа должна расчитывать таблицу значений и строить график функции на заданном отрезке, по заданной формуле менять шаг и границы отрезка, кроме этого программа должна запоминать введенные функции. Желательно готовый проект с кодом и архитектурой, чтобы можно было посмотреть как все сделано. Заранее спасибо!

Решение задачи: «Создать программу График функции y=F(x)»

textual
Листинг программы
  1. Option Explicit
  2. Const PI As Double = 3.14152
  3. Dim x As Double, Y As Double
  4. Dim i As Single, P As PictureBox
  5.  
  6. Private Sub Command1_Click()
  7.     Dim St As String, PicFontSize As Integer
  8.     Call Scal
  9.     PicFontSize = P.FontSize: P.FontBold = True
  10.     P.FontSize = 18: P.CurrentX = minX + maxX / 20:  P.CurrentY = maxY - maxY / 20
  11.     P.Print "Y = " & Text1.Text
  12.     P.FontSize = PicFontSize: P.FontBold = False
  13.     List1.Clear
  14.     For x = minusX.Text To plusX.Text Step CSng(Replace(stepGX.Text, ".", ","))
  15.             Y = F(x)
  16.             P.Circle (x, Y), 0.05, RGB(255, 0, 0)
  17.             List1.AddItem "x = " & Round(x, 3) & vbTab & vbTab & " Y = " & Round(Y, 3)
  18.     Next x
  19.     Call Coord
  20. End Sub
  21.  
  22.  
  23. Function F(x As Double) As Double
  24.     Me.ScriptControl1.ExecuteStatement ("x=" & Replace$(CStr(x), ",", "."))
  25.     F = Me.ScriptControl1.Eval(Text1.Text)
  26. End Function
  27.  
  28. Private Sub Scal()
  29.     Set P = Picture1
  30.     P.Cls
  31.     P.DrawStyle = 0: P.AutoRedraw = True
  32.     P.Scale (minX, maxY)-(maxX, minY)
  33.     P.Line (minX, 0)-(maxX, 0), RGB(0, 0, 255) 'ocb X
  34.    P.Line (0, minY)-(0, maxY), RGB(0, 0, 255)   'ocb Y
  35.    P.FillStyle = 0: P.FillColor = vbRed
  36. End Sub
  37.  
  38. Private Sub Coord()
  39. 'Kоординатная сетка
  40.      P.DrawStyle = 2   ' Пунктирная линия
  41.      For i = minY.Text To maxY.Text Step stepY.Text
  42.        P.CurrentX = 0    ' оцифровка
  43.       P.CurrentY = i
  44.        P.Print Format$(i, "0.0")
  45.        P.Line (-0.05, i)-(0.05, i)   ' засечка
  46.       P.Line (minX, i)-(maxX, i)
  47.       Next i
  48.       For i = minX.Text To maxX.Text Step stepX.Text
  49.        P.CurrentX = i    ' оцифровка
  50.       P.CurrentY = 0
  51.        P.Print Format$(i, "0.0")
  52.        P.Line (i, -0.05)-(i, 0.05) ' засечка
  53.       P.Line (i, minY)-(i, maxY)
  54.       Next i
  55.       P.DrawStyle = 2   ' Пунктирная линия
  56. End Sub
  57.  
  58. Private Sub Command2_Click()
  59.     End
  60. End Sub
  61.  
  62. Private Sub Command3_Click()
  63.     SaveGraph
  64. End Sub
  65.  
  66. Private Sub Form_Load()
  67.     Call Scal
  68.     Call Coord
  69. End Sub
  70.  
  71. Private Sub SaveGraph()
  72.        Dim s As String, ss As String
  73.        ss = InputBox("Введите имя файда для сохранения", "Save As", "Graph")
  74.        If StrPtr(ss) <> 0 Then
  75.            s = App.Path & "\" & ss & ".bmp"
  76.            SavePicture Picture1.Image, s
  77.            MsgBox "График сохранен как:" & vbCrLf & s, vbInformation
  78.        End If
  79. End Sub

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


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

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

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

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

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

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