Помогите не понимаю. Очень срочно!!!

0 голосов
15 просмотров

Помогите не понимаю. Очень срочно!!!


image

Информатика (12 баллов) | 15 просмотров
0

Это рекурсивная функция, она вычисляет произведение целых чисел от 1 до n, то есть n!. Используется формула n!=(n-1)!*n.

Дан 1 ответ
0 голосов

Ответ:

Программа демонстрирует вычисление факториала методом рекурсивного вызова функции.

program f;                  

(название программы)

  var n:integer;          

( декларирование целой переменной n)

function fr(n:integer)

( декларирование функции fr с одним целым параметром)

begin                          

(начало функции тела функции fr)

   if n=1 then fr:=1        

(если параметр равен 1, функция возвращает 1)

            else fr:=fr(n-1)*n;  

(иначе, рекурсивно вычисляет факториал)

end;                                  

(конец тела функции)

begin                                

(начало тела программы)

write('Enter a number: ');  

(вывод на экран строки "введите число")

readln(n);                          

(перевод строки, ожидание ввода, присвоение n введенного                числа)

res:=fr(n);                          

(вызов функции fr и присвоение ее значения переменной res)

writeln('Answer: ', res);

(выводим на экран результат)

read;

(ждем нажатия любой клавиши)

end.

(конец тела программы)

(928 баллов)
0

Да и не забудьте: Чтобы понять, что такое рекурсия, нужно понять, что такое рекурсия.