FC ConcursosFC Concursos

Questão FC266311

A passagem de parâmetros e a recursividade são conceitos fundamentais na programação. Analise o seguinte código em JavaScript e marque a alternativa que apresenta a saída da consol

Questões sem classificação de assunto (TI - Desenvolvimento de Sistemas)

IDECAN · 2024

A passagem de parâmetros e a recursividade são conceitos fundamentais na programação. Analise o seguinte código em JavaScript e marque a alternativa que apresenta a saída da console.

 

function fun(n) 1
      if (n< 0) [
          return 'X';
     }
     if (n === 0) f
         return 5;
      }
      return n * fun(n - 2) - 4;
}
console. log(fun(6));


  1. -76
  2. 240
  3. 116
  4. 120
  5. -1348
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A chamada fun(6) segue a regra recursiva até atingir a base em n = 0. A cada chamada o parâmetro é reduzido em 2, então temos três níveis até a base: n = 6, 4, 2, 0.

Primeiro identifique a condição de parada: \(fun(0)=5\). A partir daí calcule de baixo para cima:

\(fun(2)=2\cdot fun(0)-4=2\cdot5-4=6\)

\(fun(4)=4\cdot fun(2)-4=4\cdot6-4=20\)

\(fun(6)=6\cdot fun(4)-4=6\cdot20-4=120-4=116\)

Portanto, a função aplica a recursão com passo -2 até a base e depois resolve as operações multiplicativas e subtrativas na volta da pilha, resultando em 116.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo