В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
adrian55RUS
adrian55RUS
08.10.2021 13:24 •  Информатика

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

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

Ответ:
Alishkek
Alishkek
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.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?