Buscar

Prova - P008 - Programação de Computadores 05-2021 - Univesp

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 5 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

Prévia do material em texto

GABARITO 
DISCIPLINA 
ILP001 - Programação de Computadores 
APLICAÇÃO 
26/05/2021 
CÓDIGO 
DA PROVA P008 
 
QUESTÕES OBJETIVAS 
 
Questão 1.1 
Considere o programa a seguir: 
class Questao { 
 public static void main(String[] args) { 
 int a = 15; 
 System.out.println(a--); 
 System.out.println(++a); 
 } 
} 
 
Assinale V para verdadeiro e F para falso: 
( ) O código não possui erro de sintaxe. 
( ) O programa irá imprimir os números 15 e 15. 
( ) O programa irá imprimir os números 15 e 14. 
( ) O programa irá imprimir os números 15 e 16. 
 
A sequência correta de respostas é: 
a) V – V – F – F 
b) V – F – V – F 
c) V – F – F – V 
d) F – V – V – F 
e) F – F – V – V 
 
RESOLUÇÃO 
A resposta correta é: V – V – F – F 
 
Justificativa 
O programa não possui erro de sintaxe. 
O resultado é 15 e 15, pois o a-- faz com que primeiro o valor de a seja impresso e depois 
decrementado; já ++a faz com que primeiro o valor de a seja incrementado e depois impresso. 
 
 
Questão 1.2 
Considere o programa a seguir: 
class Questao { 
 public static void main(String[] args) { 
 int num = 1; 
 while(num <= 4) { 
 switch(num) { 
 
 
 case 1: System.out.print("a"); break; 
 case 2: System.out.print("b"); 
 case 3: System.out.print("c"); break; 
 default: System.out.print("d"); 
 } 
 num++; 
 } 
 } 
} 
 
Assinale V para verdadeiro e F para falso: 
( ) O programa acima irá imprimir: abccd 
( ) O programa acima irá imprimir: abcd 
( ) O programa acima irá imprimir: a 
 
A sequência correta de respostas é: 
a) V – F – F 
b) V – V – F 
c) V – F – V 
d) F – V – F 
e) F – V – V 
 
RESOLUÇÃO 
A resposta correta é: V – F – F 
 
Justificativa 
Na primeira iteração (num = 1), o programa imprime a. 
Na segunda iteração (num = 2), o programa imprime bc. 
Na terceira iteração (num = 3), o programa imprime c. 
Na quarta iteração (num = 4), o programa imprime d. 
 
 
Questão 1.3 
Considere o programa a seguir: 
class Localizacao { 
 float latitude, longitude; 
 
 Localizacao(float lat, float lon) { 
 this.latitude = lat; 
 this.longitude = lon; 
 } 
 
 public static void main(String[] args) { 
 Localizacao loc1 = new Localizacao(1,2); 
 Localizacao loc2 = new Localizacao(1,2); 
 } 
} 
 
 
 
Assinale V para verdadeiro e F para falso: 
( ) loc1 e loc2 possuem o mesmo endereço de memória. 
( ) O código, ao ser compilado, não irá gerar erro. 
( ) A classe possui dois atributos e um construtor. 
( ) Ao alterar loc2.latitude, automaticamente loc1.latitude também será alterado. 
 
A sequência correta de respostas é: 
a) V – V – V – F 
b) V – F – V – F 
c) V – F – F – V 
d) F – V – V – F 
e) F – F – V – V 
 
RESOLUÇÃO 
A resposta correta é: F – V – V – F 
 
Justificativa 
loc1 e loc2 possuem endereços de memória diferentes. 
loc1 e loc2 são dois objetos diferentes, e cada um possui dois atributos separados. 
 
 
Questão 1.4 
Considere o programa a seguir: 
class Questao { 
 public static void main(String[] args) { 
 String str1 = new String("ola"); 
 String str2 = "ola classe"; 
 String str3 = str1 + " classe"; 
 if(str1 == str3) System.out.print("a"); 
 if(str2 == str3) System.out.print("b"); 
 if(str2.contains(str1)) System.out.print("c"); 
 } 
} 
 
Assinale V para verdadeiro e F para falso: 
( ) O programa acima irá imprimir: ac 
( ) O programa acima irá imprimir: c 
( ) O programa acima irá imprimir: b 
 
A sequência correta de respostas é: 
a) V – V – F 
b) V – F – F 
c) V – F – V 
d) F – V – F 
e) F – F – V 
 
 
RESOLUÇÃO 
A resposta correta é: F – V – F 
 
Justificativa 
No primeiro e segundo casos, as comparações irão retornar falso, pois os objetos str1, str2 e str3 
apontam para áreas de memória diferentes. No terceiro caso, a resposta será verdadeira, pois str2 
contém a substring str1. 
 
 
Questão 1.5 
Considere o programa a seguir: 
 
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); 
 } 
} 
 
Assinale V para verdadeiro e F para falso: 
 
( ) 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 de respostas é: 
a) V – V – V – F 
b) V – V – F – F 
c) V – F – F – V 
d) F – V – V – F 
e) F – F – V – V 
 
RESOLUÇÃO 
A resposta correta é: V – F – F – V 
 
Justificativa 
O programa possui erro de sintaxe (chaves e aspas). 
O programa não irá imprimir nada. 
O programa não irá imprimir nada. 
O programa não cria nenhum objeto, p.e. Questao q = new Questao(); 
 
 
 
Questão 1.6 
Considere o programa a seguir: 
 
class Questao { 
 public static void main(String[] args) { 
 int num = 225; 
 if(num % 2 == 0) { 
 System.out.print("a"); 
 } 
 else if(num % 3 == 0) { 
 System.out.print("b"); 
 } 
 else if(num % 5 == 0) { 
 System.out.print("c"); 
 } 
 else if(num % 7 == 0) { 
 System.out.print("d"); 
 } else { 
 System.out.print("e"); 
 } 
 } 
} 
 
Assinale V para verdadeiro e F para falso: 
( ) O programa acima irá imprimir: e 
( ) O programa acima irá imprimir: c 
( ) O programa acima irá imprimir: b 
 
A sequência correta de respostas é: 
a) V – V – V 
b) V – V – F 
c) V – F – F 
d) F – F – V 
e) F – F – F 
 
RESOLUÇÃO 
A resposta correta é: F – F – V 
 
Justificativa 
O número é divisível por 3, 5 e 7. Porém, por causa do else em cada if, somente a letra b será impressa.

Continue navegando