Написать программу вычисления факториала с использованием рекурсивной подпрограммы - Pascal
Формулировка задачи:
3. Написать программу вычисления факториала с использованием рекурсивной подпрограммы.
Решение задачи: «Написать программу вычисления факториала с использованием рекурсивной подпрограммы»
textual
Листинг программы
function fact(n:integer):real;
begin
if n<2 then fact:=1
else fact:=fact(n-1)*n;
end;
var n:integer;
begin
write('Введите n>=0 n=');
readln(n);
write(n,'!=',fact(n))
end.
Объяснение кода листинга программы
- Объявляется функция
factс параметромn, который имеет тип данныхintegerи возвращает значение типаreal. - В теле функции
factпроисходит следующее:- Проверяется условие: если
nменьше 2, то значение функции устанавливается равным 1. - Иначе значение функции устанавливается как результат умножения
fact(n-1)наn.
- Проверяется условие: если
- Объявляется переменная
nтипаinteger. - Происходит ввод значения для переменной
nс помощью функцииreadln. - Выводится сообщение
n!=и вызывается функцияfactс аргументомn. Результат выводится на экран с помощью функцииwrite.