Программа


PROGRAM Tangent; { Решение уравнений методом касательных (Ньютона) }
CONST Eps=0.01;   { Точность }
VAR Result:real;  { Корень }
    X:real;  { Переменная }
FUNCTION F(X:real):real; { Вычисление значения функции }
  Begin
    F:=(Sqr(X)*X+3)*X-20
  End;
FUNCTION FProto(X:real):real;far; { Вычисление значения производной функции }
  Begin
    FProto:=4*X*Sqr(X)+3
  End;
FUNCTION Root(X:real;Eps:real):real; { Вычисление корня }
  Var PredX:real; { Предыдущее приближение корня }
      Iteration:longint; { Счетчик итераций }
  Begin
    Iteration:=0; { Сброс счетчика итераций }
    repeat  { Цикл приближения к корню }
      Inc(Iteration); { Набор числа итераций }
      PredX:=X;  { Сохранение предыдущего приближение }
      X:=X-F(X)/FProto(X) { Вычисление нового приближения корня }
    until Abs(X-PredX)<=Eps; { Выход из цикла при достижении заданной точности }
    Root:=X;  { Определение значения функции }
    WriteLn('Число итераций ',Iteration);
  End;
BEGIN
  WriteLn;                                       { Пропуск строки }
  Write('Введите начальное приближение корня '); { Вывод приглашения }
  ReadLn(X);                                     { Ввод начального приближения }
  Result:=Root(X,Eps);                  { Вычисление корня }
  writeln('X=',Result,'  F(X)=',F(Result))       { Вывод корня и проверки }
END.

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