SóProvas


ID
5445541
Banca
VUNESP
Órgão
EsFCEx
Ano
2021
Provas
Disciplina
Programação
Assuntos

Analise a seguinte função, elaborada na linguagem C de programação.

func_f(n)

int n;
{
int a, b;
if (n == 0)
return(1);
a = n – 1;
b = func_f(a);
return(n*b);
}
Caso, no programa principal, seja colocada a linha
printf(”%d”, func_f(4));
o valor impresso na saída padrão será:

Alternativas
Comentários
  • O examinador tentou dar uma complicada, mas a resolução questões recursivas seguem sempre o mesmo padrão.

     

    Primeiro monta as funções:

    f(4) = 4*f(3)

    f(3) = 3*f(2)

    f(2) = 2*f(1)

    f(1) = 1*f(0)

    f(0) = 1

     

    Depois resolve de trás pra frente:

    f(0) = 1

    f(1) = 1*1 = 1

    f(2) = 2*1 = 2

    f(3) = 3*2 = 6

    f(4) = 4*6 = 24

  • laço 1:

    4-1 = 3

    laço 2:

    3-1 = 2

    laço 3:

    2-1 = 1

    laço 4:

    1-1 = 0

    laço 5 (Saiu do laço)

    4x3 = 12

    4x2 = 8

    4x1 = 4

    4x0 = 0

    Somatório = 24