Вопрос задан 22.10.2026 в 09:56. Предмет Информатика. Спрашивает Шокуров Артём.

Ниже записан рекурсивный алгоритм F. Чему равна сумма напечатанных на экране чисел при выполнении вызова F(10)?

procedure F (n:integer);
begin
if n > 2 then begin
writeln (n);
F (n-3);
F (n-4)
end
end;

Перейти к ответам

Ответы на вопрос

Отвечает Андреев Алексей.

Ответ: 33.

Разберём работу рекурсивного алгоритма F(10).

Дан алгоритм:

pascal
procedure F(n: integer); begin if n > 2 then begin writeln(n); F(n-3); F(n-4) end end;

Алгоритм работает следующим образом:

  1. Если число n > 2, оно выводится на экран.

  2. Затем вызывается функция F(n-3).

  3. После её завершения вызывается функция F(n-4).

  4. Если n <= 2, функция ничего не выводит и завершает работу.

Рассмотрим выполнение F(10) по шагам.

1. Вызов F(10)

Так как 10 > 2, на экран выводится число 10.

Затем вызываются F(7) и F(6).

2. Вызов F(7)

Выводится число 7.

Затем вызываются F(4) и F(3).

  • F(4): выводится 4. Вызовы F(1) и F(0) ничего не выводят.

  • F(3): выводится 3. Вызовы F(0) и F(-1) ничего не выводят.

3. Вызов F(6)

Выводится число 6.

Затем вызываются F(3) и F(2).

  • F(3): выводится 3. Вызовы F(0) и F(-1) ничего не выводят.

  • F(2): ничего не выводится, поскольку 2 не больше 2.

Таким образом, на экран последовательно выводятся числа:

10, 7, 4, 3, 6, 3

Вычислим их сумму:

10+7+4+3+6+3=3310+7+4+3+6+3=\boxed{33}

Итоговый ответ: 33.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос