Написать программу, рисующую график функции 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
Листинг программы
  1. Option Explicit
  2. Dim x As Double, y As Double, i As Double, P As PictureBox
  3. Dim xn As Double, xk As Double, stp As Double
  4.  
  5. Private Sub Command1_Click()
  6.     xn = Val(Replace(InputBox("Введите начальное значение X", , -10), ",", "."))
  7.     xk = Val(Replace(InputBox("Введите конечное значение X", , 10), ",", "."))
  8.     stp = Val(Replace(InputBox("Введите шаг", , 0.01), ",", "."))
  9.     List1.Clear
  10.     Call Scal(xn, xk)
  11.     Call Coord(xn, xk)
  12.     Call Graf(xn, xk)
  13. End Sub
  14.  
  15. Private Sub Graf(sn, sk)
  16.     For x = sn To sk Step stp
  17.             'y = (Sin(3 * x)) ^ 2
  18.            y = Sin(x / (1 + x ^ 2))
  19.             List1.AddItem "x = " & Round(x, Len(stp)) & Space(10) & vbTab & "y = " & Round(y, 5)
  20.            ' P.Circle (x, y), 0.01, RGB(255, 0, 0)
  21.            P.PSet (x, y), 255
  22.     Next x
  23. End Sub
  24.  
  25. Private Sub Scal(sn, sk)
  26.     Set P = Picture1
  27.     P.Cls
  28.     P.DrawStyle = 0: P.AutoRedraw = True
  29.     P.Scale (sn, 1)-(sk, -1)
  30.     P.DrawWidth = 2
  31.     P.Line (sn, 0)-(sk, 0), RGB(0, 0, 255)  'ocb X
  32.    P.Line (0, -1)-(0, 1), RGB(0, 0, 255)     'ocb Y
  33. End Sub
  34.  
  35. Private Sub Coord(sn, sk)
  36.       'Kоординатная сетка
  37.      P.DrawWidth = 1
  38.       P.DrawStyle = 2   ' Пунктирная линия
  39.      For i = -1 To 1 Step 0.2
  40.        P.CurrentX = 0    ' оцифровка
  41.       P.CurrentY = i
  42.        P.Print Format$(i, "0.0")
  43.        P.Line (-0.05, i)-(0.05, i)   ' засечка
  44.       P.Line (sn, i)-(sk, i)
  45.       Next i
  46.       For i = sn To sk 'Step 0.5
  47.       P.CurrentX = i    ' оцифровка
  48.       P.CurrentY = 0
  49.        P.Print Format$(i, "0.0")
  50.        P.Line (i, -0.05)-(i, 0.05) ' засечка
  51.       P.Line (i, -1)-(i, 1)
  52.       Next i
  53.       P.DrawStyle = 0   '
  54.      P.DrawWidth = 3
  55.       P.FillStyle = 0
  56.       P.FillColor = 255
  57. End Sub

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


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

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

15   голосов , оценка 3.8 из 5

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

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

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