1. Главная
  2. Библиотека
  3. Программирование
  4. procedure F(n: integer); begin if n > 0 then begin write...
Решение задачи на тему

procedure F(n: integer); begin if n > 0 then begin write(n); F(n div 2); F(n - 3); end end; Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(8). Числа должны быть записаны в том же порядке,

  • Программирование
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
procedure F(n: integer); begin if n > 0 then begin write(n); F(n div 2); F(n - 3); end end; Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(8). Числа должны быть записаны в том же порядке,

Условие:

procedure F(n: integer);
begin
if n > 0 then
begin
write(n);

F(n div 2);

F(n - 3);
end
end;

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(8). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Решение:

Давайте разберем, как работает процедура F(n) при вызове F(8).

  1. Вызов F(8):
  • Печатаем 8.
  • Вызываем F(8 div 2) = F(4).
  • Вызываем F(8 - 3) = F(5).
  1. Вызов F(4):
  • Печатаем 4.
  • Вызываем F(4 div 2) = F(2).
  • Вызываем F(4...

Выбери предмет