Программа


{ Xo=-0.(6)..900   X=0.19572476996 }
PROGRAM Tangent;
CONST Eps=0;   { Точность }
TYPE Func=function(x:real):real; { Тип функция }
VAR Result:real;  { Корень }
    X:real;  { Переменная }
FUNCTION F(X:real):real;far; { Вычисление значения функции }
  Begin
    F:=3*X+Ln(3*X+2)/Ln(10)-1
  End;
FUNCTION FProto(X:real):real;far; { Вычисление значения производной функции }
  Begin
    FProto:=3+3/((3*X+2)*Ln(10))
  End;
FUNCTION Root(X:real;Eps:real;F,FProto:Func):real; { Вычисление корня }
  Var PredX:real; { Предыдущее приближение корня }
  Begin
    repeat  { Цикл приближения к корню }
      PredX:=X;  { Сохранение предыдущего приближение }
      X:=X-F(X)/FProto(X) { Вычисление нового приближения корня }
    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.

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