Написать функцию вычисления факториала - Turbo Pascal
Формулировка задачи:
Написать функцию «Факториал» и программу, использующую эту функцию для вывода таблицы факториалов. Напишите пожалуйста всю задачу.
Решение задачи: «Написать функцию вычисления факториала»
textual
Листинг программы
function f(n: Integer): Longint; const m: Integer = 1; r: array [0..10] of Longint = (1,1,0,0,0,0,0,0,0,0,0); {жаль синтаксис требует значения для каждого эл-та} begin if n>m then begin for m:=m+1 to n do r[m]:=r[m-1]*m; m:=n; end; f:=r[n]; end;
Объяснение кода листинга программы
- В функции
f
объявлена переменнаяn
, которая имеет типInteger
(целое число). - В строке
const
объявлены две константы:m
иr
. Переменнаяm
также имеет типInteger
и инициализируется значением 1. Переменнаяr
объявляется как массив целых чиселarray [0..10] of Longint
, и инициализируется значениями (1,1,0,0,0,0,0,0,0,0,0). - В условии
if n>m
проверяется, что значение переменнойn
больше значения переменнойm
. - Если условие истинно, то выполняется цикл
for m:=m+1 to n do
, который проходит отm
доn
с шагом 1. - Внутри цикла переменная
r[m]
присваивается значениюr[m-1]*m
, гдеm-1
- это значение переменнойm
на предыдущем шаге цикла. - После завершения цикла, значение переменной
m
обновляется, чтобы соответствовать значению переменнойn
. - По завершении условий
if
иfor
, функцияf
присваивает себе значениеr[n]
. - В итоге, функция
f
возвращает значениеLongint
, которое является результатом вычисления факториала числаn
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д