Вопрос задан 23.06.2023 в 19:24. Предмет Информатика. Спрашивает Федорова Кристина.

Россе Вариант 121. Дан рекурсивный алгоритм:procedure F(n: integer);beginwriteln("*');if n > 0

then beginwriteln('*');F(n-1);F(n div 2);endend;Сколтко символом звехдочка юудет напечатаннт на экране привыполнении вызова F(5)РЕШИТЕ ПОЖАЛУЙСТВ​
0 0
Перейти к ответам

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

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

Ответ:

Всего звёздочек = 40

Объяснение:

var

b : integer;

procedure F(n: integer);

begin

 inc(b);

 writeln('*');

 if n > 0 then begin

   inc(b);

   writeln('*');

   F(n-1);

   F(n div 2);

 end

end;

var

 a : integer;

begin

 b:=0;

 a:=5;

 f(a);

 writeln('Всего звёздочек =', b);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте разберемся, сколько символов '*' будет напечатано на экране при выполнении вызова F(5).

Алгоритм F(n) выводит звездочку ('*') и затем вызывает себя дважды: с аргументами n-1 и n div 2, при условии, что n > 0.

Для F(5):

  1. В самом начале вызовется writeln('*'), и на экран будет выведена одна звездочка.
  2. Затем вызовется F(4) (потому что 5-1=4), и это приведет к дополнительной звездочке.
  3. Далее будет вызван F(2) (потому что 4 div 2 = 2), и это также приведет к еще одной звездочке.
  4. Внутри F(2) снова вызовется F(1) (потому что 2-1=1), что приведет к еще одной звездочке.
  5. Затем вызовется F(0) (потому что 1 div 2 = 0), и внутри F(0) ничего не произойдет.

Итак, общее количество звездочек, выведенных на экране при вызове F(5), будет равно 4 звездочкам.

0 0

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

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

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

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