Транслировать код Turbo Pascal на Visual Basic - VB (171141)
Формулировка задачи:
Пожалуйста реализуйте. Условия на фото.
Листинг программы
- Uses Graph,crt;
- function F(x: double): double;
- begin
- F := x * x * sin(x)* sin(x)* sin(x);
- end;
- function IntegralTrap(const a, b, Epsilon: double): double;
- var
- i, n: Integer;
- h, s1, s2: Double;
- begin
- n := 1;
- h := b-a;
- s2 := h*(F(a)+F(b))/2;
- repeat
- s1 := s2;
- s2 := 0;
- i := 1;
- repeat
- s2 := s2+F(a-h/2+h*i);
- i := i+1;
- until not (i <= n);
- s2 := s1/2 + s2*h/2;
- n := 2*n;
- h := h/2;
- until not (Abs(s2-s1) > 3*Epsilon);
- IntegralTrap := s2;
- end;
- const
- { настройки графика}
- shag=0.0001;{ <-- Шаг изменения X }
- lgr = 0;{ <-- Начальное значение X}
- pgr = 3.14;{ <-- Конечное значение X }
- zcrtX=320;{ <-- Координата X центра экрана }
- zcrty=240;{ <-- Координата Y центра экрана }
- mtrX=50;{ <-- Коэффициент масштабирования по оси X }
- mtrY=50;{ <-- Коэффициент масштабирования по оси Y }
- Var grDriver : Integer;
- grMode : Integer;
- x,y:Double;
- i:integer;
- nx,ny:integer;
- mx,my:real;
- s:string;
- Begin
- {вычисляем интеграл и выводим на экран результат}
- writeln('Rezultat rascheta integrala po metodu trapecyj = ', IntegralTrap(0, 3.14 / 2, 0.001):3:4);
- writeln('Nazhmite ljubuju klavishu dlja vyvoda grafika..');
- readkey;
- {инициализация графики}
- grDriver:=0;
- InitGraph(grDriver, grMode, '');
- setfillstyle(1,15);
- bar(0,0,getmaxX,getmaxY);
- {рисуем оси}
- setcolor(0);
- setlinestyle(0,0,3);
- {ось x}
- line(10,242,getmaxX-20,242);
- line(610,237,getmaxX-20,242);
- line(610,247,getmaxX-20,242);
- outtextXY(getmaxX-20,250,'X');
- {ось y}
- line(320,10,320,getmaxy-10);
- line(320,10,315,20);
- line(320,10,325,20);
- outtextXY(305,10,'Y');
- {строим график}
- x:=lgr;
- while x<=pgr do
- begin
- y:=F(x);
- putpixel(zcrtx+trunc(x*mtrX),zcrty-trunc(y*mtrY),0);
- x:=x+shag;
- end;
- readkey;
- closegraph;
- end.
Решение задачи: «Транслировать код 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)
- 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д