Программа
{ Решение уравнений методом
касательных (Ньютона) }
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; { Предыдущее приближение корня }
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.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию