Задания
Версия для печати и копирования в MS Word
Тип Д16 № 8659
i

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

 

 

Бей­сикPython

SUB F(n)

    PRINT n

    IF n < 5 THEN

        F(n + 1)

        F(n + 2)

    END IF

END SUB

def F(n):

    print(n)

    if n < 5:

        F(n + 1)

        F(n + 2)

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

алг F(цел n)

нач

    вывод n, нс

    если n < 5 то

        F(n + 1)

        F(n + 2)

    все

кон

procedure F(n: integer);

begin

    writeln(n);

    if n < 5 then

    begin

        F(n + 1);

        F(n + 2)

    end

end

Си

void F(int n)

{

    cout << n;

    if (n < 5)

    {

        F(n + 1);

        F(n + 2);

    }

}

 

 

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

Спрятать решение

Ре­ше­ние.

Про­мо­де­ли­ру­ем ра­бо­ту ал­го­рит­ма:

F(2)

    F(3)

        F(4)

            F(5)

            F(6)

        F(5)

    F(4)

        F(5)

        F(6)

 

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

Раздел кодификатора ФИПИ: 1.5.3 Ин­дук­тив­ное опре­де­ле­ние объ­ек­тов