РУҚА
16

Шешімі: Рекурсивный алгоритм F

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

Ниже на пяти языках программирования записан рекурсивный алгоритм $F$. Во всех вариантах алгоритм эквивалентен следующему: функция $F(n)$ выводит число $n$. Если $n \ge 3$, сначала вызывается $F(\lfloor n/2 \rfloor)$, затем $F(n-1)$. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова $F(5)$. Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

4 қадам
1

Вызов $F(5)$ сразу выводит число 5. Затем выполняется вызов $F(2)$.

$$5$$
2

Вызов $F(2)$ выводит 2 и не порождает жаңа вызовов, так как $2 < 3$.

$$52$$
3

Затем в рамках $F(5)$ выполняется вызов $F(4)$. Он выводит 4, после чего вызывает $F(2)$ и $F(3)$.

$$524$$

Вызов $F(2)$ выводит 2. Вызов $F(3)$ выводит 3, затем вызывает $F(1)$ и $F(2)$, которые выводят соответственно 1 и 2.

$$5242312$$
Жауап
5242312
5242312
так ответ выглядит в бланке

Где здесь ошибаются

Перепутать порядок рекурсивных вызовов $F(\lfloor n/2 \rfloor)$ и $F(n-1)$.

Не учитывать вывод числа до выполнения рекурсивных вызовов.

Продолжать рекурсию для значений $n < 3$.

Закрепить приёмВ теме «Бағдарламалау негіздері» ещё 159 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 16 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Бағдарламалау негіздері»: в ней 160 задач, и у каждой есть такой же разбор. Тіркеу қажет емес.