Apresentações, Bibliografias, Referências, Resumos, Dicas, Mind Maps (Mapas Mentais), Simulados, Provas Comentadas, tudo que você precisa para ser aprovado em Concurso Público.

sexta-feira, 4 de janeiro de 2008

Questões Comentadas - Java

(Cesgranrio 2007) 60. Observe o fragmento do código JAVA a seguir:

public class prova {

public prova() {

}

public static int d(int x) {

return x*2;

}

public static int e(int x) {

return x*5;

}

public static int fn(int x) {

if (x<1)

return 0;

else

return 4+fn(x-1);

}

public static int g(int y) {

return 10+fn(y)+e(y)+d(y);

}

public static void main(String[] args) {

System.out.println(g(5));

}

}

A execução do método main apresentará a saída:

A) 65 B) 61 C) 54 D) 45 E) 10


Alguém arrisca a resposta? Respondam e apontem o porquê da resposta fazendo um sucinto esquema para a explicação. A resposta publico em breve

Type rest of the post here

7 comentários:

Olavo disse...

Lá vai minha tentativa:

Método fn:
1a iteração
x = 5
x-1 = 4
4+(fn(4))

2a iteração
x = 4
x-1 = 3
4+(4+(fn(3)))

3a iteração
x = 3
x-1 = 2
4+(4+(4+(fn(2))))

4a iteração
x = 2
x-1 = 1
4+(4+(4+(4+(fn(1))))

5a iteração
x = 1
x -1 = 0
4+(4+(4+(4+(4+(fn(0)))))

6a iteração
x = 0 -> retorna 0

Resultado
4+4+4+4+4+0 = 20

Metodo e
5 * 5 = 25

Metodo d
5 * 2 = 10

Metodo g
10 + 20 + 25 + 10 = 65

Resposta: Letra A

JG disse...

Seria letra A?
01. 10 + fn(5) + e(5) + d(5)
02. 10 + (4 + fn(4)) + 5*5 + 5*2
03. 10 + (4 + (4 + fn(3))) + 25 + 10
04. 10 + (4 + (4 + (4+ fn(2)))) + 35
05. 45 + (4 + (4 + (4 + (4 + fn(1)))))
06. 45 + (4 + (4 + (4 + (4 + (4 + fn(0))))))
07. 45 + (4 + (4 + (4 + (4 + (4 + 0)))))
08. 45 + (4 + (4 + (4 + (4 + 4))))
09. 45 + (4 + (4 + (4 + 8)))
10. 45 + (4 + (4 + 12))
11. 45 + (4 + 16)
12. 45 + 20
13. 65

Thiago Fagury disse...
Este comentário foi removido pelo autor.
Mario disse...

Vou ser diferente acho que é a B:

1º g(5)
10+fn(5)+e(5)+d(5)
10+fn(5)+ (5*5) + (5*2)
10+fn(5)+25+10
45+fn(5)

2º fn(5)
4+fn(4)
4+4+fn(3)
4+4+4+fn(2)
4+4+4+4+fn(1)
4+4+4+4+0

45+16

Minha resposta 61...

Mario disse...

4+fn(4) 5
4+4+fn(3) 4
4+4+4+fn(2) 3
4+4+4+4+fn(1) 2
4+4+4+4+4+0 1

Retifico para resposta 65 , percebi meu erro.

Wagner disse...

Resposta A = 65;
fn(0) = 0
fn(1) = 4 + fn(0) = 4
fn(2) = 4 + fn(1) = 4 + 4 = 8
fn(3) = 4 + fn(2) = 4 + 8 = 12
fn(4) = 4 + fn(3) = 4 + 12 = 16
fn(5) = 4 + fn(4) = 4 + 16 = 20

10 + 20 + 25 + 10 = 65

Wagner disse...

Resposta A = 65;
fn(0) = 0
fn(1) = 4 + fn(0) = 4
fn(2) = 4 + fn(1) = 4 + 4 = 8
fn(3) = 4 + fn(2) = 4 + 8 = 12
fn(4) = 4 + fn(3) = 4 + 12 = 16
fn(5) = 4 + fn(4) = 4 + 16 = 20

10 + 20 + 25 + 10 = 65