tutotveti.ru
Предметы
Биология
Українська мова
Музыка
Французский язык
Физика
МХК
Обществознание
Психология
ОБЖ
Право
Беларуская мова
Литература
Химия
Українська література
Экономика
Немецкий язык
География
Информатика
Қазақ тiлi
Геометрия
Английский язык
Русский язык
Окружающий мир
Алгебра
История
Другие предметы
Видео-ответы
ПОИСК
Войти
Регистрация
Информатика
Дан рекурсивный алгоритм: def
Дан рекурсивный алгоритм:
def F( n ):
print( '*' )
if n > 0:
F( n-2 )
F( n // 2 )
Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(7)?
Pleshkova01
1 15.04.2020 12:29
284
Ответы
Tobirama0shok
15.04.2020 12:30
gfegev
Объяснение:
ПОКАЗАТЬ ОТВЕТЫ
ЛюАниме
15.04.2020 12:30
Объяснение:
подумай овррклуокоокококоокок
ПОКАЗАТЬ ОТВЕТЫ
Pingvinchikc
09.01.2024 12:40
Чтобы решить эту задачу, давайте разберемся в работе данного рекурсивного алгоритма по шагам.
Для начала, вызываем функцию F(7).
Шаг 1:
Печатаем символ "*".
Теперь n = 7.
Вызываем функцию F(7-2), то есть F(5).
Шаг 2:
Печатаем символ "*".
Теперь n = 5.
Вызываем функцию F(5-2), то есть F(3).
Шаг 3:
Печатаем символ "*".
Теперь n = 3.
Вызываем функцию F(3-2), то есть F(1).
Шаг 4:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).
Шаг 5:
n = -1 <= 0, поэтому выходим из функции.
При этом, символ "*" был напечатан 4 раза.
Теперь возвращаемся к последнему невыполненному вызову функции F(1).
Шаг 5 (повтор):
n = 1 // 2, поэтому вызываем функцию F(0).
Шаг 6:
Печатаем символ "*".
Теперь n = 0.
Выходим из функции F(0).
Теперь возвращаемся к предыдущему невыполненному вызову функции F(1).
Шаг 6 (повтор):
n = 1 // 2, поэтому вызываем функцию F(0).
Шаг 7:
Печатаем символ "*".
Теперь n = 0.
Выходим из функции F(0).
Теперь возвращаемся к предыдущему невыполненному вызову функции F(3).
Шаг 4 (повтор):
n = 3 // 2, поэтому вызываем функцию F(1).
Шаг 5:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).
Шаг 5 (повтор):
n = -1 <= 0, поэтому выходим из функции.
Теперь возвращаемся к предыдущему невыполненному вызову функции F(3).
Шаг 5 (повтор):
n = 3 // 2, поэтому вызываем функцию F(1).
Шаг 6:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).
Шаг 7:
n = -1 <= 0, поэтому выходим из функции.
Теперь возвращаемся к предыдущему невыполненному вызову функции F(5).
Шаг 6 (повтор):
n = 5 - 2, поэтому вызываем функцию F(3).
...
Продолжаем подобным образом до завершения алгоритма.
Таким образом, нам нужно посчитать, сколько раз был напечатан символ "*".
Обращаясь к нашим шагам, мы видим, что символ "*" был напечатан 4 раза.
Итак, при выполнении вызова F(7) будет напечатано 4 символа "звездочка".
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика
karkavina85
30.09.2021 21:43
Названне ;Форматы; Пренолущества; Недостатки; Применение...
thymbalovajulia
30.09.2021 21:44
Написать сравнительную характеристику по 2 фильма 1. Военные игры 2. Ева: Искусственный разум...
Ариса27
30.09.2021 21:49
1.Создать массив, на чётных местах в котором стоят единицы, а на нечётных местах - числа, равные остатку от деления своего номера на 5 2.Создать массив, каждый элемент...
Adln48
30.09.2021 21:53
От чего зависит файловый формат?...
89622356703
19.02.2021 10:09
1) Тус датчиги канша тусти танийды...
recebramazanov
12.06.2019 18:40
Старые часы отстают на 20 секунд вчас. скольво времени они покажут через сутки после того, как стрелки устонавили на 12 часов...
aiko20052015
12.06.2019 18:40
2000надо перевести в двоичную систему счисления...
IgorGr1ef
21.12.2020 16:05
сделать задание по информатике за 10 класс....
mskamilee
21.12.2020 16:05
10. Что такое динамические ряды? Какие функции они выполняют?...
ghcfgnyhvjt
21.12.2020 16:04
Дана блок-схема. Какое значение будет иметь z на выходе, если x=51? (промежуточные вычисление не округляйте; ответ округли до десятых) ответ:...
Популярные вопросы
На прямій позначено точки А, В i С так, що АВ = 15 см, АС = 9 см....
3
Промінь ОР проходить між сторонами кута МОК. Знайдіть кут МОР, якщо...
1
Відрізки АВ i CD piвні (рис. 39). Доведіть, що відрізки AC i BD теж...
1
Відріок, довжина якого дорівнює 32 см, поділили на три нерівних відрізки....
2
Відрізок EF дорівнює 12 см. Знайдіть на прямій EF yci точки, сума...
3
Точки А, В i С лежать на одній прямій. Знайдіть відрізок ВС, якщо...
2
Точка К є серединою відрізка MN. Чи можна сумістити накладанням:...
1
На рисунку 72 кут ABC прямий, ∟ABE = ∟EBF = ∟FBC, промені BD i ВК...
2
Відрізки ME i FN piвні (рис. 40). Доведіть, що MP = EN...
1
Позначте дві точки A i В та проведать через них пряму. Позначте точки...
3
gfegev
Объяснение:
Объяснение:
подумай овррклуокоокококоокок
Для начала, вызываем функцию F(7).
Шаг 1:
Печатаем символ "*".
Теперь n = 7.
Вызываем функцию F(7-2), то есть F(5).
Шаг 2:
Печатаем символ "*".
Теперь n = 5.
Вызываем функцию F(5-2), то есть F(3).
Шаг 3:
Печатаем символ "*".
Теперь n = 3.
Вызываем функцию F(3-2), то есть F(1).
Шаг 4:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).
Шаг 5:
n = -1 <= 0, поэтому выходим из функции.
При этом, символ "*" был напечатан 4 раза.
Теперь возвращаемся к последнему невыполненному вызову функции F(1).
Шаг 5 (повтор):
n = 1 // 2, поэтому вызываем функцию F(0).
Шаг 6:
Печатаем символ "*".
Теперь n = 0.
Выходим из функции F(0).
Теперь возвращаемся к предыдущему невыполненному вызову функции F(1).
Шаг 6 (повтор):
n = 1 // 2, поэтому вызываем функцию F(0).
Шаг 7:
Печатаем символ "*".
Теперь n = 0.
Выходим из функции F(0).
Теперь возвращаемся к предыдущему невыполненному вызову функции F(3).
Шаг 4 (повтор):
n = 3 // 2, поэтому вызываем функцию F(1).
Шаг 5:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).
Шаг 5 (повтор):
n = -1 <= 0, поэтому выходим из функции.
Теперь возвращаемся к предыдущему невыполненному вызову функции F(3).
Шаг 5 (повтор):
n = 3 // 2, поэтому вызываем функцию F(1).
Шаг 6:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).
Шаг 7:
n = -1 <= 0, поэтому выходим из функции.
Теперь возвращаемся к предыдущему невыполненному вызову функции F(5).
Шаг 6 (повтор):
n = 5 - 2, поэтому вызываем функцию F(3).
...
Продолжаем подобным образом до завершения алгоритма.
Таким образом, нам нужно посчитать, сколько раз был напечатан символ "*".
Обращаясь к нашим шагам, мы видим, что символ "*" был напечатан 4 раза.
Итак, при выполнении вызова F(7) будет напечатано 4 символа "звездочка".