Транслировать код 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