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

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

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

Ответ:
Аранида
Аранида
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?