1.3.4. Процедуры как возвращаемые значения
Упражнение 1.45

Корень n-ой степени

В разделе 1.3.3 мы видели, что попытка вычисления квадратных корней путем наивного поиска неподвижной точки y → x/y не сходится, и что это можно исправить путем торможения усреднением. Тот же самый метод работает для нахождения кубического корня как неподвижной точки y → x/y², заторможенной усреднением. К сожалению, этот процесс не работает для корней четвертой степени — однажды примененного торможения усреднением недостаточно, чтобы заставить сходиться процесс поиска неподвижной точки y → x/y³. С другой стороны, если мы применим торможение усреднением дважды (т.е. применим торможение усреднением к результату торможения усреднением от y → x/y³), то поиск неподвижной точки начнет сходиться. Проделайте эксперименты, чтобы понять, сколько торможений усреднением нужно, чтобы вычислить корень n-ой степени как неподвижную точку на основе многократного торможения усреднением функции y → x/yⁿ⁻¹. Используя свои результаты для того, напишите простую процедуру вычисления корней n-ой степени с помощью процедур fixed-point, average-damp и repeated из упражнения 1.43 . Считайте, что все арифметические операции, какие Вам понадобятся, присутствуют в языке как примитивы.



Комментарии отсутствуют.

Необходима авторизация

Вы должны авторизоваться для создания комментария.

Вход