Buscar

Programação de Computadores UNIVESP provas SGA guias 2 bimestre 2019 20190703 - ILP001 - P001 - gabarito

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 de 6 
CADERNO DE PERGUNTAS 
Avaliação Regular 
CURSO Engenharia de Computação/Produção TURMA 2018.2 APLICAÇÃO 2º bim/2019 CÓDIGO DA PROVA 
P001 DISCIPLINA ILP001 – Programação de Computadores 
INSTRUÇÕES AO ALUNO 
1. É obrigatória a devolução deste caderno de questões ao término da prova. 
2. Está autorizada a entrada de alunos até 1 hora depois do início marcado da prova (início da prova: 18h). 
3. Você só poderá sair depois de transcorridas 1 hora e 15 minutos do início marcado da prova.
 
QUESTÕES OBJETIVAS 
 
Questão 1 (1,5 pontos) 
Dado o programa a seguir, assinale V (verdadeiro) ou F (falso): 
 
class Questao { 
 public static void main(String[] args) { 
 int x, y, z, res; 
 x = 2; 
 y = 4; 
 z = 6; 
 res = z + y/x; 
 System.out.println("Resultado: " + res); 
 } 
} 
 
(___) O código possui erro de sintaxe. 
(___) O programa irá imprimir a mensagem "Resultado: 5". 
(___) O programa irá imprimir a mensagem "Resultado: 7". 
(___) O programa não cria nenhum objeto. 
 
A sequência correta é: 
a) V – V – V – F 
b) V – V – F – F 
c) V – F – F – V 
d) F – F – V – V 
e) F – V – F – V 
 
Questão 2 (1,5 pontos) 
Dado o programa a seguir, assinale V (verdadeiro) ou F (falso): 
 
2 de 6 
class Questao { 
 public static void main(String[] args) { 
 int num = 225; 
 if(num % 2 == 0) { 
 System.out.print("a"); 
 } 
 if(num % 3 == 0) { 
 System.out.print("b"); 
 } 
 if(num % 5 == 0) { 
 System.out.print("c"); 
 } 
 if(num % 7 == 0) { 
 System.out.print("d"); 
 } else { 
 System.out.print("e"); 
 } 
 
(___) O programa acima irá imprimir: bce 
(___) O programa acima irá imprimir: c 
(___) O programa acima irá imprimir: b 
 
A sequência correta é: 
a) V – V – V 
b) V – V – F 
c) V – F – F 
d) F – F – V 
e) F – V – F 
 
Questão 3 (1,5 pontos) 
Dado o programa a seguir, assinale V (verdadeiro) ou F (falso): 
 
class Localizacao { 
 float latitude, longitude; 
 Localizacao() { 
 this(0,0); 
 } 
 Localizacao(float lat, float lon) { 
 latitude = lat; 
 longitude = lon; 
 } 
} 
 
(___) Ao criarmos um objeto com: Localizacao loc1 = new Localizacao(), teremos loc1.latitude = 
loc1.longitude. 
(___) O comando this(0,0) faz com que o objeto seja criado sem inicialização de atributos. 
3 de 6 
(___) A classe Localizacao tem dois atributos e dois construtores. 
(___) A palavra-chave this no código refere-se ao próprio objeto criado. 
 
A sequência correta é: 
a) V – F – V – V 
b) V – V – F – V 
c) V – F – F – V 
d) F – F – V – V 
e) F – V – F – V 
 
Questão 4 (1,5 pontos) 
Dado o programa a seguir, assinale V (verdadeiro) ou F (falso): 
 
class Questao { 
 public static void main(String[] args) { 
 String str1 = new String("string1"); 
 String str2 = "string1"; 
 String str3 = "string1"; 
 if(str1 == str2) System.out.print("a"); 
 if(str2 == str3) System.out.print("b"); 
 if(str1.equals(str2)) System.out.print("c"); 
 } 
} 
 
(___) O programa acima irá imprimir: a 
(___) O programa acima irá imprimir: c 
(___) O programa acima irá imprimir: bc 
 
A sequência correta é: 
a) V – V – F 
b) V – F – F 
c) F – F – V 
d) F – V – V 
e) V – F – V 
 
QUESTÕES DISSERTATIVAS 
 
Questão 5 (2,0 pontos) 
Crie uma classe em Java para representar um retângulo. Defina um construtor que deverá verificar se 
os lados são positivos. Caso não sejam, inicialize os atributos com valores padrão. Crie um método que 
calcula e retorna a área desse retângulo. 
 
Questão 6 (2,0 pontos) 
Considere a classe que você implementou na questão anterior. Deseja-se ordenar uma quantidade de 
retângulos pela sua área. Adicione um método estático na classe que recebe como parâmetro um 
vetor de retângulos, e ordene esse vetor pela área de cada retângulo. 
4 de 6 
GABARITO 
CURSO Engenharia de Computação/Produção TURMA 2018.2 APLICAÇÃO 2º bim/2019 CÓDIGO DA PROVA 
P001 DISCIPLINA ILP001 – Programação de Computadores 
 
QUESTÕES OBJETIVAS 
 
Questão 1 – ANULADA (pontuação atribuída a todos os alunos) 
Não há resposta correta (ordem das respostas: F – F – F - V). 
 
 
Questão 2 
A resposta correta é: c) V – F – F 
 
Justificativa 
O número é divisível por 3 e por 5. Como não é divisível por 7, a execução entra no else, que fará 
imprimir a letra e. 
 
 
Questão 3 
A resposta correta é: a) V – F – V – V 
 
Justificativa 
this(0, 0) faz com que ambos atributos sejam inicializados com 0. 
 
 
Questão 4 
A resposta correta é: c) F – F – V 
 
Justificativa 
No primeiro caso, a comparação irá retornar falso, pois tanto str1 como str2 apontam endereços 
diferentes na memória, apesar de possuírem o mesmo conteúdo. No segundo caso, a resposta será 
verdadeira, pois ambos objetos str2 e str3 apontam para a mesma área de memória (denominada 
String Pool). Por fim, no terceiro caso, a resposta será verdadeira, pois está sendo comparado o 
conteúdo das strings. 
 
 
5 de 6 
QUESTÕES DISSERTATIVAS 
 
Questão 5 
Uma solução para essa questão seria: 
 
class Retangulo { 
 float a, b; 
 
 Retangulo(float x, float y) { 
 if(x > 0 && y > 0) { 
 a = x; 
 b = y; 
 } else { 
 a = 1; 
 b = 1; 
 } 
 } 
 
 public float area() { 
 return a * b; 
 } 
} 
 
Rubricas | critérios de correção 
Sintaxe correta: 25% da pontuação 
Classe correta: 25% da pontuação 
Construtor correto: 25% da pontuação 
Método para calcular área: 25% da pontuação 
 
 
6 de 6 
Questão 6 
Usando a implementação da questão anterior, temos: 
 
class Retangulo { 
 float a, b; 
 
 Retangulo(float x, float y) { 
 if(x > 0 && y > 0) { 
 a = x; 
 b = y; 
 } else { 
 a = 1; 
 b = 1; 
 } 
 } 
 
 public float area() { 
 return a * b; 
 } 
 
 float compara(Retangulo r) { 
 if(r == null) return 1; 
 return (this.area()-r.area()); 
 } 
 
 static void ordena(Retangulo[] v) { 
 for (int ult = v.length-1; ult>0; ult--) { 
 for (int i=0; i<ult; i++) { 
 if (v[i].compara(v[i+1]) > 0) { 
 Retangulo aux = v[i]; 
 v[i] = v[i+1]; 
 v[i+1] = aux; 
 } 
 } 
 } 
 
 } 
} 
 
 
Rubricas | critérios de correção 
Sintaxe correta: 25% da pontuação 
Método para comparar objetos: 25% da pontuação 
Algoritmo de ordenação: 50% da pontuação 
Observação: o aluno poderá usar qualquer outro método de ordenação. Na solução acima usamos o 
BubbleSort.

Continue navegando