1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 13 Параграф 9 ГДЗ Босова 11 класс (Информатика)
Босова, Босова
11 класс
Автор
Босова, Босова

Задание 13 Параграф 9 ГДЗ Босова 11 класс (Информатика)

Задача

program reк;
procedure F(n: integer);
begin
if n > 0 then
begin
F(n-4) ;
writein(n);
F(n div 3)
end;
end;
begin
F(9)
end.
He выполняя программу на компьютере, выясните, что получится в результате работы этой программы.
Проверьте свой результат, выполнив программу на компьютере.
Дополнительные материалы к главе смотрите в авторской мастерской.
procedure F(n: integer);
begin
if n > 0 then
begin
F(n — 4);
write (n,’, ‘);
F(n div 3)
end;
end;
begin
F(9)
end.
Вывод: 1, 5, 1, 9, 3, 1,
Программа: Z_9_13.pas (ссылка ниже)

Подробный ответ

Разберём работу рекурсивной процедуры $$F(n)$$.

Если $$n \le 0$$, то процедура ничего не делает. Если $$n > 0$$, то сначала вызывается $$F(n-4)$$, затем выводится число $$n$$, после этого вызывается $$F(n \div 3)$$.

Найдём результат для $$F(9)$$:

  • $$F(9) \rightarrow F(5),\ 9,\ F(3)$$
  • $$F(5) \rightarrow F(1),\ 5,\ F(1)$$
  • $$F(1) \rightarrow F(-3),\ 1,\ F(0)$$

Так как при $$n \le 0$$ ничего не выводится, получаем:

  • из $$F(1)$$ выводится $$1$$;
  • из $$F(5)$$ выводится $$1, 5, 1$$;
  • из $$F(3)$$:

$$F(3) \rightarrow F(-1),\ 3,\ F(1)$$, значит выводится $$3, 1$$.

Итоговая последовательность вывода:

$$1,\ 5,\ 1,\ 9,\ 3,\ 1$$

Ответ

$$1,\ 5,\ 1,\ 9,\ 3,\ 1$$



Общая оценка
4 / 5
Другие учебники
Другие предметы