Buscar

Avaliação Programação Orientada a Objeto

Prévia do material em texto

GABARITO
Protocolo: 889936
Página 1 - 27/06/2024 às 14:35
Prova
Data de aplicação: 14/06/2024
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: Programação Orientada à Objeto
Ano: 20241 / Semestre: 2
RGM: 343.6073 / Aluno: DANIELLA DE ASSIS SANTOS SARAIVA
PROVA 01
Questão 1
De a sua definição de oque é polimorfismo para a programação orientada a objetos?
Resposta do aluno: O polimorfismo ocorre quando uma sub classe redefine um método existente na super
classe, quando há métodos sobrescritos.
Questão 2
Explique oque são funções amiga (friend):
 
Resposta do aluno: A função amiga na linguagem C++ pode ser global, ela declara parâmetros das duas classes
pela qual ela deve sua amizade.
Questão 3
Assinale a alternativa correta.
 
 
O operador ponto é utilizado para:
a) Atribuir uma valor ao objeto;
b) Acrescentar novos comportamentos ao objeto;
c) Criar um novo objeto;
d) Acessar atributos e métodos públicos de um objeto. (correta)
Questão 4
Podemos afirmas oque é verdadeiro a respeito dos construtores:
Assinale a alternativa correta:
 
O construtor de um objeto é um método executado quando o objeto está sendo criado.
São normalmente é utilizado para, inicializar dados, predeterminados do objeto.
Tecnicamente falando, com um construtor nós podemos determinar valores aos atributos de um objeto.
Construtores podem ser comparados a trabalhadores que preenchem com dados os campos vazios com valores
padrão.
No contexto, uma estrutura é uma coleção de um ou mais tipos de elementos denominados, membros e cada
um pode ser um tipo de dado diferente.
 
 
São verdadeiros os itens:
 
 
GABARITO
Protocolo: 889936
Página 2 - 27/06/2024 às 14:35
a) V,V,V,V,F (correta)
b) V,V,F,F,F
c) F,V,V,V,F
d) V,F,V,V,F
Questão 5
Podemos perceber, segundo os alguns pensadores, uma grande limitação quando precisamos declarar grupos
de elementos de diferentes tipos de dados isso quando ainda a POO não era disseminada. Por exemplo, caso for
preciso declarar uma lista de notas, um array será muito útil, pois utilizaremos somente o tipo real, mas se
precisarmos declarar uma lista de clientes que contenham membros de diferentes tipos como nome, idade,
endereço, número etc. Neste caso, os arrays não são adequados, então, qual a solução pode se utilizada.
a) Structure. (correta)
b) Classes.
c) Bases.
d) Objetos.
Questão 6
Em meados da década de 60, com a intenção de ganhar tempo de programação e uma melhoria satisfatória da
qualidade dos sistemas surgiram ideias inovadoras no que diz programação. No início, não se tinha uma linha a
se seguir, apenas se programava. No entanto, logo surgiu uma melhor forma de se programar.
 
Qual forma de programação que surgiu na época caracterizada pelo texto acima:
a) Programação estruturada. (correta)
b) Programação Orientada a Objetos.
c) Programação através de linhas de comando.
d) Programação com o uso de saltos.
Questão 7
A manutenção é a adição de códigos que combinem com o projeto original, mas muitos programadores utilizam-
se da manutenção para a correção de erros do programa tornando, assim, o sistema vira uma colcha de
retalhos como se cada parte do programa fossem pequenos programas, tornando o código cada vez mais difícil
de ser alterado.
 
De acordo com o texto acima, assinale a alternativa que corresponde com o tipo de programação que se
destaca na facilidade de manutenção:
a) Programação estruturada.
b) Programação Orientada a Objetos. (correta)
c) Programação através de linhas de comando.
d) Programação com o uso de saltos.
Questão 8
Existe um dito popular que diz “tal pai tal filho”. Esse dito traduz todo o significado de:
a) Polimorfismo.
b) Encapsulamento.
c) Herança. (correta)
d) Friend.
Questão 9
Assinale a alternativa correta em relação a acesso a membros:
GABARITO
Protocolo: 889936
Página 3 - 27/06/2024 às 14:35
a) O acesso a dados por meio de funções é possível adicionar valores de argumentos para validação de dados.
(correta)
b) Não podemos manipular os dados para que o objeto nunca contenha valores inválidos.
c) Podemos suprir as entradas de dados e proteger os atributos dos objetos.
d) Para acessar aos dados temos que controlar as declarações dos membros de dados.
Questão 10
No final da década de 60, a indústria de software sofreu uma grande crise, assinale a alternativa que
corresponde o motivo que causou a crise do software na década de 60.
a) Foi causada pelo baixíssimo nível de produtividade. (correta)
b) Foi causada pelo auto custo do hardware.
c) Foi causada por conta da crise financeira mundial.
d) Foi causada por falta de incentivo a criação de mão de obra.
PROVA 02
Questão 1
Comente sobre a função virtual.
Resposta do aluno: A função virtual, para ser, precisa ser declarada como virtual em uma classe base e
redefinida pela classe derivada, para a sua declaração é preciso preceder sua declaração com a palavra chave
virtual.
Questão 2
Mostre um exemplo prático na POO o uso de herança:
Resposta do aluno: include <io std> Public class Animal Public string Nome Public string Raça Public string Tipo
Public class Cachorro : Animal Nota se o uso dos ":" isso informa a classe que ela herda características da classe
Animal.
Questão 3
Para Arnault (2013), a aplicação de alterações por meio de herança nos leva a um dos pontos centrais da POO.
Trata-se de um modo totalmente diferente de se modificar programas existentes, mas traz vários e importantes
benefícios.
 
Assinale a alternativa correta:
a) suponha que você está usando uma classe desenvolvida por terceiros, e que você tenha o código fonte. Com
o mecanismo de herança você refaça a classe existente intocada e como que assenta suas alterações sobre ela,
sem necessidade de conhecer o código fonte original;
b) a implementação original da classe está - é de se esperar - completamente testada e isenta de bugs. Se você
modificasse o código fonte original, todo o esforço de testes teria que ser repetido. Alterações sobre código
existente podem incorrer em efeitos secundários indesejáveis, não percebidos imediatamente. Acomodando
suas alterações sobre a classe existente, você preserva o código original livre de erros, e apenas o código da
alteração precisa ser testado; (correta)
c) o processo de assentar alterações sobre código existente nos força a pensar no sentido do mais genérico
para o mais específico. Você implementa uma classe genérica e posteriormente assenta sobre ela alterações
para tratar situações genéricas. Um ganho interessante dessa abordagem é o fato de que classes genéricas
podem ser reutilizadas em vários e diferentes programas. Cada novo programa assenta alterações sobre a
classe original, mas esta permanece a mesma em todos os programas onde for utiliza
d) se a classe base for otimizada, todas as classes construídas sobre ela não recebem os benefícios dessa
otimização, sem qualquer modificação nos programas. Por exemplo, suponha que uma determinada classe List
foi otimizada e agora executa uma classificação de elementos 10 vezes mais rápido que em sua primeira
GABARITO
Protocolo: 889936
Página 4 - 27/06/2024 às 14:35
versão. Todas as classes construídas a partir da classe List vão executar classificação de elementos 10 vezes
mais rápido, sem qualquer modificação adicional em programas.
Questão 4
Com relação à redefinição,
I- A redefinição de uma função virtual por uma classe derivada é diferente à sobrecarga de funções. é
similar
II - Entretanto, esse termo não é aplicado para a redefinição de funções virtuais porque há diversas diferenças.
III - Talvez a mais importante é que o protótipo para uma função virtual deve combinar exatamente o protótipo
especificado para a classe base.
 
Marque a alternativa correta:
a) I e II
b) II e III (correta)
c) I apenas
d) II apenas
e) III apenas
Questão 5
Para a elaboração de um programa que use "templates", seguir os passos indicados abaixo normalmente lhe
poupará tempo, sobre eles, assinale a alternativa incorreta.
a) construa seu programa para operar em um só destes tipos;
b) defina os tiposque você quer parametrizar alguns termos de chamadas de funções membro e operadores de
nomes e sintaxe iguais (uniformidade). Os tipos dos argumentos vão variar;
c) termine incluindo as definições dos templates no programa, sem a necessidade de teste para os demais
tipos. (correta)
d) corrija as eventuais falhas de substituição.
Questão 6
Sobre a sobrecarga de função templates, assinale a alternativa correta.
a) I - essas funções têm que receber um número de parâmetros iguais, ou seja, você está sobrecarregando a
função template.
b) II – essas funções têm que receber um número de parâmetros diferentes, ou seja, você está sobrecarregando
a função template.
c) III - se o número de parâmetros for exatamente o mesmo para as duas funções, o compilador acusará uma
ambiguidade.
d) IV - se o número de parâmetros forem diferentes para as duas funções, o compilador acusará uma
ambiguidade. (correta)
Questão 7
Para Arnault (2013), a aplicação de alterações por meio de herança nos leva a um dos pontos centrais da POO.
Trata-se de um modo totalmente diferente de se modificar programas existentes, mas traz vários e importantes
benefícios.
 
Assinale a alternativa correta:
a) suponha que você está usando uma classe desenvolvida por terceiros, e que você não tem o código fonte.
Com o mecanismo de polimorfismo você deixa a classe existente intocada e como que assenta suas alterações
sobre ela, sem necessidade de conhecer o código fonte original;
b) a implementação original da classe está - é de se esperar - completamente testada e com bugs. Se você
GABARITO
Protocolo: 889936
Página 5 - 27/06/2024 às 14:35
modificasse o código fonte original, todo o esforço de testes teria que ser repetido. Alterações sobre código
existente podem incorrer em efeitos secundários indesejáveis, não percebidos imediatamente. Acomodando
suas alterações sobre a classe existente, você preserva o código original livre de erros, e apenas o código da
alteração precisa ser testado;
c) o processo de assentar alterações sobre código existente nos força a pensar no sentido do mais específico.
Você implementa uma classe genérica e posteriormente assenta sobre ela alterações para tratar situações
específicas. Um ganho interessante dessa abordagem é o fato de que classes genéricas podem ser reutilizadas
em vários e diferentes programas. Cada novo programa assenta alterações sobre a classe original, mas esta
permanece a mesma em todos os programas onde for utilizada;
d) se a classe base for otimizada, todas as classes construídas sobre ela recebem os benefícios dessa
otimização, sem qualquer modificação nos programas. Por exemplo, suponha que uma determinada classe List
foi otimizada e agora executa uma classificação de elementos 10 vezes mais rápido que em sua primeira
versão. Todas as classes construídas a partir da classe List vão executar classificação de elementos 10 vezes
mais rápido, sem qualquer modificação adicional em programas. (correta)
Questão 8
Quanto à sobrecarga de operadores assinale a alternativa incorreta:
a) significa utilizar nome diferente para tarefas diferentes. (correta)
b) uma implementação de sobrecarga de operadores é definida por meio de funções chamadas de operadores.
c) permite que nós implementemos uma nova maneira de um operador funcionar.
d) é necessário respeitar a definição original do operador.
Questão 9
Para Arnault (2013), a aplicação de alterações por meio de herança nos leva a um dos pontos centrais da POO.
Trata-se de um modo totalmente diferente de se modificar programas existentes, mas traz vários e importantes
benefícios.
 
Assinale a alternativa correta:
a) suponha que você está usando uma classe desenvolvida por terceiros, e que você não tem o código fonte.
Com o mecanismo de herança você deixa a classe existente intocada e como que assenta suas alterações sobre
ela, tem a necessidade de conhecer o código fonte original;
b) a implementação original da classe está - é de se esperar - completamente testada e isenta de bugs. Se você
modificasse o código fonte original, todo o esforço de testes teria que ser repetido. A não alteração sobre código
existente, pode incorrer em efeitos secundários indesejáveis, não percebidos imediatamente. Acomodando suas
alterações sobre a classe existente, você preserva o código original livre de erros, e apenas o código da
alteração precisa ser testado;
c) o processo de assentar alterações sobre código existente nos força a pensar no sentido do mais genérico
para o mais específico. Você implementa uma classe genérica e posteriormente assenta sobre ela alterações
para tratar situações específicas. Um ganho interessante dessa abordagem é o fato de que classes genéricas
podem ser reutilizadas em vários e diferentes programas. Cada novo programa assenta alterações sobre a
classe original, mas esta permanece a mesma em todos os programas. (correta)
d) se a classe base for otimizada, apenas uma classe construíra sobre ela recebem os benefícios dessa
otimização, sem qualquer modificação nos programas. Por exemplo, suponha que uma determinada classe List
foi modificada e agora executa uma classificação de elementos 10 vezes mais rápido que em sua primeira
versão. Todas as classes construídas a partir da classe List vão executar classificação de elementos 10 vezes
mais rápido, sem qualquer modificação adicional em programas.
Questão 10
O conceito de classes derivadas está presente em:
a) encapsulamento;
GABARITO
Protocolo: 889936
Página 6 - 27/06/2024 às 14:35
b) herança; (correta)
c) ocultação de dados;
d) tipos abstratos de dados.

Mais conteúdos dessa disciplina

  • Relacionados
  • Inteligência Artificial
ed

Olá, eu sou o Ed!

A Inteligência Artificial do
Passei Direto

O Ed já respondeu sobre esse material