РУҚА
16

Вывод рекурсивной функции

ЕГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ1C457AКороткий ответ≈ 3 минутыОтвет сверен с ключом

Ниже на пяти языках программирования записан рекурсивный алгоритм F. При вызове функции сначала выводится значение параметра n. Если n >= 4, затем выполняются вызовы F(n - 3) и F(n - 1) именно в указанном порядке. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(6). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

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

Бейсик

Python

SUB F(n)

PRINT n,

IF n >= 4 THEN

F(n - 3)

F(n - 1)

END IF

END SUB

def F(n):

print(n, end='')

if n >= 4:

F(n - 3)

F(n - 1)

Алгоритмический язык

Паскаль

алг F(цел n)

нач

вывод n

если n >= 4 то

F(n - 3)

F(n - 1)

все

кон

procedure F(n: integer);

begin

write(n);

if n >= 4 then

begin

F(n - 3);

F(n - 1)

end

end;

С++

void F(int n) {

std::cout << n;

if (n >= 4) {

F(n - 3);

F(n - 1);

}

}

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



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

Для каждого вызова сначала запишите его параметр, а затем проследите рекурсивные вызовы слева направо.

2Наводящая — какие числа считатьуровень 2 из 3

Вызов с $n < 4$ только выводит число и не порождает новых вызовов.

3Прямая — фактически решениеуровень 3 из 3

Цепочка вызовов: $F(6) \to F(3), F(5)$; $F(5) \to F(2), F(4)$; $F(4) \to F(1), F(3)$. Получается последовательность $6,3,5,2,4,1,3$.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 16 ЕГЭ, информатика

Задача из темы «Основы программирования»: в ней 160 задач с ответом и разбором по шагам. В 16-м номере бланка — 74 задачи.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.