Baixe o app para aproveitar ainda mais
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.
Compartilhar