Вычисление квадратного корня (алгоритм Ньютона)

Previous  Top  Next

    
 

 

Code:

{ **** UBPFD *********** by kladovka.net.ru ****

>> Вычисление квадратного корня (алгоритм Ньютона)

 

Зависимости: нет

Автор:       Fenik, chook_nu@uraltc.ru, Новоуральск

Copyright:   Автор: Федоровских Николай

Дата:        20 апреля 2003 г.

********************************************** }

 

function MySqrt(x: Double; n: Byte): Double;

{ x - аргумент

n - точность вычисления (советую брать 7-8) }

var i: Integer;

begin

if x <= 0 then begin

   Result := 0;

   Exit;

end

else Result := 4;

for i := 0 to n do begin

   Result := (Result + x/Result)/2;

end;

end;

 

 

 

 

Пример использования:

Code:

procedure TForm1.FormCreate(Sender: TObject);

var n: Double;

begin

//Тест (сверить с калькулятором)

n := 29.7665342;

Caption := 'Sqrt(' + FloatToStrF(n, ffFixed, 10, 5) + ') = ' +

                      FloatToStrF(MySqrt(n, 7), ffFixed, 10, 10);

end;

 

 

©Drkb::04095