Программа


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

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