Написать программу, рисующую график функции y(x)=sinx/(1+x^2) - VB
Формулировка задачи:
Добрый день!
Подскажите, пожалуйста, мне нужно сделать программу, в которой вводится начальное значение X, затем конечное значение X и потом шаг. Рядом выводится список всех значений X и значений Y при каждом из этих X. Также должен быть нарисован график. Функция: y(x)=sinx/(1+x^2). Подскажите, пожалуйста, как это реализовать
Решение задачи: «Написать программу, рисующую график функции y(x)=sinx/(1+x^2)»
textual
Листинг программы
- Option Explicit
- Dim x As Double, y As Double, i As Double, P As PictureBox
- Dim xn As Double, xk As Double, stp As Double
- Private Sub Command1_Click()
- xn = Val(Replace(InputBox("Введите начальное значение X", , -10), ",", "."))
- xk = Val(Replace(InputBox("Введите конечное значение X", , 10), ",", "."))
- stp = Val(Replace(InputBox("Введите шаг", , 0.01), ",", "."))
- List1.Clear
- Call Scal(xn, xk)
- Call Coord(xn, xk)
- Call Graf(xn, xk)
- End Sub
- Private Sub Graf(sn, sk)
- For x = sn To sk Step stp
- 'y = (Sin(3 * x)) ^ 2
- y = Sin(x / (1 + x ^ 2))
- List1.AddItem "x = " & Round(x, Len(stp)) & Space(10) & vbTab & "y = " & Round(y, 5)
- ' P.Circle (x, y), 0.01, RGB(255, 0, 0)
- P.PSet (x, y), 255
- Next x
- End Sub
- Private Sub Scal(sn, sk)
- Set P = Picture1
- P.Cls
- P.DrawStyle = 0: P.AutoRedraw = True
- P.Scale (sn, 1)-(sk, -1)
- P.DrawWidth = 2
- P.Line (sn, 0)-(sk, 0), RGB(0, 0, 255) 'ocb X
- P.Line (0, -1)-(0, 1), RGB(0, 0, 255) 'ocb Y
- End Sub
- Private Sub Coord(sn, sk)
- 'Kоординатная сетка
- P.DrawWidth = 1
- P.DrawStyle = 2 ' Пунктирная линия
- For i = -1 To 1 Step 0.2
- P.CurrentX = 0 ' оцифровка
- P.CurrentY = i
- P.Print Format$(i, "0.0")
- P.Line (-0.05, i)-(0.05, i) ' засечка
- P.Line (sn, i)-(sk, i)
- Next i
- For i = sn To sk 'Step 0.5
- P.CurrentX = i ' оцифровка
- P.CurrentY = 0
- P.Print Format$(i, "0.0")
- P.Line (i, -0.05)-(i, 0.05) ' засечка
- P.Line (i, -1)-(i, 1)
- Next i
- P.DrawStyle = 0 '
- P.DrawWidth = 3
- P.FillStyle = 0
- P.FillColor = 255
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д