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

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

 

Бей­сикPython

FUNCTION F(n)

    IF n > 2 THEN

        F = F(n - 1) + F(n-2)

    ELSE

        F = n

    END IF

END FUNCTION

def F(n):

    if n > 2:

        return F(n-1)+ F(n-2)

    else: return n

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

function F(n: integer): integer;

     begin

        if n > 2 then

            F := F(n - 1) + F(n - 2)

        else

            F := n;

    end;

алг цел F(цел n)

нач

если n > 2

то

    знач := F(n - 1)+F(n - 2)

иначе

    знач := n

все

кон

Си

int F(int n)

{

    if (n > 2)

        return F(n-1) + F(n-2);

    else return n;

}

 

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

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

Ре­ше­ние.

Зна­че­ние, вы­чис­лен­ное ал­го­рит­мом при вы­зо­ве F(5) равно:

F(5) = F(4) + F(3) = F(3) + F(2) + F(2) + F(1) = F(2) + F(1) + 2 + 2 + 1 = 8.

Ответ: 8.

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