profile
Опубликовано 5 лет назад по предмету Информатика от Двоечник123

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

  1. Ответ
    Ответ дан petyaGavrikov

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

    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;

    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

    else a:=x;

    x:=(a+b)/2;

    end;

    writeln('x = ',x);

    end.

    Результат:

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

    x =  1.7632228344678880E+000

  2. Ответ
    Ответ дан gomog

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

Самые новые вопросы