Создать программу График функции y=F(x) - VB
Формулировка задачи:
Разработать программу предназначенную для наглядной демонстрации школьникам графика функций одного аргумента y=F(x)
Разрабатываемая программа должна расчитывать таблицу значений и строить график функции на заданном отрезке, по заданной формуле менять шаг и границы отрезка, кроме этого программа должна запоминать введенные функции.
Желательно готовый проект с кодом и архитектурой, чтобы можно было посмотреть как все сделано.
Заранее спасибо!
Решение задачи: «Создать программу График функции y=F(x)»
textual
Листинг программы
Option Explicit Const PI As Double = 3.14152 Dim x As Double, Y As Double Dim i As Single, P As PictureBox Private Sub Command1_Click() Dim St As String, PicFontSize As Integer Call Scal PicFontSize = P.FontSize: P.FontBold = True P.FontSize = 18: P.CurrentX = minX + maxX / 20: P.CurrentY = maxY - maxY / 20 P.Print "Y = " & Text1.Text P.FontSize = PicFontSize: P.FontBold = False List1.Clear For x = minusX.Text To plusX.Text Step CSng(Replace(stepGX.Text, ".", ",")) Y = F(x) P.Circle (x, Y), 0.05, RGB(255, 0, 0) List1.AddItem "x = " & Round(x, 3) & vbTab & vbTab & " Y = " & Round(Y, 3) Next x Call Coord End Sub Function F(x As Double) As Double Me.ScriptControl1.ExecuteStatement ("x=" & Replace$(CStr(x), ",", ".")) F = Me.ScriptControl1.Eval(Text1.Text) End Function Private Sub Scal() Set P = Picture1 P.Cls P.DrawStyle = 0: P.AutoRedraw = True P.Scale (minX, maxY)-(maxX, minY) P.Line (minX, 0)-(maxX, 0), RGB(0, 0, 255) 'ocb X P.Line (0, minY)-(0, maxY), RGB(0, 0, 255) 'ocb Y P.FillStyle = 0: P.FillColor = vbRed End Sub Private Sub Coord() 'Kоординатная сетка P.DrawStyle = 2 ' Пунктирная линия For i = minY.Text To maxY.Text Step stepY.Text P.CurrentX = 0 ' оцифровка P.CurrentY = i P.Print Format$(i, "0.0") P.Line (-0.05, i)-(0.05, i) ' засечка P.Line (minX, i)-(maxX, i) Next i For i = minX.Text To maxX.Text Step stepX.Text P.CurrentX = i ' оцифровка P.CurrentY = 0 P.Print Format$(i, "0.0") P.Line (i, -0.05)-(i, 0.05) ' засечка P.Line (i, minY)-(i, maxY) Next i P.DrawStyle = 2 ' Пунктирная линия End Sub Private Sub Command2_Click() End End Sub Private Sub Command3_Click() SaveGraph End Sub Private Sub Form_Load() Call Scal Call Coord End Sub Private Sub SaveGraph() Dim s As String, ss As String ss = InputBox("Введите имя файда для сохранения", "Save As", "Graph") If StrPtr(ss) <> 0 Then s = App.Path & "\" & ss & ".bmp" SavePicture Picture1.Image, s MsgBox "График сохранен как:" & vbCrLf & s, vbInformation End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д