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

0 голосов

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


image

спросил от (12 баллов) в категории Информатика
оставил комментарий от Одаренный (4.9k баллов)

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

1 Ответ
0 голосов
ответил от Начинающий (928 баллов)

Ответ:

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

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 баллов)

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

...