Buscar

AV2_POO_2_2023_ProvaB_Gabarito_2023

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

INFORMAÇÕES SOBRE A AVALIAÇÃO
AV2 AVALIAÇÃO - 20 PONTOS - Teórica
INFORMAÇÕES DOCENTE
CURSO:
ADS/SI/C.Comp.
DISCIPLINA:
POO TURNO
MANHÃ TARDE NOITE PERÍODO/
SALA:
X
PROFESSOR (A): Michelle Hanne Soares de Andrade
INFORMAÇÕES DISCENTE
ALUNO(A): RA:
DATA: NOTA:
INSTRUÇÕES:
1) Respostas deverão ser NECESSARIAMENTE registradas à caneta azul ou preta, de corpo transparente. Respostas à 
lápis e com caneta ”escreve e apaga” não serão corrigidas.
2) Caso seja identificada rasura ou duplo preenchimento da questão objetiva, a questão será anulada.
3) Nas questões discursivas, quando aplicável/necessário, deve ser apresentada a memória dos cálculos (ou o raciocínio 
desenvolvido).
4) Desenvolva a prova discursiva com letra legível. Caso a caligrafia impossibilite o entendimento do conteúdo, o 
mesmo não será corrigido.
5) Não será permitido o uso de celulares, relógios digitais ou de qualquer outro aparelho eletrônico durante a realização 
da prova, exceto o uso de calculadora portátil no caso de disciplinas que a autorizam.
6) Será eliminado do processo avaliativo, com atribuição de nota 0 (zero), o aluno que, durante a prova, utilizar meios 
ilícitos, como por exemplo: comunicação com outros alunos, consulta a qualquer tipo de material extraprova e uso de 
aparelhos eletrônicos não autorizados. Também não poderá haver empréstimo de qualquer material. 
Boa Prova!
Gabarito para as questões de múltipla escolha
Questões 01 a 05 - Múltipla Escolha – Valor: 3 pontos cada questão
Alternativas Questão 01 Questão 02 Questão 03 Questão 04 Questão 05
A x x
B
C x
D x
E x
1
Questão 1) De acordo com o diagrama de classes UML, assinale a
alternativa que se relaciona diretamente com o conceito de
Polimorfismo da Programação Orientada a Objetos. 
a) A relação entre as classes “Veículo” e “Roda”.
b) Os atributos “aro: Integer” e “cor: String” da classe “Roda”.
c) O método “solicita_compra()” das classes “Peça” e “Veículo”.
d) O atributo “nome: String” da classe “Peça”.
e) O atributo “ano: Integer” da classe “Veículo”.
Questão 2) UML é uma linguagem padrão para desenvolver e
documentar projetos de software e permite que desenvolvedores
visualizem os produtos de seus trabalhos em diagramas
padronizados. Ela surgiu como proposta de ser uma linguagem para
modelagem de dados que usava diversos artefatos para representar o
modelo de negócio e um desses artefatos é o diagrama de classe.
Pressman, R. S. Engenharia de Software. 6 ed. Porto Alegre:
Bookman, 2006 (adpatado).
Se um projeto não tem a documentação apropriada, ou se está com a
documentação desatualizada, uma opção é a engenharia reversa que
possibilita mapear códigos para diagramas UML. A seguir, é
apresentado um código na linguagem de programação JAVA.
2
Utilizando a engenharia reversa nesse trecho de código, o diagrama
UML de Classes correspondente é
3
4
Questão 3) O paradigma de programação orientada a objetos
envolve a identificação e abstração de entidades, de acordo com o
escopo de um sistema. Selecione a alternativa que mostra um tipo de
relacionamento estrutural que especifica quais objetos de uma classe
estão conectados a objetos de outra.
a) Encapsulamento
b) Composição
c) Generalização
d) Associação
e) Agregação.
Questão 4) A herança, na programação orientada a objetos, é uma
forma de reutilização de software em que uma nova classe é criada
absorvendo membros de uma classe existente e aprimorada com
capacidades novas ou modificadas, introduzindo uma de suas
principais capacidades. Em relação à herança, assinale a afirmativa
correta.
a) A classe existente é chamada de subclasse; e a nova classe de
superclasse.
b) Uma de suas desvantagens é que uma subclasse não pode
adicionar os seus próprios campos e métodos.
c) Para evitar inconsistências durante o desenvolvimento de
sistemas, jamais um objeto de uma classe pode ser um objeto
de outra classe.
d) As relações de herança não formam estruturas hierárquicas,
uma vez que são classificadas como estruturas puramente
lineares, ou seja, todas as classes estão sempre no mesmo
nível.
e) Com a herança, o programador pode economizar tempo
durante o desenvolvimento de um programa.
Questão 5) Programação orientada a objetos é um paradigma de
programação baseado no conceito de objetos. Considerando as
estruturas utilizadas na programação orientada a objetos, relacione
adequadamente as colunas a seguir.
1. Classe. 2. Objeto. 3. Método. 4. Atributo.
( ) Define-se dentro de uma classe para descrever o comportamento
de um objeto. Programadores podem reutilizar ou manter a
funcionalidade encapsulada dentro de um objeto.
( ) Tipo de dados definido pelo usuário que atua como um modelo
para objetos, atributos e métodos individuais
( ) Define-se na classe e representa o estado de um objeto; pertence
à própria classe.
5
( ) Instância de uma classe criada com dados definidos; pode
corresponder a objetos do mundo real ou a uma entidade abstrata.
A sequência está correta em
a) 3, 1, 4, 2.
b) 1, 3, 2, 4.
c) 3, 2, 1, 4.
d) 2, 4, 3, 1.
e) 4, 1, 2, 3.
Questão 6) Em linguagens orientadas a objetos, o polimorfismo
refere-se à ligação tardia de uma chamada a uma ou várias
implementações diferentes de um método em uma hierarquia de
herança. (5 pontos)
Neste contexto, considere as seguintes classes descritas na
Linguagem Java.
public class PosComp1 {
 public int Calcula() {
 return 1;
 }
}
public class PosComp2 extends PosComp1 {
 @Override
 public int Calcula() {
 return 2;
 }
}
public class PosComp3 extends PosComp2 {
 @Override
 public int Calcula() {
 return 3;
 }
}
Se estas classes forem utilizadas a partir do programa main a seguir:
public class Main {
 public static void main(String[] args) {
 int Result = 0;
 PosComp1[] Objs = new PosComp1[3];
 Objs[0] = new PosComp1();
 Objs[1] = new PosComp2();
 Objs[2] = new PosComp3();
 
 for (int i = 0; i < 3; i++) {
 Result += Objs[i].Calcula();
 }
6
 
 System.out.println(Result);
 }
}
Explique o que está ocorrendo no programa main() e mostre o que
será impresso no terminal.
A saída do programa será "6".
Isso ocorre porque o programa cria um array de objetos do tipo 
PosComp1 chamado Objs. Em seguida, três objetos são instanciados: um 
objeto PosComp1, um objeto PosComp2 e um objeto PosComp3.
Em seguida, o programa entra em um loop que itera sobre os 
elementos do array Objs e chama o método Calcula() de cada objeto. O 
método Calcula() é polimórfico, o que significa que sua implementação
é determinada pelo tipo real do objeto.
Nesse caso, o método Calcula() retorna 1 para o objeto PosComp1, 2 para 
o objeto PosComp2 e 3 para o objeto PosComp3.
O resultado de cada chamada ao método Calcula() é somado à 
variável Result. No final do loop, o valor final de Result é 6.
Finalmente, o programa imprime o valor de Result (que é 6) na saída 
padrão.
7
8

Continue navegando