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));
- -76
- 240
- 116
- 120
- -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