Sei sulla pagina 1di 5

Universidade Federal de Minas Gerais Programao Modular

Instituto de Cincias Exatas 1 Semestre de 2017


Departamento de Cincia da Computao Prof. Douglas G. Macharet

Guia de Estudos Parte 1

1. Defina com suas palavras o que qualidade de software.

2. Cite alguns exemplos de possveis caractersticas de qualidade de software.

3. O que mtrica de qualidade e qual a sua finalidade em um software? Cite exemplos.

4. Em um processo de avaliao de software comum o uso de modelos de qualidade. Modelo de


qualidade uma ligao entre os fatores de qualidades externos de um software com as suas
mtricas apropriadas. A partir disso, crie um modelo de qualidade para os atributos externos:
facilidade de entendimento (understandability) e explique as mtricas escolhidas.

5. O que so Tipos Abstratos de Dados (TADs)? Qual a relao com POO?

6. Programao Orientadas a Objetos, em geral, possui um conceito importante chamado Classe. Por
meio delas possvel abstrair caractersticas de elementos existentes no mundo real e modelar de
forma que a mquina consiga interpretar essas caractersticas e realizar alguma tarefa. Baseado
nisso, descreva uma classe que represente um veculo.

7. Descreva os princpios fundamentais da orientao a objetos.

8. Quais dessas linguagens abaixo no utiliza o paradigma de orientao por objetos:

a. C++
b. Python
c. Java
d. C
e. Grovy

9. Na linguagem Java, existem quatro diferentes tipos de encapsulamento: private, protected,


package e public. Explique cada um deles, enfatizando suas diferenas e as situaes nas quais
cada um deve ser utilizado.

10. [TCE(PR) 2016 - Analista de Controle TI] Em se tratando de programao orientada por
objetos, o polimorfismo refere-se:

a. ao reconhecimento do comportamento variado de um mtodo, o que melhora o


aproveitamento do cdigo.
b. transmisso dos mtodos e atributos de um classe para suas subclasses, quando ad hoc.
c. variao das sadas de um mtodo com relao s entradas recebidas, caso em que
considerado universal.
d. ao uso em que um objeto faz dos recursos de outro objeto.
e. utilizao de mtodos especficos para manipular dados com proteo por meio de
encapsulamento.
11. [TRF 2016 - Tcnico Judicirio em Informtica] A anlise e o projeto orientado por objetos
modelam um sistema em termos de objetos, que tm propriedades e comportamentos, e de eventos,
que disparam operaes que mudam o estado dos objetos. Considere, abaixo, os fundamentos da
Orientao por Objetos:

I. Ato de empacotar ao mesmo tempo dados e objetos. O objeto esconde seus dados de outros
objetos e permite que os dados sejam acessados por intermdio de seus prprios mtodos.
Protege os dados do uso arbitrrio e no intencional. Separa a maneira como um objeto se
comporta da maneira como ele implementado.
I. Refere-se implementao de um tipo de objeto. Especifica uma estrutura de dados e as
operaes permissveis que se aplicam a cada um de seus objetos.
II. Pode ser real ou abstrato. Possui informaes (dados) e desempenha aes (funcionalidades).
qualquer coisa, real ou abstrata, a respeito da qual so armazenados dados e operaes.

Os conceitos OO indicados em I, II e III, respectivamente, so referentes :

a. Herana, Classe e Atributo.


b. Encapsulamento, Mtodo e Objeto.
c. Polimorfismo, Superclasse e Mtodo.
d. Encapsulamento, Classe e Objeto.
e. Herana, Mtodo e Atributo.

12. [DPE(RR) 2015 - Analista de Sistemas] Os dois paradigmas de programao amplamente


conhecidos so o paradigma orientado por objetos e o procedural. Na orientao por objetos,

a. ocorre herana mltipla quando uma superclasse herda caractersticas de mais de uma
subclasse.
b. a marca de um produto considerada uma classe, porm, o preo considerado um atributo.
c. uma classe pode conter vrios mtodos com o mesmo nome, se recebem parmetros
diferentes.
d. s permitido um construtor em cada classe, independente da linguagem de programao
utilizada.
e. um mtodo representa uma propriedade da classe, semelhante a um campo em uma tabela.

13. [TRE(PB) 2015 - rea de Apoio Especializado] Na orientao a objetos, no que se refere
sobrecarga de mtodos, um mtodo considerado sobrecarregado se:

a. tiver nome diferente de outros mtodos da mesma classe.


b. for pblico, esttico e receber mais de um parmetro.
c. tiver o mesmo nome de outro mtodo da mesma classe, mas receber parmetros diferentes.
d. tiver, em uma subclasse, o mesmo nome de um mtodo da superclasse.
e. a quantidade de parmetros que receber excede o limite permitido.
14. A linguagem de programao Java possui uma palavra chave, chamada static, que pode ser
utilizada tanto por atributos quanto por classe. Atributos/mtodos que utilizam essa palavra chave
possuem um comportamento diferente, no funcionamento de um objeto, em relao a
atributos/mtodos que no a utilizam. Baseado nisso, explique qual a caracterstica que essa
palavra chave proporciona aos mtodos/atributos que a utilizam, e em seguida, diferencie
mtodos/atributos estticos de no estticos, por meio de exemplo.

15. Explique a diferena existente entre interfaces e classes abstratas na orientao por objetos. Tente
ressaltar as situaes em que se deve usar uma ou outra.

16. [TRT(RS) 2015 - Analista Judirio em TI] O uso de herana pode otimizar o tempo de
desenvolvimento das aplicaes orientadas por objetos devido ao reaproveitamento de cdigo.
Quando se implementa herana

a. uma subclasse pode se tornar uma superclasse a qualquer momento, bastando para tanto que
se derive uma subclasse a partir dela.
b. a superclasse herda os atributos da subclasse, incluindo os atributos privados, pblicos e
protegidos.
c. mltipla na linguagem Java verso 6, a subclasse herda caractersticas de mais de uma
superclasse.
d. s possvel obter polimorfismo na aplicao se houver sobrecarga de mtodos.
e. os mtodos de uma superclasse no podem ser sobrescritos nas subclasses, porm, pode ser
sobrecarregados.

17. [TRE(RS) 2015 - Analista de Sistemas do Poder Judicirio] Considere o seguinte caso:

Observando o trmite de processos no tribunal, Marta percebeu que tanto advogados quanto juzes
realizavam anlises nos diversos pareceres constantes dos processos. Com sua experincia como
analista, ela deduziu que uma possvel informatizao dos processos poderia contemplar uma
classe chamada Advogado e outra chamada Juiz, tendo como base uma classe comum chamada
Pessoa, com um mtodo chamado AnalisarParecer. Este mtodo (definido na classe comum) se
comportaria de maneira diferente para as chamadas feitas a partir de uma instncia de Advogado
e para as chamadas feitas a partir de uma instncia de Juiz, em razo deles terem responsabilidades
diferentes em sua forma de analisar e opinar sobre os pareceres.

Pela provvel observao do mtodo e seu comportamento, o princpio da orientao por objetos
aplicvel no caso, fundamentalmente, :

a. a comunicabilidade.
b. o encapsulamento.
c. a visibilidade.
d. o polimorfismo.
e. a estereotipagem.
18. [POSCOMP 2015 - Adaptado] Considere o seguinte cdigo desenvolvido em Java.

public class Animal {


int numeroPatas;
public void fale (){};
}

public class Cao extends Animal {


public void fale() {
System.out.println ("au au");
}
}

public class Gato extends Animal {


public void fale() {
System.out.println ("miau");
}
}

public class GatoPersa extends Gato {


public void fale() {
System.out.println ("miauuuu");
}
}

public class Tigre extends Gato {


public void fale() {
super.fale();
System.out.println ("rrrrrr");
}
}

public class Principal {


public static void main(String[] args) {
Gato gato = new GatoPersa();
gato.fale();
Cao cao = new Cao();
cao.fale();
Tigre tigre = new Tigre();
tigre.fale();
}
}

Ao executar o cdigo, qual a sua sada no console? Mostre o rastreio do cdigo.


19. Marque V para as afirmativas verdadeiras e F para as alternativas falsas. As alternativas que forem
marcadas como falsas devem ser justificadas.

( ) Uma linguagem Orientada por Objetos precisa implementar quatro conceitos bsicos:
abstrao, encapsulamento, herana e polimorfismo.

( ) Atributos e mtodos podem ser reaproveitados atravs da herana, quando uma subclasse
herda as caractersticas de uma superclasse. Uma subclasse pode ter acesso aos membros de uma
superclasse, independente do modificador atribudo. O polimorfismo um recurso que permite a
uma subclasse reimplementar os mtodos herdados de uma superclasse, sendo este mtodos
abstrato ou no.

( ) Encapsulamento a tcnica que faz com que detalhes internos do funcionamento dos mtodos
de uma classe permaneam ocultos. O conhecimento a respeito da implementao interna da classe
desnecessrio do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos
mtodos internos das classes.

( ) A herana e o polimorfismo so complementares, ou seja, devem ser aplicados em conjunto.


A herana existe de classes abstratas que contm atributos e mtodos abstratos. O polimorfismo
obriga as classes-filhas implementarem os mtodos e atributos desta classe-pai. O acesso aos
atributos da classe-pai independe do modificador utilizado.

( ) O emprego do paradigma de programao Orientada por Objetos garante a reutilizao de


cdigo.

( ) O conceito de herana est relacionado a fornecer um mecanismo para que se definam novas
classes a partir de uma j existente. Podemos dizer que essas novas classes herdam propriedades
e mtodos da classe-me.

( ) O conceito de herana estabelece que uma classe possa aproveitar a implementao, definies
dos atributos e mtodos de uma classe-base. A classe-filha pode ter acesso aos mtodos e atributos
pblicos e protegidos da classe-base. O polimorfismo aplicado ao caso em que existe a
necessidade de implementar mtodos sobrecarregados, nos quais a classe-filha necessita
implementar dois mtodos com o mesmo nome e parmetros diferentes.

( ) A herana permite que os membros de uma classe, chamada de classe-pai, possam ser
reaproveitados na definio de outra classe, chamada de classe-filha. Esta classe-filha tem acesso
aos membros pblicos e protegidos da classe-pai. O polimorfismo, associado herana, permite
que mtodos abstratos definidos em uma classe abstrata sejam implementados nas classes-filhas,
podendo estes mtodos, nas classes-filhas, apresentar comportamentos distintos.

( ) O polimorfismo uma tcnica que permite um objeto nascer a partir do uso de sobrecarga de
construtores de uma classe, ou seja, o polimorfismo permite que um objeto possa ser instanciado
de diferentes maneiras. A herana permite que uma classe sirva de base para que outras classes
sejam implementadas. Entretanto, os membros com modificadores pblicos da classe-base podem
ser acessados pela classe-filha.
20. Faa um CRC para uma entidade que representa um estudante universitrio.