Pular para o conteúdo

Diretoria de Ensino da Marinha · Marinha do Brasil 2013

Questão 24 — Programação: Java — Recursividade

Programação Java — Recursividade

Diretoria de Ensino da Marinha 2013 Superior

Marinha do Brasil · Professor do Magistério Superior — Tecnologia da Informação · Caderno Amarela

Gabarito disponível

Com relação a funções e procedimentos na linguagem JAVA, analise o programa abaixo desenvolvido no ambiente Netbeans 7.3:

public class Fibonacci {

static long f(int n) {
if (n < 2) {
return n;
} else {
return f(n - 1) + f(n - 2);
}
}
public static void main(String[] args) {
int i;
for (i = 0; i < 8; i++) { }
System.out.println (f(i));
}
}

Assinale a opção que apresenta o valor que será impresso pelo programa acima.
Selecione uma alternativa

Resolução comentada

Após o for vazio, i = 8; imprime f(8) = 21.

O for tem corpo vazio ({ }), então o println executa só uma vez, depois do laço, com i = 8. A sequência de Fibonacci é f(0)=0, f(1)=1, f(2)=1, f(3)=2, f(4)=3, f(5)=5, f(6)=8, f(7)=13, f(8)=21.

Análise das alternativas

18, 19, 20 e 22 não pertencem à sequência de Fibonacci. 13 seria f(7), mas aqui i vale 8.

Referência: Recursividade em Java; sequência de Fibonacci.

Resolução comentada do VaiConcursos.

Ver gabarito

Gabarito: D

Fonte: Gabarito preliminar: Gabarito CP-PMS/2013 — página 11