Вопрос задан 10.07.2023 в 08:03. Предмет Информатика. Спрашивает Афанасьев Гоша.

ПОМОГИТЕ! 1)Алгоритм вычисления значения функции F(n), где n – натуральное число, задан

следующими соотношениями: F(1) = 1 F(n) = F(n–1) * (n + 1), при n > 1 Чему равно значение функции F(5)? В ответе запишите только целое число. 2)Дан рекурсивный алгоритм: procedure F(n: integer); begin writeln('*'); if n > 0 then begin F(n-2); F(n div 2); F(n div 2); end end; Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(5)? 3)Дан рекурсивный алгоритм: procedure F(n: integer); begin writeln(n); if n < 5 then begin F(n+2); F(n+3); F(n*2) end end; Найдите сумму чисел, которые будут выведены при вызове F(1). 4.Ниже записана рекурсивная процедура: procedure F(n: integer); begin if n > 1 then begin F(n - 4); write(n); F(n div 2); end; end; Что будет напечатано на экране при выполнении вызова F(11)?
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнов Евгений.

Ответ:

1) - 0 2) - 1 3) - 9 4) - 7

Объяснение:

2) 1, потому-что writeln('*') записано перед if, значит оно не изменяется при выполнении if

3) F(1+2);  = 3

F(1+3);  = 4

F(1*2) = 2

3 + 4 + 2 = 9

4) if n > 1 then begin

F(11 - 4); = 7

write(7);

F(n div 2);

end;

end;

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
  1. Для вычисления значения функции F(n) по заданным соотношениям, мы можем использовать рекурсивный подход:
sql
function F(n: integer): integer; begin if n = 1 then Result := 1 else Result := F(n - 1) * (n + 1); end;

Вычислим значение F(5):

scss
F(5) = F(4) * 6 F(4) = F(3) * 5 F(3) = F(2) * 4 F(2) = F(1) * 3 = 1 * 3 = 3 F(3) = 3 * 4 = 12 F(4) = 12 * 5 = 60 F(5) = 60 * 6 = 360

Ответ: 360.

  1. Давайте выполним алгоритм для F(5) и посчитаем количество символов "звездочка":
scss
F(5) -> * (F(3)) -> * (F(1)) -> * (base case, n = 1) * (F(2)) -> * (F(0)) -> * (base case, n = 0) * (base case, n = 1) * (F(2)) -> * (F(0)) -> * (base case, n = 0) * (base case, n = 1) * (F(2)) -> * (F(0)) -> * (base case, n = 0) * (base case, n = 1) * (F(1)) -> * (base case, n = 1)

В итоге, будет напечатано 12 символов "звездочка".

  1. Выполним алгоритм для F(1):
scss
F(1) -> 1 F(3) -> 3 F(5) -> 5 F(7) -> не выполняется (7 < 5) F(8) -> не выполняется (8 < 5) F(10) -> не выполняется (10 < 5) F(8) -> не выполняется (8 < 5) F(9) -> не выполняется (9 < 5) F(10) -> не выполняется (10 < 5) F(4) -> 4 F(6) -> не выполняется (6 < 5) F(7) -> не выполняется (7 < 5) F(12) -> не выполняется (12 < 5)

Сумма выведенных чисел: 1 + 3 + 5 = 9.

  1. Выполним алгоритм для F(11):
scss
F(11) -> F(7) -> F(3) -> F(-1) -> не выполняется (нельзя сделать вызов с отрицательным аргументом) F(4) -> F(0) -> не выполняется (нельзя сделать вызов с аргументом 0) 4 F(2) -> F(-2) -> не выполняется (нельзя сделать вызов с отрицательным аргументом) F(1) -> 1 4 F(5) -> 5 F(6) -> 6 F(3) -> F(-1) -> не выполняется F(4) -> F(0) -> не выполняется 4 F(2) -> 1 6 11 F(5) -> 5

Итоговый вывод: 4 1 6 4 5 11 5.

0 0

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

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

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

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