Informática, perguntado por kjdo7, 10 meses atrás

d) Mostre o passo-a-passo da execução da função recursiva abaixo até chegar ao
resultado final, considerando que a função seja chamada para o valor de n = 5.
int f(int n){
if (n == 0)
return 0;
if (n == 1)
return 1;
else
return(f(n-1)+ 3 * f(n-2));

Soluções para a tarefa

Respondido por takahashipk
1

Resposta:

Obs: não está muito claro a linguagem que está usando e se o código está com a sintaxe correta, vou tentar responder pela lógica de programação.

int f (int n){   -> f e n deverão ser um número inteiro

  if (n == 0)  -> "Se o valor de n for igual a zero" - 5 não é igual a 0 - falso, não irá retornar 0.

      return 0;

  if (n == 1)  -> "Se o valor de n for igual a 1" - 5 não é igual a 1 - falso, não irá retornar 1.

    return 1;

else  -> "Se Não, irá retornar abaixo(f( n-1 ) + 3 * f( n-2 )): " - verdadeiro

  return( f( n-1 ) + 3 * f( n-2 ) );

                              -> f( n-1 ) + 3 * f( n-2 )

                              -> trazendo valores para forma decimal:

                               -> (5-1) + 3 x (5-2)

                               -> 4 + 3 x 3

                                -> 4 + 9

 O output da função será 13


takahashipk: Qualquer dúvida por favor pode falar, espero ter ajudado.
Perguntas interessantes