![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Вычисление квадратного корня (алгоритм Ньютона)Delphi , Синтаксис , Математика
Автор: Fenik { **** UBPFD *********** by delphibase.endimus.com **** >> Зависимости: нет Автор: 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; Пример использования: 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; Программирование на Delphi: реализация метода Ньютона-Рафсона для расчета квадратных корней! Код структурирован и легко понятен. Вот подробное описание того, что он делает: Функция Эта функция рассчитывает квадратный корень заданного значения Вот, как она работает:
Формула, используемая в каждой итерации, выглядит следующим образом:
Это классическая формула обновления для приближения корней методом Ньютона-Рафсона. Процедура Эта процедура демонстрирует, как использовать функцию Код использует функцию Обзор кода Код в целом хорошо написан и легко понятен. Однако, есть несколько минимальных предложений:
В целом код выглядит хорошо и должен работать правильно для расчета квадратных корней с указанной точностью. В статье описан алгоритм Ньютона для вычисления квадратного корня с помощью программирования на языке Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Математика ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |