Перевод в Visual Basic - VB
Формулировка задачи:
Решить нелинейное уравнение методом простых итераций
Ln(x)-x+1.8 = 0 На отрезке [2;3]
По этому уравнению есть программка в Pascal
Помогите пожалуйста перевести программный код pascal в программный код visual basic.
C visual basic столкнулся впервые и особо не объяснив что к чему требуют программку.
А с построением графика наверное я сам разберусь.
Листинг программы
- Program pr1;
- var x0,x1,a,b,e:real;
- iteraz:integer;
- function fun(x:real):real;
- begin
- fun:=ln(x)+1.8;
- end;
- begin
- write('Введите приближённое(1) значение X=');
- readln(x1);
- write('Введите точность(0.0001) e=');
- readln(e);
- iteraz:=0;
- repeat
- iteraz:=iteraz+1;
- x0:=x1;
- write(x1:7:4);
- x1:=fun(x0);
- write(x1:7:4);
- writeln;
- until (abs(x1-x0)<=e);
- writeln('Решение уравнения ln(x)+1.8=0:');
- writeln('Точное значение корня....……1.1646');
- writeln('Вычисленное значение корня…',x1:6:5);
- writeln('Число итераций..…………....',iteraz);
- readln;
- end.
Спойлер
Это вот я сам попытался сделать
Листинг программы
- Function fun(ByVal x As Double) As Double
- fun = Mat.Ln(x) + 1.8
- Exit Function
- End Function
Листинг программы
- Private Sub Command1_Click()
- a = Text1
- b = Text2
- c = Text3
- e = Text4
- Dim i As Integer
- i = 0
- Do
- 0
- i = i + 1
- x0 = X1
- x = fun(X1)
- Loop Until Mat.Abs(X1 - x0) <= e
- Picture1.Print X1
- Picture1.Print i
- End Sub
Решение задачи: «Перевод в Visual Basic»
textual
Листинг программы
- Sub pr1()
- Dim x0 As Double, x1 As Double, a As Double, b As Double, e As Double
- Dim iteraz As Integer, s As String
- x1 = InputBox("Введите приближённое(1) значение X=", , 2)
- e = InputBox("Введите точность(0.0001) e=", , 0.0001)
- iteraz = 0
- Do
- iteraz = iteraz + 1
- x0 = x1
- x1 = fun(x0)
- s = s & "x(k) = " & x0 & vbTab & "F(x(k+1)) = " & x1 & vbCrLf
- Loop Until (Abs(x1 - x0) <= e)
- s = s & "Решение уравнения ln(x)+1.8=0:" & vbCrLf
- s = s & "Точное значение корня....……1.1646" & vbCrLf
- s = s & "Вычисленное значение корня…" & x1 & vbCrLf
- s = s & "Число итераций..…………...." & iteraz
- MsgBox s
- End Sub
- Private Function fun(x As Double) As Double
- fun = Log(x) + 1.8
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д