Программа


Program Chord;
{ Поиск корня уравнения
  методом хорд }
Type Func=function(x:real):real; { Тип функция }
Var Result:real;  { Корень }
    X:real;  { Приближение к корню }
Function F(x:real):real; far; { Вычисление функции }
  Begin
    F:=x*x-100
  End;
Function Root(X0:real;F:Func):real; { Функция нахождения корня }
  const Eps=0; { Точность вычислений }
  var X,XNew:real;  { Приближенные значения корня }
      F0:real;   { Значение функции в точке X0 }
      Fx:real;   { Значение функции в точке X }
  Begin
    F0:=F(X0);  { Вычисление значения функции в точке начального приближения }
    X:= X0+1;  { Определение первого приближения }
    XNew:=X+1;  { Определение второго приближения }
    while abs(XNew-X)>Eps do { Цикл приближения к корню }
      begin
        X:=XNew;  { Сохранение предыдущего приближения }
        Fx:=F(X); { Вычисление значения функции в точке X }
        if Fx<>0 { Если новое приближение не является корнем }
          then  XNew:=X-(X-X0)/(1-F0/Fx) { то вычисление нового приближения }
          else  XNew:=X                  { иначе подготовка выхода из цикла }
      end;
    Root:=(XNew+X)/2 { Определение значения функции }
  End;
BEGIN
  WriteLn;  { Пропуск строки }
  WriteLn('Вычисление корня нелинейного уравнения x^2=100');
  WriteLn('Метод хорд.');
  Write('Введите приближение корня ');
  ReadLn(X); { Ввод начального приближения }

  Result:=Root(X,F);                              { Вычисление корня }
  writeln('x=',Result,'  F(x)=',F(Result))          { Вывод корня и проверки }

;WriteLn('=========================');
WriteLn('Stud-Prog.narod.ru - помощь студентам по программированию');
WriteLn('StudDraw.narod.ru - помощь студентам по черчению');
WriteLn('English-Translator.narod.ru - английский язык, рефераты? переводы');
WriteLn('+7-(904)-601-65-28 Александр Евгеньевич');
WriteLn;
WriteLn('Нажмите <Enter> для завершения программы');
ReadLn;
END.


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