Демовариант ЕГЭ по информатике 2018 года, задание 11

Демовариант ЕГЭ по информатике 2018 года, задание 11

Задача 11

Ниже на пяти языках программирования записан рекурсивный алгоритм F.

demo 8 001

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(9). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

1. Рассмотрим алгоритм, записанный на языке программирования Паскаль.

procedure F(n: integer);
begin
if n > 0 then
begin
write(n);
F(n - 3);
F(n div 3)
end
end;

2. В данном фрагменте программы рекурсивная процедура вызывает саму себя дважды. Благодаря условию, находящемуся в процедуре (if n > 0 — условие остановки рекурсии), обеспечивается выход из рекурсии и не происходит «зацикливания».

3. Выполнение процедур закончится, когда в каждой из вызванных процедур выполнятся по две внутренние процедуры, и условие if n > 0 перестанет работать (когда n ≤ 0).

4. div — целочисленное деление, т.е., например:

5 div 2 = 2
1 div 2 = 0

5. Отобразим пошагово выполнение каждой процедуры. Под вызовом каждой процедуры разместим именно те действия, которые происходят в данной процедуре:

demo 8 002

Выделены те числа, которые выводятся на экран. Подчеркнуты те процедуры, в которых условие не работает, соответственно, ничего на экран не выводится.

6. Перепишем по порядку все выводимые на экран числа: 9631231

Ответ: 9631231

Демонстрационный вариант 2018 года

Выберите соответствующий номер задания в демонстрационном варианте ЕГЭ 2018 года

Информация

Все изображения, размещенные на сайте, изготовлены автором самостоятельно, а также взяты в сети Интернет из тех изображений, которые находятся в свободном доступе. Поиск изображений осуществлялся посредством "Яндекс. Картинки".

Индекс цитирования

Проект при поддержке компании RU-CENTER Рейтинг@Mail.ru

Версия сайта для слабовидящих