Задание 1. Тип заданий 11: рекурсивные алгоритмы.
  • Задание:

    Ниже на записан алгоритм рекурсивной процедуры F:

    Pascal:
    Procedure F(n: integer);
    begin
    if n mod 2 = 0 then
       writeln(‘*’)
    else
       writeln(‘**’);
    if n>0 then
       F(n-1);
    end;

    Сколько символов "звёздочка" будет выведено на экран при вызове процедуры F(6)?

    В решении задания есть видеоразбор
  • Решение:

    Для начала давайте разберемся, в каком случае у нас выводится одна звездочка, а в каком — две.

    Из алгоритма видно, что одна звездочка выводится, если n — четное, и две — если n нечетное.

    При этом, если n > 0, процедура F(n) вызывает процедуру F(n-1).

    Давайте разберемся, какие процедуры будут вызваны при вызове процедуры F(6):

    F(6) -> F(5) -> F(4) -> F(3) -> F(2) -> F(1) -> F(0)

    В этой цепочке четные n встречаются четыре раза, а нечетные — три. То есть общее количество звездочек равно:

    4*1+3*2=10

    Ответ: 10

     

    Видеоразбор задания:

Поделиться:
 
Комментарии (0)

Нет комментариев. Ваш будет первым!

Перевести число из в Результат: 510 = 1012