Транслировать код Turbo Pascal на Visual Basic - VB (171141)

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

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

Пожалуйста реализуйте. Условия на фото.

Решение задачи: «Транслировать код Turbo Pascal на Visual Basic»

textual
Листинг программы
'{ настройки графика}
Const shag = 0.00013 ';{ <-- Шаг изменения X }
Const lgr = 0  ';{ <-- Начальное значение X}
Const pgr = 3.14  ';{ <-- Конечное значение X }
Private Sub Form_Click()
Dim x As Double, Y As Double, i As Single
Dim plusX As Integer, plusY As Integer, minusX As Integer, minusY As Integer
   Me.Show
   plusX = 5: plusY = 5: minusX = -2: minusY = -2
   DrawStyle = 0: WindowState = 2: FillStyle = 0
   Cls
   Scale (minusX, plusY)-(plusX, minusY)
   Line (minusX, 0)-(plusX, 0), vbBlue  'ocb X
   Line (0, minusY)-(0, plusY), vbBlue   'ocb Y
   
   For x = lgr To pgr Step shag
'''''''''''''''''''''''''''''''''''''''''''''
          
         Y = F(x)
          
'''''''''''''''''''''''''''''''''''''''''''''
          Circle (x, Y), 0.003, RGB(255, 0, 0)
   Next x
  
   Form1.DrawStyle = 2   ' Пунктирная линия
   For i = minusY To plusY Step 0.5
          Form1.CurrentX = 0    ' оцифровка
          Form1.CurrentY = i
          Print i
          Line (-0.05, i)-(0.05, i)   ' засечка
           Line (minusX, i - 1)-(plusX, i - 1)
   Next i
 
   For i = minusX To plusX Step 0.5
          Form1.CurrentX = i    ' оцифровка
          Form1.CurrentY = 0
          Print i
          Line (i, minusY)-(i, plusY - 1) ' засечка
          Line (i, -0.05)-(i, 0.05)
   Next i
   Form1.CurrentY = 4.7: Form1.CurrentX = 1 ' Координаты надписи
   '{вычисляем интеграл и выводим на экран результат}
   Print "Rezultat rascheta integrala po metodu trapecyj = "; IntegralTrap(0, 3.14 / 2, 0.001)
   Print
   Form1.CurrentY = 4.5: Form1.CurrentX = 1
   Print "F = x * x * Sin(x) * Sin(x) * Sin(x)"
  End Sub
  Private Sub Form_Load()
          Form_Click
  End Sub
Function F(x As Double) As Double
  F = x * x * Sin(x) * Sin(x) * Sin(x)
End Function
 
Function IntegralTrap(a As Double, b As Double, Epsilon As Double) As Double
 Dim i, n As Integer
 Dim h, s1, s2 As Double
  n = 1
  h = b - a
  s2 = h * (F(a) + F(b)) / 2
  Do
    s1 = s2
    s2 = 0
    i = 1
    Do
      s2 = s2 + F(a - h / 2 + h * i)
      i = i + 1
   Loop Until Not (i <= n)
    s2 = s1 / 2 + s2 * h / 2
    n = 2 * n
    h = h / 2
 Loop Until Not (Abs(s2 - s1) > 3 * Epsilon)
  IntegralTrap = s2
 
End Function

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


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

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

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