Дан рекурсивный метод: procedure F(n: integer); begin writeln(n); if n amp;gt;
Дан рекурсивный метод: procedure F(n: integer); begin writeln(n); if n amp;gt; 1 then begin writeln(n); F(n-2); F(n-5) end end; Найдите сумму чисел, которые будут выведены при вызове F(9).
Задать свой вопросРаспишем алгоритм.
1) На экране цифра 9, 9 больше 1 - запускаем тело условия.
2) На экране 9, запускаем F(9-2), F(9-5) ставим в первую очередь.
3) На экране цифра 7, 7 больше 1 - запускаем тело условия.
4) На экране 7, запускаем F(7-2), F(7-5) ставим в первую очередь.
5) На экране цифра 5, 5 больше 1 - запускаем тело условия.
6) На экране 5, запускаем F(5-2), F(5-5) ставим в первую очередь.
7) На экране цифра 3, 3 больше 1 - запускаем тело условия.
8) На экране 3, запускаем F(3-2), F(3-5) ставим в первую очередь.
9) На экране цифра 1, 1 не больше 1 - тело условия не запускаем.
10) Выполняем F(3-5), на экране -2 lt; 1 - тело условия не запускаем.
11) Исполняем F(5-5), на экране 0 lt; 1 - тело условия не запускаем.
12) Исполняем F(7-5), на экране 2, 2 gt; 1 - запускаем тело условия.
13) На экране 2, запускаем F(2-2), F(2-5) ставим в первую очередь.
14) На экране цифра 0, 0 не больше 1 - тело условия не запускаем.
15) Исполняем F(2-5), на экране -3, -3 lt; 1 - тело условия не запускаем.
16) Исполняем F(9-5), на экране 4, 4 gt; 1 - запускаем тело условия.
17) На экране 4, запускаем F(4-2), F(4-5) ставим в первую очередь.
18) На экране 2, 2 больше 1 - запускаем тело условия.
19) На экране 2, F(2-2), F(2-5) ставим в первую очередь.
20) На экране 0, 0 не больше 1 - тело условия не запускаем.
21) Исполняем F(2-5), на экране -3.
22) Исполняем F(4-5), на экране -1.
Посчитаем сумму:
9 + 9 + 7 + 7 + 5 + 5 + 3 + 3 + 1 - 2 + 2 + 2 - 3 + 4 + 4 + 2 + 2 - 3 - 1 = 56.
-
Вопросы ответы
Статьи
Информатика
Статьи
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.
Разные вопросы.
Математика.