Задача с использованием рекурсии - 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.

Объяснение кода листинга программы

  1. В функции Recc объявлены две переменные: Result, которая является результатом вычисления, и n, которая представляет глубину, вводимую пользователем.
  2. Переменная Result инициализируется значением 0, если n равно 0. В противном случае, она инициализируется результатом вычисления квадратного корня из суммы 11 и plusMinus умноженного на Recc для n-1 и -plusMinus.
  3. Значение Result присваивается переменной Recc, чтобы она могла быть использована в следующем вызове функции Recc.
  4. В основной части программы объявлена переменная n, которая представляет глубину, вводимую пользователем.
  5. Вызывается функция Recc с n равным введенной глубине и -2 в качестве второго параметра. Второй параметр не используется в вычислениях, но его значение необходимо для правильного вызова функции.
  6. Результат вычисления функции Recc выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.429 из 5
Похожие ответы