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

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

 

Бей­сикPython

SUB F(n)

    IF n > 2 THEN

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

    ELSE

        F = 1

    END IF

END SUB

def F(n):

    if n > 2:

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

    else: return 1

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

function F(n: integer): integer;

begin

    if n > 2 then

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

    else

        F := 1;

end;

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

нач

если n > 2

то

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

иначе

    знач := 1

все

кон

Си

int F(int n)

{

    if (n > 2)

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

    else return 1;

}

 

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

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

Ре­ше­ние.

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

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

Ответ: 5.

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