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

Ответы 1

  • Ваша небрежность при записи задания привела к необходимости составить решение для двух выражений.F_1(x)=sin(x^2)+cos(x^2)-10x \\ F_2(x)=sin^2x+cos^2x-10x=1-10xСоответственно, были найдены два корня.// PascalABC.NET 3.1, сборка 1250 от 28.05.2016function 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    endend;begin  var eps:=ReadReal('Введите точность решения:');   Writeln('r1=',Root(0,1,eps,f1));  Writeln('r2=',Root(0,1,eps,f2))end.Тестовое решениеВведите точность решения: 1e-7r1=0.10101518034935r2=0.0999999940395355
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years