рассмотрите следующее описание функции:
function f(x: integer): integer;
begin
if x< =10 then f: =0 else f: =f(f(f(x-
end;

каким будет значение f(20)?

derkioptu derkioptu    3   13.10.2019 21:16    7

Ответы
pepep pepep  10.10.2020 06:30

0

Объяснение:

Проанализируем функцию. Здесь наблюдается так называемая рекурсия, когда подпрограмма в своем теле вызывает саму себя.

Первый вызов: f(20). Так как выражение 20 <= 10 будет ложным, то выполнится f:=f(f(f(20-10))) = f(f(f(10)))

Первый вызов функции "приостанавливается", и начинается вычисление  второй функции f(10). 10 <= 10 - удовлетворяет условию, значит результатом будет 0.

Теперь программе необходимо вычислить значение функции f(f(0)), который, в свою очередь, равен f(0) = 0. А это значит, что f(20) = 0.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика