Программа


program Return;
{ Поиск корня уравнения
  методом поиска с возвратом }
Uses Crt;
Const
  DBegin=1;DEnd=1.1;{ Начальнное и конечное значения параметров }
  DStep=0.01; { Шаг изменения параметра }
  A0=0.1;B0=1.2; { Границы интервала локализации корня }
Var
  xSolution,d:real;  { Корень, параметр }
  i:integer;         { Счетчик }
Function F(x:real):real;  { Вычисление функции }
Begin
  F:=cos(x*d)/sin(x*d)-Sqr(x)
End;
Function FindSolution(a,b:real):real;
{ Поиск корня уравнения F(x)=0  на [a,b] }
const BreakConst=-10; { Постоянная "измельчения" и инверсии шага }
      Eps=0;         { Точность }
var FindStep:real;   { Шаг поиска корня }
    x,xPred:real;    { Текущее и предыдущее значения }
Begin
  FindStep:=(a-b)/BreakConst; { Вычисление начального шага поиска корня }
  x:=a+FindStep; { Определение начального значения аргумента }
  xPred:=a;  { Определение начального значения предыдущего аргумента }
  while abs(x-xPred)>Eps do  { Локализация корня до заданной точности }
    begin
      while F(x)*F(xPred)>0 do  { Шаг вперед до смены знака функции }
        begin
          xPred:=x;  { Сохранение предыдущего аргумента }
          x:=x+FindStep; { Определение нового аргумента }
        end;
      FindStep:=FindStep/BreakConst; { Смена направления и уменьшение шага }
      xPred:=x;  { Сохранение предыдущего аргумента }
      x:=x+FindStep  { Определение нового аргумента }
    end;
    FindSolution:=x+(xPred-x)/2  { Определение значения функции }
End;
BEGIN
  ClrScr;  { Очистка зкрана }
  d:=DBegin; { Определение начального значения параметра }
  for i:=0 to Trunc((DEnd-DBegin)/DStep) do  { Перебор всех параметров }
    Begin
      d:=DBegin+i*DStep;  { Расчет текущего параметра }
      xSolution:=FindSolution(A0,B0); { Нахождение корня }
      writeln('d=',d:4:2,'   x=',xSolution,'   F(x)=',F(xSolution));
      { Вывод параметра, корня и проверочного значения функции }
    End
END.


Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию