Как найти корни уравнения ln(x)=1/x в интервале [0;2] с погрешностью 10^-10? Для...

0 голосов
41 просмотров

Как найти корни уравнения ln(x)=1/x в интервале [0;2] с погрешностью 10^-10? Для определения границ минимального отрезка, на котором функции меняет знак, используйте шаг прогрессия, равный 0,1.Используя метод: ПОСЛЕДОВАТЕЛЬНЫХ ПРИБЛИЖЕНИЙ (МЕТОД ПРОСТЫХ ИТЕРАЦИЙ) или МЕТОД ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ (МЕТОД ДИХОТОМИИ). Помогите пожалуйста, хотя бы как начать.


Информатика (90 баллов) | 41 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Можно, например, так (метод деления пополам):

const eps=10E-10;

function func(x:real):real;

begin

func:=ln(x)-1/x;

end;

var a,b,h,x,f1,f2: real;

begin

a:=0; h:=0.1;

a:=a+h;

f2:=func(a);

repeat

f1:=f2;

a:=a+h;

f2:=func(a);

until f1*f2<0;</p>

b:=a; a:=a-h;

writeln('a = ',a,'  b = ',b);

x:=(a+b)/2;

while abs(func(x))>eps do

begin

if func(a)*func(x)<0 then b:=x</p>

else a:=x;

x:=(a+b)/2;

end;

writeln('x = ',x);

end.

Результат:

a =  1.7000000000000004E+000  b =  1.8000000000000005E+000

x =  1.7632228344678880E+000

(194k баллов)
0 голосов

это будет 40 (у меня так получилось

(18 баллов)