Logo Passei Direto
Buscar

AV2_POO_2_2023_ProvaB_Gabarito_2023

Ferramentas de estudo

Questões resolvidas

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) O método “solicita_compra()” das classes “Peça” e “Veículo”.
C) Os atributos “aro: Integer” e “cor: String” da classe “Roda”.
D) O atributo “nome: String” da classe “Peça”.
E) O atributo “ano: Integer” da classe “Veículo.”

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.

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.

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.
Explique o que está ocorrendo no programa main() e mostre o que será impresso no terminal.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

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) O método “solicita_compra()” das classes “Peça” e “Veículo”.
C) Os atributos “aro: Integer” e “cor: String” da classe “Roda”.
D) O atributo “nome: String” da classe “Peça”.
E) O atributo “ano: Integer” da classe “Veículo.”

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.

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.

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.
Explique o que está ocorrendo no programa main() e mostre o que será impresso no terminal.

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

Mais conteúdos dessa disciplina