Все ,только напишите программу паскаль для вычисления данного примера x^2=5cos(x-1)

dakar3642 dakar3642    1   29.08.2019 19:20    0

Ответы
dim4ik10 dim4ik10  06.10.2020 03:31
Определим функцию f (x) = x^2 - 5cos(x-1);    Необходимо найти ноль функции  f (x) ,  т.е. значение  х, при котором  f(x) = 0;
f(x) обратится в 0 , если cos(x-1) > 0  =>  - pi/2 < x < pi/2  => 
=>  (2 - pi)/2  < x < (2 + pi)/2
Корня будет два.  Определим интервал для первого корня. 
Левая граница  а = - 0,57,  правая граница  b = 1
Для второго корня левая граница  а = 1,  правая  b = 2
корни будем находить методом деления пополам.
Интервал [ a, b]  делится пополам и определяется знак функции в этой точке, в зависимости от знака изменяется левая или правая граница интервала.

Программа будет следующей:

function f(x: real): real;
begin
  f:=x*x-5*cos(x-1);
end;
{ основная программа }
var a,b,c,eps: real;
    k: integer;
{ a - начало интервала, b - конец }
begin
  write('a = ');  readln(a);
  write('b = ');  readln(b);
  if f(a)*f(b)<0 then
  begin
    write('точность вычислений eps: ');  readln(eps);
    k:=1;
    while abs(a-b)>eps do
    begin
      c:=(a+b)/2; 
      if f(c)<>0 then
      begin
        if f(c)*f(b)<0 then
          a:=c
        else
          b:=c
      end;
      k:=k+1;
    end;
    writeln('корень = ',a:12:8);
    writeln('количество итераций: ',k);
  end
  else
     writeln('интервал задан неверно');
end.

a = -0.57
b = 1
точность вычислений eps: 0.00001
корень =  -0.51726021
количество итераций: 19

a = 1
b = 2
точность вычислений eps: 0.00001
корень =   1.83345795
количество итераций: 18
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика