Вопрос задан 23.06.2023 в 17:49. Предмет Информатика. Спрашивает Высоцкая Лера.

Информатика 10 класс Рекурсивные алгоритмы Заранее спасибо Определите, сколько символов * выведет

эта процедура при вызове F(6):procedure F( n: integer );begin write('*'); if n >= 1 then begin write('*'); F(n-1); F(n-2); F(n-3); end;end;​
0 0
Перейти к ответам

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

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

Ответ:

 

Ответ: 49.

Объяснение:

Пер­вым дей­стви­ем про­це­ду­ра F(1) вы­ве­дет число 1. Далее про­це­ду­ра F(1) вы­зо­вет про­це­ду­ру F(n + 1), в ре­зуль­та­те вы­пол­не­ния ко­то­рой на экра­не по­явит­ся число n + 1 = 2. Про­це­ду­ра F(2) вы­зо­вет про­це­ду­ру F(3), ко­то­рая вы­ве­дет на экран число 3 и вы­зо­вет про­це­ду­ру F(4), ко­то­рая вы­ве­дет на экран число 4 и вы­зо­вет F(5), ко­то­рая вы­ве­дет на экран число 5.

После этого управ­ле­ние вернётся к про­це­ду­ре F(4), ко­то­рая начнёт вы­пол­нять сле­ду­ю­щий шаг сво­е­го ал­го­рит­ма, т. е. об­ра­тить­ся к про­це­ду­ре F(n + 3) = F(7). Про­це­ду­ра F(7) вы­ве­дет на экран число 7. Далее управ­ле­ние вернётся к про­це­ду­ре F(3). Рас­суж­дая ана­ло­гич­но при­хо­дим к вы­во­ду, что про­це­ду­ра F(3) до­пол­ни­тель­но вы­ве­дет на экран число 6, про­це­ду­ра F(2) — 5.

По­след­ним дей­стви­ем про­це­ду­ры F(1) будет вызов про­це­ду­ры F(n + 3) = F(4), ко­то­рая вы­ве­дет на экран числа 4, 5, 7.

Таким об­ра­зом, на экра­не будут числа 1, 2, 3, 4, 5, 7, 6, 5, 4, 5, 7. Их сумма равна 49.

 

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

Давайте разберемся, сколько символов "*" будет выведено при вызове F(6) с помощью данной рекурсивной процедуры.

  1. Сначала процедура F(6) выводит одну "*": *.

  2. Затем она вызывает F(5), F(4), и F(3).

  3. Для F(5) снова выводится одна "*": *.

  4. Затем F(5) вызывает F(4), F(3), и F(2).

  5. Для F(4) также выводится одна "*": *.

  6. Затем F(4) вызывает F(3), F(2), и F(1).

  7. Для F(3) снова выводится одна "*": *.

  8. Затем F(3) вызывает F(2), F(1), и F(0).

  9. Для F(2) снова выводится одна "*": *.

  10. Затем F(2) вызывает F(1), F(0), и F(-1).

  11. Для F(1) снова выводится одна "*": *.

  12. Затем F(1) вызывает F(0), и F(-1).

  13. Для F(0) снова выводится одна "*": *.

  14. Теперь F(0) и F(-1) не вызываются, так как они являются базовыми случаями.

Теперь давайте соберем все символы "*": * * * * * * * * * * * * * *.

Итак, при вызове F(6) будет выведено 15 символов "*".

0 0

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

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

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

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