Задача с использованием рекурсии - Pascal
Формулировка задачи:
Очень срочно, заранее благодарю
Решение задачи: «Задача с использованием рекурсии»
textual
Листинг программы
function Recc(const n: Word; const plusMinus: ShortInt): Double; //Real, Single var Result: Double; //удалить раздел var в случае ошибки повторного объявления begin if (n = 0) then Result := 0 else Result := Sqrt(11 + plusMinus * Recc(n - 1, -plusMinus)); Recc := Result; end; var n: Word; begin Write('Input depth: '); ReadLn(n); Write(Recc(n, -2):0:2); //первый параметр - глубина. второй не трогать! end.
Объяснение кода листинга программы
- В функции
Recc
объявлены две переменные:Result
, которая является результатом вычисления, иn
, которая представляет глубину, вводимую пользователем. - Переменная
Result
инициализируется значением 0, еслиn
равно 0. В противном случае, она инициализируется результатом вычисления квадратного корня из суммы 11 иplusMinus
умноженного наRecc
дляn-1
и-plusMinus
. - Значение
Result
присваивается переменнойRecc
, чтобы она могла быть использована в следующем вызове функцииRecc
. - В основной части программы объявлена переменная
n
, которая представляет глубину, вводимую пользователем. - Вызывается функция
Recc
сn
равным введенной глубине и-2
в качестве второго параметра. Второй параметр не используется в вычислениях, но его значение необходимо для правильного вызова функции. - Результат вычисления функции
Recc
выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д