Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n < 5 then begin
F(n+2);
F(n*2)
end
end;
Отметьте числа, которые будут выведены при вызове F(1).
1
2
3
4
5
6
8
10
14

missgur04 missgur04    3   04.04.2020 21:34    5

Ответы
tibefp33org tibefp33org  16.05.2020 16:44

1,2,3,4,5,6,8

Объяснение:

Что напечатается:

1

3

5

6

2

4

6

8

4

6

8

При вызове F(1) печатается 1. Дальше вызовется F(3)

Напечатается 3. Вызовется F(5)

Напечатается 5. F(7) не вызывается, т.к. 7>5

Теперь вызывается вторая функция для F(3), то есть F(6)

Печатается 6. Дальше вызывается вторая функция для F(1), то есть F(2)

Печатается 2. Вызывается первая функция для F(2), т.е. F(4).

Печатается 4. Вызывается первая функция для F(4), т.е. F(6).

Печатается 6. Вызывается вторая функция для F(4), т.е. F(8)

Печатается 8. Вызывается вторая функция для F(2), т.е. F(4)

Печатается 4. Вызываются первая и вторая функции F(6) и F(8)

Печатается 6

Печатается 8

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика