Составить программу решения уравнения sinx^2+cosx^2-10x=0 методом деления отрезка пополам. Известно, что корень находится на промежутке [0,1]

Составить программу решения уравнения sinx^2+cosx^2-10x=0 методом деления отрезка пополам. Известно, что корень находится на промежутке [0,1]
Гость
Ответ(ы) на вопрос:
Гость
Ваша небрежность при записи задания привела к необходимости составить решение для двух выражений. [latex]F_1(x)=sin(x^2)+cos(x^2)-10x \\ F_2(x)=sin^2x+cos^2x-10x=1-10x[/latex] Соответственно, были найдены два корня. // PascalABC.NET 3.1, сборка 1250 от 28.05.2016 function f1(x:real):=sin(x*x)+cos(x*x)-10*x; function f2(x:real):=1-10*x; function Root(a,b,eps:real; f:real->real):real; begin   var x,fx:real;   var fa:=f(a);   if abs(fa)<=eps then Result:=a   else begin     var fb:=f(b);     if abs(fb)<=eps then Result:=b     else       if fa*fb>0 then Result:=0/0       else         repeat           x:=(a+b)/2;           fx:=f(x);           if abs(fx)<=eps then Result:=x           else             if fa*fx>0 then a:=x else b:=x;         until abs(fx)<=eps     end end; begin   var eps:=ReadReal('Введите точность решения:');   Writeln('r1=',Root(0,1,eps,f1));   Writeln('r2=',Root(0,1,eps,f2)) end. Тестовое решение Введите точность решения: 1e-7 r1=0.10101518034935 r2=0.0999999940395355
Не нашли ответ?
Ответить на вопрос
Похожие вопросы