РУҚА
16

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

ЕГЭ · Информатика · Тапсырма 16 · Бағдарламалау негіздері
КүрделіФИПИE6C892Қысқа жауап≈ 3 минутЖауап сверен с ключом

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

Python
1def F(n):
2    if n > 2:
3        F(n // 2)
4        F(n - 1)
5        print(n)
Условие как в банке ФИПИ — открыть и сверить
Дұрыс жауапты жазыңыз.

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

Бейсик

Python

SUB F(n)

IF n > 2 THEN

F(n \ 2)

F(n - 1)

PRINT n,

END IF

END SUB

def F(n):

if n > 2:

F(n // 2)

F(n - 1)

print(n)

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

Паскаль

алг F(цел n)

нач

если n > 2 то

F(div(n, 2))

F(n - 1)

вывод n

все

кон

procedure F(n: integer);

begin

if n > 2 then

begin

F(n div 2);

F(n - 1);

write(n)

end

end;

С++

void F(int n){

if (n > 2){

F(n / 2);

F(n - 1);

std::cout << n;

}

}

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



Сіздің жауабыңыз

Формат: өлшем бірліктері жоқ сан немесе сөз; бөлшек бөлігін үтірмен бөліңіз.

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

В каком порядке выполняются два рекурсивных вызова и команда print(n)?

2Жетекші — қандай сандарды есептеудеңгей 2 из 3

Сначала выполняется F(n // 2), затем F(n - 1), и только после этого выводится n. При n \le 2 число не выводится.

3Тікелей — іс жүзінде шешімдеңгей 3 из 3

Для F(7): сначала F(3), затем F(6), затем выводится 7. Последовательно раскройте F(3), F(6), F(5) и F(4).

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

Тапсырма 16 ЕГЭ, информатика

Задача из темы «Бағдарламалау негіздері»: в ней 160 задач жауабымен және қадамдық талдауымен. В 16-м номере бланка — 74 задачи.

Жауапты осы жерде тексеруге болады, ал егер шықпаса — ашуға болады көмекші кеңес немесе талдау. Тіркелу қажет емес.