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


Каталог заданий.
Программы с двумя рекурсивными функциями с текстовым выводом

Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word
1
Задание 11 № 8099

Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.

 

БейсикPython

DECLARE SUB F(n)

DECLARE SUB G(n)

 

SUB F(n)

    IF n > 0 THEN G(n - 1)

END SUB

 

SUB G(n)

    PRINT "*"

    IF n > 1 THEN F(n - 2)

END SUB

def F(n):

    if n > 0:

        G(n - 1)

 

def G(n):

    print("*")

    if n > 1:

        F(n - 2)

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

procedure F(n: integer); forward;

procedure G(n: integer); forward;

 

procedure F(n: integer);

begin

    if n > 0 then

        G(n - 1);

end;

 

procedure G(n: integer);

begin

    writeln('*');

    if n > 1 then

        F(n - 2);

end;

алг F(цел n)

нач

    если n > 0 то

        G(n - 1)

    все

кон

алг G(цел n)

нач

    вывод "*"

    если n > 1 то

        F(n - 2)

    все

кон

Си

void F(int n);

void G(int n);

 

void F(int n){

    if (n > 0)

         G(n - 1);

}

 

void G(int n){

    printf("*");

    if (n > 1)

         F(n - 2);

}

 

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

Источник: ЕГЭ 05.05.2015. До­сроч­ная волна.

2
Задание 11 № 9362

Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.

 

БейсикPython

DECLARE SUB F(n)

DECLARE SUB G(n)

 

SUB F(n)

    IF n > 0 THEN G(n - 1)

END SUB

 

SUB G(n)

    PRINT "*"

    IF n > 1 THEN F(n - 3)

END SUB

def F(n):

    if n > 0:

        G(n - 1)

def G(n):

    print("*")

    if n > 1:

        F(n - 3)

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

procedure F(n: integer); forward;

procedure G(n: integer); forward;

 

procedure F(n: integer);

begin

    if n > 0 then

        G(n - 1);

end;

 

procedure G(n: integer);

begin

    writeln('*');

    if n > 1 then

        F(n - 3);

end;

алг F(цел n)

нач

    если n > 0 то

        G(n - 1)

    все

кон

 

алг G(цел n)

нач

    вывод "*"

    если n > 1 то

        F(n - 3)

    все

кон

Си

void F(int n);

void G(int n);

 

void F(int n){

    if (n > 0)

        G(n - 1);

}

 

void G(int n){

    printf("*");

    if (n > 1)

        F(n - 3);

}

 

 

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

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

Пройти тестирование по этим заданиям