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


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

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

 

БейсикPython

DECLARE SUB F(n)

SUB F(n)

    IF n > 2 THEN

        PRINT n

        F(n - 3)

        F(n – 4)

    END IF

END SUB

def F(n):

    if n > 2:

        print(n)

        F(n - 3)

        F(n – 4)

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

procedure F(n: integer);

begin

    if n > 2 then begin

        writeln(n);

        F(n - 3);

        F(n – 4)

    end

end;

алг F(цел n)

нач

    если n > 2 то

        вывод n, нс

        F(n - 3)

        F(n – 4)

    все

кон

Си

void F(int n) {

    if (n > 2) {

        cout << n;

        F(n - 3);

        F(n – 4);

    }

}

 

 

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

Решение.

Число в процедуре выводится только при условии n ≥ 3, поэтому все F c аргументом меньше трёх можно не рассматривать. Промоделируем работу алгоритма, не выписывая F с аргументом меньше трёх.

F(10)

   F(7)

      F(4)

      F(3)

   F(6)

      F(3)

 

Сложим все числа, получим 33.

 

Ответ: 33.

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