В начало страницы

Тема 16

Учитываемые варианты

Различие заданий

(Подсказка: для перехода к заданию нажмите на его название или на его линию.)

Максимальное допустимое различие в подтеме: 0.35. Выбрать другое: 0.5, 0.65.

Подтема 1

Задание 1.1 (ОСН-2016, №11307)

Варианты

Текст задания

Ниже записаны две рекурсивные функции, F и G:

function F(n: integer): integer;

 begin

  if (n > 2) then F := F(n - 1) + G(n - 1) + F(n-2)

 else

F := n;

 end;

function G(n: integer): integer;

 begin

  if (n > 2) then G := G(n - 1) + F(n - 1) + G(n-2)

 else

G := n;

 end;

Чему будет равно значение, вычисленное при выполнении вызова F(5)?

Подтема 2

Задание 2.1 (ДОСР-2015, №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)?

Задание 2.2 (ДЕМО-2016, №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)?

Подтема 3

Задание 3.1 (ДОСР-2016, №11112)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(n)

  IF n > 0 THEN

    PRINT "*"

    F(n - 1)

    F(n \ 3)

  END IF

END SUB

def F(n):

    if n > 0:

        print("*")

        F(n - 1)

        F(n // 3)

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

алг F(цел n)

нач

  если n > 0 то

    вывод "*"

    F(n - 1)

    F(div(n, 3))

  все

кон

procedure F(n: integer);

begin

  if n > 0 then

  begin

    writeln('*');

    F(n - 1);

    F(n div 3)

  end

end

Си

void F(int n)

{

  if (n > 0)

  {

    printf("*");

    F(n - 1);

    F(n / 3);

  }

}

 

 

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

Подтема 4

Задание 4.1 (ДОСР-2018, №15627)

Варианты

Текст задания ( )

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

 

БейсикPython

DECLARE SUB F(n)

SUB F (n)

    IF n > 0 THEN

        F(n \ 4)

        PRINT n

        F(n - 1)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n // 4)

        print(n)

        F (n - 1)

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

procedure F(n: integer);

begin

    if n > 0 then

    begin

        F(n div 4);

        write(n);

        F(n - 1);

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(div(n, 4))

        вывод n

        F(n - 1)

    все

кон

Си++

void F(int n){

    if (n > 0){

        F(n / 4);

        std::cout << n;

        F(n - 1);

    }

}

 

 

В качестве ответа укажите последовательность цифр, которая будет напечатана на экране в результате вызова F(5).

Задание 4.2 (ДЕМО-2017, №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)?

Задание 4.3 (ДОСР-2018, №15851)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F (n)

    IF n > 0 THEN

        F(n − 1)

        PRINT n

        F(n \ 4)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n − 1)

        print(n)

        F (n // 4)

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

procedure F(n: integer);

begin

    if n > 0 then

    begin

        F(n − 1);

        write(n);

        F(n div 4);

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(n − 1)

        вывод n

        F(div(n, 4))

    все

кон

Си++

void F(int n){

    if (n > 0){

        F(n − 1)

        std::cout << n;

        F(n / 4);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.4 (ДЕМО-2019, №16038)

Варианты

Текст задания ( )

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

 

БейсикPython

DECLARE SUB F(n)

SUB F(n)

    IF n > 0 THEN

        F(n − 1)

        PRINT n

        F(n − 2)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n − 1)

        print(n)

        F(n − 2)

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

procedure F(n: integer);

begin

    if n > 0 then begin

        F(n − 1);

        writeln(n);

        F(n − 2)

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(n − 1)

        вывод n

        F(n − 2)

    все

кон

Си++

void F(int n) {

    if (n > 0) {

        F(n − 1);

        std: :cout << n;

        F(n − 2);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.5 (ДОСР-2020, №25841)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(n)

    IF n > 0 THEN

        F(n − 3)

        PRINT n

        F(n \ 2)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n − 3)

        print(n, end='')

        F(n // 2)

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

procedure F(n: integer);

begin

    if n > 0 then

    begin

        F(n − 3);

        write(n);

        F(n div 2);

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(n − 3)

        вывод n

        F(div(n, 2))

    все

кон

Си++

void F(int n) {

    if (n > 0) {

        F(n − 3);

        std::cout << n;

        F(n / 2);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.6 (ДОСР-2020, №23909)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(n)

    IF n > 0 THEN

        PRINT n,

        F(n − 3)

        F(n \ 2)

    END IF

END SUB

def F(n):

    if n > 0:

        print(n, end='')

        F(n − 3)

        F(n // 2)

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

procedure F(n: integer);

begin

    if n > 0 then

    begin

        write(n);

        F(n − 3)

        F(n div 2);

    end

end;

алг F(цел n)

нач

    если n > 0 то

        вывод n

        F(n − 3)

        F(div(n, 2))

    все

кон

Си++

void F(int n) {

    if (n > 0) {

        std::cout << n;

        F(n − 3);

        F(n / 2);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.7 (ОСН-2020, №26954)

Варианты

Текст задания ( )

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

 

 

БейсикPython

SUB F(n)

    IF n > 0 THEN

         PRINT N

         F(n \ 3)

         F(n − 2)

    END IF

END SUB

 

def F(n):

    if n > 0:

        print(n)

        F(n // 3)

        F(n − 2)

 

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

procedure F(n: integer);

begin

    if n > 0 then begin

        write(n);

        F(n div 3);

        F(n − 2);

    end

end;

 

алг F(цел n)

нач

    если n > 0 то

        вывод n

        F(div(n,3))

        F(n − 2)

    все

кон

 

С++

void F (int n)

{

     if (n > 0) {

        std::cout << n;

        F (n / 3);

        F (n − 2);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.8 (ДЕМО-2018, №13738)

Варианты

Текст задания ( )

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

 

БейсикPython

DECLARE SUB F(n)

SUB F(n)

    IF n > 0 THEN

        PRINT n

        F(n - 3)

        F(n \ 3)

    END IF

END SUB

def F(n):

    if n > 0:

        print(n)

        F(n - 3)

        F(n // 3)

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

procedure F(n: integer);

begin

    if n > 0 then begin

        writeln(n);

        F(n - 3);

        F(n div 3)

    end

end;

алг F(цел n)

нач

    если n > 0 то

        вывод n, нс

        F(n - 3)

        F(div(n, 3))

    все

кон

Си++

void F(int n) {

    if (n > 0) {

        std: :cout << n;

        F(n - 3);

        F(n / 3);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(9). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.9 (ОСН-2018, №15979)

Варианты

Текст задания ( )

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

 

 

БейсикPython

SUB F(n)

    IF n > 2 THEN

         PRINT N

         F(n \ 2)

         F(n − 1)

    END IF

END SUB

 

def F(n):

    if n > 2:

        print(n)

        F(n // 2)

        F(n − 1)

 

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

procedure F(n: integer);

begin

    if n > 2 then begin

        write(n);

        F(n div 2);

        F(n − 1);

    end

end;

 

алг F(цел n)

нач

    если n > 2 то

        вывод n

        F(div(n,2))

        F(n − 1)

    все

кон

 

С++

void F (int n)

{

     if (n > 2) {

        std::cout << n;

        F (n / 2);

        F (n − 1);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.10 (ОСН-2020, №26983)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(n)

    IF n > 2 THEN

         F(n \ 2)

         F(n − 1)

         PRINT N

    END IF

END SUB

 

def F(n):

    if n > 2:

        F(n // 2)

        F(n − 1)

        print(n)

 

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

procedure F(n: integer);

begin

    if n > 2 then begin

        F(n div 2);

        F(n − 1);

        write(n);

    end

end;

 

алг F(цел n)

нач

    если n > 2 то

        F(div(n,2))

        F(n − 1)

        вывод n

    все

кон

 

С++

void F (int n)

{

     if (n > 2) {

        F (n / 2);

        F (n − 1);

        std::cout << n;

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.11 (ДОСР-2019, №18439)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(N)

    PRINT N

    IF N >= 2 THEN

        F(n – 2)

        F(n – 1)

        F(n – 2)

    END IF

END SUB

 

def F(n):

    print(n)

    if n >= 2:

        F(n – 2)

        F(n – 1)

        F(n – 2)

 

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

procedure F(n: integer);

begin

    write(n);

    if n >= 2 then begin

        F(n – 2);

        F(n – 1);

        F(n – 2)

    end

end;

 

алг F(цел n)

нач

    вывод n

    если n >= 2 то

        F(n – 2)

        F(n – 1)

        F(n – 2)

    все

кон

 

С++

void F(int n)

{

    std::cout << n;

    if (n >= 2) {

        F(n – 2);

        F(n – 1);

        F(n – 2);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(3). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.12 (ДЕМО-2020, №19060)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(n)

    PRINT n,

    IF n >= 3 THEN

        F(n \ 2)

        F(n - 1)

    END IF

END SUB

def F(n):

    print(n, end='')

    if n >= 3:

        F(n // 2)

        F(n - 1)

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

procedure F(n: integer);

begin

    write(n);

    if n >= 3 then

    begin

        F(n div 2);

        F(n - 1)

    end

end;

алг F(цел n)

нач

    вывод n

    если n >= 3 то

        F(div(n, 2))

        F(n - 1)

    все

кон

Си++

void F(int n) {

    std::cout << n;

    if (n >= 3) {

        F(n / 2);

        F(n - 1);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.13 (ДОСР-2019, №18080)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(N)

    PRINT N

    IF N >= 3 THEN

        F(n – 1)

        F(n – 2)

        F(n – 2)

    END IF

END SUB

 

def F(n):

    print(n)

    if n >= 3:

        F(n – 1)

        F(n – 2)

        F(n – 2)

 

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

procedure F(n: integer);

begin

    write(n);

    if n >= 3 then begin

        F(n – 1);

        F(n – 2);

        F(n – 2)

    end

end;

 

алг F(цел n)

нач

    вывод n

    если n >= 3 то

        F(n – 1)

        F(n – 2)

        F(n – 2)

    все

кон

 

С++

void F(int n)

{

    std::cout << n;

    if (n >= 3) {

        F(n – 1);

        F(n – 2);

        F(n – 2);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут показаны на экране при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.14 (ОСН-2019, №18713)

Варианты

Текст задания ( )

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

 

 

БейсикPython

SUB F(n)

    PRINT N

    IF n >= 3 THEN

         F(n − 1)

         F(n \ 2)

    END IF

END SUB

 

def F(n):

    print(n)

    if n >= 3:

         F(n − 1)

         F(n // 2)

 

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

procedure F(n: integer);

begin

    write(n);

    if n >= 3 then begin

        F(n − 1);

        F(n div 2);

    end

end;

 

алг F(цел n)

нач

    вывод n

    если n >= 3 то

        F(n − 1)

        F(div(n,2))

    все

кон

 

С++

void F (int n)

{

    std::cout << n;

     if (n >= 3) {

        F (n − 1);

        F (n / 2);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.15 (ОСН-2019, №18790)

Варианты

Текст задания ( )

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

 

 

БейсикPython

SUB F(n)

    PRINT N

    IF n >= 3 THEN

         F(n − 1)

         F(n − 1)

    END IF

END SUB

 

def F(n):

    print(n)

    if n >= 3:

         F(n − 1)

         F(n − 1)

 

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

procedure F(n: integer);

begin

    write(n);

    if n >= 3 then begin

        F(n − 1);

        F(n − 1);

    end

end;

 

алг F(цел n)

нач

    вывод n

    если n >= 3 то

        F(n − 1)

        F(n − 1)

    все

кон

 

С++

void F (int n)

{

    std::cout << n;

     if (n >= 3) {

        F (n − 1);

        F (n − 1);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.16 (ОСН-2019, №18817)

Варианты

Текст задания ( )

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

 

 

БейсикPython

SUB F(n)

    PRINT N

    IF n >= 6 THEN

         F(n − 1)

         F(n − 3)

    END IF

END SUB

 

def F(n):

    print(n)

    if n >= 6:

         F(n − 1)

         F(n − 3)

 

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

procedure F(n: integer);

begin

    write(n);

    if n >= 6 then begin

        F(n − 1);

        F(n − 3);

    end

end;

 

алг F(цел n)

нач

    вывод n

    если n >= 6 то

        F(n − 1)

        F(n − 3)

    все

кон

 

С++

void F (int n)

{

    std::cout << n;

     if (n >= 6) {

        F (n − 1);

        F (n − 3);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(8). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Задание 4.17 (ДЕМО-2015, №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)?

Задание 4.18 (ДОСР-2017, №13357)

Варианты

Текст задания ( )

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

 

БейсикPython

SUB F(n)

  PRINT n,

  IF n >= 3 THEN

    F(n - 1)

    F(n - 3)

  END IF

END SUB

def F(n):

    print(n)

    if n >= 3:

        F(n - 1)

        F(n - 3)

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

procedure F(n: integer);

begin

  write(n);

  if n >= 3 then

  begin

    F(n - 1);

    F(n - 3)

  end

end;

алг F(цел n)

нач

  вывод n

  если n >= 3 то

    F(n - 1)

    F(n - 3)

  все

кон

Си

void F(int n) {

    cout « n « endl;

    if (n >= 3) {

        F(n - 1);

        F(n - 3);

    }

}

 

 

Что выведет программа при вызове F(5)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

Подтема 5

Задание 5.1 (ОСН-2021, №37151)

Варианты

Текст задания ( )

Алгоритм вычисления значения функции F(n), где n — целое неотрицательное число, задан следующими соотношениями:

 

F(0) = 0, при n ≤ 1;

F(n) = F(n − 1) + 3n2, если n > 1 и при этом нечётно;

F(n) = n / 2 + F(n − 1) + 2, если n > 1 и при этом чётно.

 

Чему равно значение функции F(49)? В ответе запишите только целое число.

Задание 5.2 (ДЕМО-2021, №27413)

Варианты

Текст задания ( )

Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:

 

F(n) = 1 при n = 1;

F(n) = n + F(n − 1), если n — чётно;

F(n) = 2 × F(n − 2), если n> 1 и при этом n — нечётно.

 

Чему равно значение функции F(26)?

Задание 5.3 (ДОСР-2021, №36029)

Варианты

Текст задания ( )

Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:

 

F(1) = 1;

F(n) = n + F(n − 1), если n чётно;

F(n) = 2 · F(n − 2), если n > 1 и при этом нечётно.

 

Чему равно значение функции F(24)?