@uliana00

Правильно ли написан код?

Задание: вычислите значение корня n-ой степени (y=корень из х n-ой степени) с точностью EPS с использованием итерационной формулы Ньютона.Вычисления производить пока |Yi – Yi-1| не станет меньше EPS. Определите количество итераций, за которое достигается эта точность.
Сам код рабочий,не могу понять следующее: почему в ответе,независимо от введенных чисел, выдает 1.
Помогите разобраться,пожалуйста.
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var y, yInDegree, EPS, diff, x, yMinus1 : Real;
    i, n : Cardinal;

   begin
   write('x=');
   readln(x);
   write('y=');
   readln(y);
   write('EPS=');
   readln(EPS);
  i := 0;
  y := 1.0;
  yInDegree := 1.0;
  while (Abs(diff) > EPS) do
    begin
     inc(i);
    yMinus1 := y;
    y := ((1/n) * ((n-1) * y + (x/yInDegree)));//Сама формула
    yInDegree := exp(n*ln(y));
      diff := y - yMinus1;
    inc(i);
    end;
 write('y=',y:8:4);
 readln;


end.
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы