Написать рекурсивную функцию для вычисления квадрата натурального числа - Pascal
Формулировка задачи:
можете написать всю программу с объяснениями. Написать рекурсивную функцию для вычисления квадрата натурального числа, если известно, что (n+1)^2=n^2+2*n+1 и 1^2=1.
Решение задачи: «Написать рекурсивную функцию для вычисления квадрата натурального числа»
textual
Листинг программы
function Pow(const n: Integer): Extended; var Result: Extended; begin if (n < 2) then Result := 1 else Result := 2 * n + Pow(n - 1) - 1; Pow := Result; end; var n: Word; begin Write('Input n: '); ReadLn(n); Write('Sqr(', n, ')=', Pow(n):0:0); end.
Объяснение кода листинга программы
- Создается рекурсивная функция с названием
Pow
и параметромn
типа Integer, которая возвращает значение типаExtended
. - Объявляется переменная
Result
типаExtended
. - Если значение параметра
n
меньше 2, то переменнойResult
присваивается значение 1. - В противном случае, переменной
Result
присваивается значение выражения2 * n + Pow(n - 1) - 1
. - Функция возвращает значение
Result
. - В блоке
begin/end
объявляется переменнаяn
типаWord
. - Пользователю предлагается ввести значение для переменной
n
с помощью функцииWrite
иReadLn
. - Выполняется вывод результата вычисления квадрата натурального числа
n
с помощью функцииSqr
иPow
с заданным форматированием.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д