Задание 16 ЕГЭ по информатике · A2BE00
Количество звёздочек при взаимной рекурсииПовышеннаяКЭС 3.7КЭС 3.16
Ниже приведены две рекурсивные функции F и G на языке Python.
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(9)?
def F(n):
if n > 0:
G(n - 2)
def G(n):
print("*")
if n > 1:
F(n - 1)Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(9)?
Показать ответ
3
Подсказки (3)
- Проследите цепочку вызовов функций, начиная с F(9). Каждый вызов G печатает одну «звёздочку».
- После вызова F(n) вызывается G(n - 2), а после G(k), если k > 1, вызывается F(k - 1).
- Цепочка имеет вид: F(9) → G(7) → F(6) → G(4) → F(3) → G(1) → F(0). Функция G вызывается три раза.
Решение
1. При вызове F(9) условие n > 0 выполняется, поэтому вызывается G(7). F(9)→G(7) 2. Функция G(7) печатает один символ и вызывает F(6), так как 7 > 1. G(7)→F(6) 3. Далее аналогично выполняются вызовы G(4) и G(1), каждый из которых печатает по одному символу. F(6)→G(4)→F(3)→G(1)→F(0) 4. После вызова F(0) дальнейших вызовов нет. Всего функция G была вызвана три раза. 1+1+1=3
Частые ошибки
- Считать количество вызовов F вместо количества вызовов G.
- Забыть, что функция G печатает символ до проверки условия n > 1.
- Не учитывать завершающий вызов G(1), который печатает символ, но не вызывает F.
Источник: Открытый банк ФИПИ
Похожие задания
16Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 3) def G(n)…Количество звёздочек при взаимной рекурсии · 0D4EB516Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 2) def G(n)…Количество звёздочек при взаимной рекурсии · 2778CC16Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 1) def G(n)…Количество звёздочек при взаимной рекурсии · 4ADA7816Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 1) def G(n)…Количество звёздочек при взаимной рекурсии · 9DAE4016Ниже приведены две рекурсивные функции F и G на языке Python. def F(n): if n > 0: G(n - 1) def G(n)…Количество звёздочек при взаимной рекурсии · C0539216Алгоритм вычисления значения функции F(n) , где n – целое число, задан следующими соотношениями: F(n) = 1 при…Значение функции или выражения
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.