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