Buscar

EngProdComp 2017 ILP001Programacaodecomputadores P1 GABARITO

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 P1 
• 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=0; i<arr.length; 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) { 
 this.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 += Math.pow(y,2); 
 aux = Math.pow(aux,0.5); 
 return(aux); 
 } 
} 
 
a) �𝑥𝑥2 + 𝑦𝑦2 
b) �2𝑥𝑥2 + 𝑦𝑦2 
c) �𝑥𝑥2 − 𝑦𝑦2 
d) �𝑥𝑥2 − 2𝑦𝑦2 
e) �𝑥𝑥2 + 𝑦𝑦24 
 
 
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 2A + 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] = 2*A[i][j] + B[i][j]; 
b) int[][] 
A.length 
B.length 
resp[i][j] = 2*A[i][j] + B[i][j]; 
c) int[][] 
A.length 
A[0].length 
resp[i][j] = 2*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 = 2*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(3*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(2,3,X)) 
 System.out.println("passou"); 
 } 
} 
 
a) 2 
b) 3 
c) 4 
d) Qualquer valor serve. 
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 (____________) { 
 int aux = arr[i]; 
 _______________ 
 _______________ 
 } 
} 
4 
 
a) ult 
arr[i] > arr[i+1] 
arr[ult] = 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 
arr[i] > arr[i+1] 
arr[i] = arr[i+1]; 
arr[i+1] = aux; 
e) ult+1 
arr[i] < arr[i+1] 
arr[i] = arr[ult]; 
arr[i+1] = arr[i]; 
 
 
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 Automovel { 
 String marca; // marca (e modelo) do automóvel 
 int modelo; // ano do modelo 
 
 /** 
 Constrói o objeto. Recebe a marca (com modelo) e ano do modelo do carro, 
atualizando os parâmetros do objeto. 
 */ 
 Automovel(String marca, int modelo) { 
 _________________; 
 __________________; 
 } 
 
 /** 
 Retorna versão string do objeto, na forma: 
 
 <marca> (ano <modelo>) 
 */ 
 String str() { 
 return(______________); 
 } 
} 
 
a) marca = marca 
modelo = modelo 
marca+" (ano "modelo")" 
b) this.marca = marca 
this.modelo = modelo 
marca+" (ano "+modelo+")" 
c) marca = this.marca 
modelo = this.modelo 
marca+" (ano modelo)" 
d) this.marca = marca 
this.modelo = this.modelo 
marca+" (ano "+modelo+")" 
e) marca = marca 
modelo = modelo 
marca+" (ano "+modelo)" 
 
5 
 
Questão 9 (1,0 ponto) 
Com relação a construtores, assinale as afirmações que estão corretas: 
 
I. Não existem em todas as classes. 
II. Toda classe possui pelo menos um construtor. 
III. A definição de um construtor elimina o colocado como padrão pelo compilador. 
IV. Construtores podem ser chamados no código como um método comum. 
V. Construtores são rodados toda vez que acessamos um objeto. 
 
 
Questão 10 (1,0 ponto) 
Sobre a Busca Sequencial, assinale as afirmações que estão corretas: 
 
I. É mais lenta que a binária. 
II. Funciona em qualquer tipo de arranjo. 
III. Funciona apenas se o elemento buscado estiver no arranjo. 
IV. Funciona apenas em arranjos ordenados. 
V. É tão rápida quanto a binária. 
 
 
6 
 
GABARITO 
 
curso: Engenharia de Produção/ Engenharia de Computação bimestre: 4
o bimestre P1 
 
Disciplina: ILP001 - Programação de computadores 
 
Questão 1 
A 
 
Questão 2 
D 
 
Questão 3 
A 
 
Questão 4 
C 
 
Questão 5 
E 
 
Questão 6 
C 
 
Questão 7 
D 
 
Questão 8 
B 
 
Questão 9 
II, III 
A nota somente será atribuída se o aluno acertar todas as alternativas indicadas no gabarito. 
 
Questão 10 
I, II 
A nota somente será atribuída se o aluno acertar todas as alternativas indicadas no gabarito.

Continue navegando