Computação Múltipla Escolha

Considere o seguinte método: 1 public int result(int n) 2 { 3 if (n == 1) 4 return 2; 5 else 6 return 2 * result(n - 1); 7 } Que valor é devolvido por result(5)?

Considere o seguinte método:

1 public int result(int n)
2 {
3 if (n == 1)
4 return 2;
5 else
6 return 2 * result(n - 1);
7 }

Que valor é devolvido por result(5)?

  1. 16
  2. 64
  3. 8
  4. 2
  5. 32

Resolução completa

Explicação passo a passo

E
Alternativa E

Alternativa E

A questão apresenta um método recursivo que calcula uma potência de 2 baseada no parâmetro n. Para encontrar o valor retornado por result(5), precisamos acompanhar as chamadas da função até atingir o caso base.

Lógica do Código

O método result funciona da seguinte maneira:

  1. Caso Base: Se n for igual a 1, retorna 2.
  2. Passo Recursivo: Se n não for 1, retorna 2 multiplicado pelo resultado da chamada com n-1.

Isso significa que a função está calculando $2^n$. Vamos simular passo a passo para n = 5:

  • result(5) chama 2 * result(4)
  • result(4) chama 2 * result(3)
  • result(3) chama 2 * result(2)
  • result(2) chama 2 * result(1)
  • result(1) retorna 2 (chegou ao caso base)

Agora, fazemos a contagem regressiva substituindo os valores:

  • result(2) recebe 2 * 2 = 4
  • result(3) recebe 2 * 4 = 8
  • result(4) recebe 2 * 8 = 16
  • result(5) recebe 2 * 16 = 32

Conclusão

O valor final retornado é 32.

ChamadaValor RetornadoCálculo
result(1)2Caso base
result(2)4$2 \times 2$
result(3)8$2 \times 4$
result(4)16$2 \times 8$
result(5)32$2 \times 16$

Portanto, a alternativa correta é a e.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.