Buscar

EngBas_4bim_ILP001Programacaodecomputadores_P5_GABARITO_1_

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

1 
 
AVALIAÇÃO PRESENCIAL 
CADERNO DE PERGUNTAS 
curso: Engenharia de Produção/ Engenharia de Computação bimestre: 4
o bimestre ano: 2018 | 1sem P5 
• Preencha atentamente o cabeçalho de TODAS AS FOLHAS DE RESPOSTA que você utilizar. 
• Ao término da prova, entregue apenas a folha de resposta ao aplicador. Leve este caderno de 
perguntas consigo. 
Boa prova! 
 
disciplina ILP001 - Programação de computadores 
 
Questão 1 (1,0 ponto) 
O que o seguinte método retorna? 
 
int misterio(int[] arr) { 
 int x = 0; 
 for (int i=arr.length-1; i>=0; i--) 
 if (arr[i] > arr[x]) x = i; 
 return(x); 
} 
 
a) O índice da primeira ocorrência do maior elemento no arranjo arr. 
b) O índice da primeira ocorrência do menor elemento no arranjo arr. 
c) O índice da última ocorrência do maior elemento no arranjo arr. 
d) O índice da última ocorrência do menor elemento no arranjo arr. 
e) O índice da última ocorrência do primeiro elemento do arranjo arr. 
 
 
Questão 2 (1,0 ponto) 
Qual a saída do seguinte código: 
 
public class ClasseX { 
 public int x = 0; 
 public int y = 0; 
 public ClasseX(int x, int y) { 
 x = x; 
 y = y; 
 } 
 
 public static void main(String[] args) { 
 ClasseX x = new ClasseX(2,3); 
 System.out.println(x.x+" e "+x.y); 
 } 
} 
 
a) 0 e 0 
b) 2 e 3 
c) 0 e 3 
d) 2 e 0 
e) Nenhuma das alternativas. 
 
CÓDIGO DA PROVA 
2 
 
Questão 3 (1,0 ponto) 
Que expressão matemática o código abaixo implementa? 
 
class Q3 { 
 static double misterio(double x, double y) { 
 double aux; 
 
 aux = Math.pow(x,2); 
 aux *= 2; 
 aux += Math.pow(y,2); 
 return(aux); 
 } 
} 
 
a) �𝑥𝑥2 + 𝑦𝑦2 
b) �2𝑥𝑥2 + 𝑦𝑦2 
c) �𝑥𝑥2 − 𝑦𝑦2 
d) �𝑥𝑥2 − 2𝑦𝑦2 
e) 2𝑥𝑥2 + 𝑦𝑦2 
 
Questão 4 (1,0 ponto) 
Considere duas matrizes A e B de iguais dimensões. Que código deve estar nas lacunas para que o método 
retorne o resultado de A - B? 
 
______ codigo(int[][] A, int[][] B) { 
 int[][] resp = new int[______][______]; 
 
 for (int i=0; i<A.length; i++) 
 for (int j=0; j<A[0].length; j++) 
 ________________________________ 
 
 return(resp); 
} 
 
a) int 
A.length 
A[0].length 
resp[i][j] = A[i][j] + B[i][j]; 
b) int[][] 
A.length 
A[0].length 
resp[i][j] = A[i][j] - B[i][j]; 
c) int[][] 
A.length 
B.length 
resp[i][j] = A[i][j] + B[i][j]; 
d) int[][] 
A.length 
A[0].length 
resp[i][j] = A[i][j] + 2*B[j][i]; 
e) int[][] 
A.length 
A[0].length 
resp = A[i][j] - B[i][j]; 
 
3 
 
Questão 5 (1,0 ponto) 
Qual o resultado impresso na tela pelo seguinte código? 
 
class Teste { 
 static double x1(int x) { 
 return(Math.pow(x,2)); 
 } 
 
 static double x2(int y) { 
 return(2*Math.sqrt(y) + x1(y)); 
 } 
 
 public static void main(String[] args) { 
 int z = 4; 
 System.out.println(x2(z)); 
 } 
} 
 
a) 28.0 
b) 20.0 
c) 25.0 
d) 18.0 
e) 22.0 
 
 
Questão 6 (1,0 ponto) 
Que valor deve ser colocado no lugar de X para que o código abaixo escreva “passou” na tela? 
 
class B { 
 static boolean x1(int a, int b, int x) { 
 return(!(a>=b) || (2*a>3*b) && (x==a)); 
 } 
 
 public static void main(String[] args) { 
 if (x1(3,2,X)) 
 System.out.println("passou"); 
 } 
} 
 
a) 3 
b) 2 
c) Qualquer valor serve. 
d) 4 
e) Não há valor possível. 
 
 
Questão 7 (1,0 ponto) 
Considere o método da bolha, para ordenação de arranjos. Complete o código abaixo de modo que o 
arranjo passado por parâmetro seja ordenado de modo crescente. 
 
static void bolha(int[] arr) { 
 for (int ult = arr.length-1; ult>0; ult--) 
 for (int i=0; i<_____; i++) 
 if (____________) { 
 _______________ 
 arr[i] = arr[i+1]; 
 _______________ 
 } 
} 
4 
 
a) ult 
arr[i] > arr[i+1] 
int aux = arr[i+1]; 
arr[i+1] = arr[i]; 
b) ult-1 
arr[i] < arr[i+1] 
arr[i] = aux; 
arr[i+1] = aux; 
c) ult 
arr[i] > arr[ult] 
arr[i] = arr[i+1]; 
arr[i+1] = arr[ult]; 
d) ult+1 
arr[i] < arr[i+1] 
int aux = arr[ult]; 
arr[i+1] = arr[i]; 
e) ult 
arr[i] > arr[i+1] 
int aux = arr[i]; 
arr[i+1] = aux; 
 
 
Questão 8 (1,0 ponto) 
Considere a seguinte classe e complete o código faltante, de modo que o método faça o que se pede em 
sua documentação (comentário acima dele). 
 
class Palavra { 
 String palavra; // a palavra em si 
 int letras; // número de letras 
 
 /** 
 Constrói o objeto. Recebe a palavra e seu número de letras, atualizando 
os parâmetros do objeto. 
 */ 
 Palavra(String palavra, int letras) { 
 _________________; 
 __________________; 
 } 
 
 /** 
 Retorna versão string do objeto, na forma: 
 
 <palavra> (<letras> letras) 
 */ 
 String str() { 
 return(______________); 
 } 
} 
 
a) palavra = palavra 
letras = letras 
palavra+" (letras "letras")" 
b) this.palavra = palavra 
letras = letras 
palavra+" ("+letras+" letras)" 
c) palavra = this.palavra 
letras = this.letras 
palavra+" (letras letras)" 
 
5 
 
d) this.palavra = palavra 
this.letras = letras 
palavra+" ("+letras+" letras)" 
e) palavra = palavra 
letras = letras 
palavra+" (letras "+letras)" 
 
 
Questão 9 (1,0 ponto) 
Com relação a construtores, assinale as afirmações corretas: 
 
I. this(), se usado, deve ser o primeiro comando do construtor. 
II. this() é uma referência ao próprio construtor de onde this() é chamado. 
III. Não há como usar this() e super() dentro do mesmo construtor. 
IV. this() pode ser chamado em qualquer lugar da classe. 
V. Uma classe pode conter quantos construtores se desejar. 
 
 
Questão 10 (1,0 ponto) 
Sobre buscas em arranjos, assinale as afirmações corretas: 
 
I. Busca binária é pelo menos tão boa quanto a sequencial. 
II. Busca binária e sequencial são equivalentes. 
III. Buscas binárias funcionam com qualquer tipo de arranjo. 
IV. Buscas sequenciais funcionam com qualquer tipo de arranjo. 
V. Buscas binárias funcionam apenas com arranjos ordenados. 
 
 
 
6 
 
GABARITO 
 
curso: Engenharia de Produção/ Engenharia de Computação bimestre: 4
o bimestre P5 
 
Disciplina: ILP001 - Programação de computadores 
 
Questão 1 
C 
 
Questão 2 
A 
 
Questão 3 
E 
 
Questão 4 
B 
 
Questão 5 
B 
 
Questão 6 
E 
 
Questão 7 
E 
 
Questão 8 
D 
 
Questão 9 
I, III e V. 
 
Questão 10 
I, IV e V.

Outros materiais