СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости


Задания
Версия для печати и копирования в MS Word
Задание 11 № 7459

Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ре­кур­сив­ный ал­го­ритм F.

 

Бей­сикPython

SUB F(n)

    PRINT n

    IF n < 5 THEN

        F(n + 1)

        F(n + 3)

    END IF

END SUB

def F(n):

    print(n)

    if n < 5:

        F(n + 1)

        F(n + 3)

Пас­кальАл­го­рит­ми­че­ский язык

procedure F(n: integer);

    begin

        writeln(n);

        if n < 5 then

            begin

                F(n + 1);

                F(n + 3)

            end

    end

алг F(цел n)

нач

вывод n, нс

если n < 5 то

    F(n + 1)

    F(n + 3)

все

кон

С++

void F(int n)

{

    cout << n << endl;

    if (n < 5) {

        F(n + 1);

        F(n + 3);

    }

}

 

Чему равна сумма всех чисел, на­пе­ча­тан­ных на экра­не при вы­пол­не­нии вы­зо­ва F(1)?

Решение.

Первым действием процедура 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.

 

Ответ: 49.

Источник: Де­мон­стра­ци­он­ная версия ЕГЭ—2015 по информатике.