Buscar

Avaliação AP - Linguagem de Programação Orientada a Objetos - UNIP

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

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

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ê viu 3, do total de 4 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

Prévia do material em texto

Data limite para aplicação 
desta prova: 
IMPORTANTE 
UNIP EAD 
Código da Prova: 
Curso: CIÊNCIA DA COMPUTAÇÃO 
Série: 4 Tipo: Disciplina - AP 
Aluno: 
I - Questões objetivas – valendo 10 pontos 
Gerada em: 
 
Instruções para a realização da prova: 
1. Leia as questões com atenção. 
2. Confira seu nome e RA e verifique se o caderno de questão e folha de respostas correspondem à sua disciplina. 
3. Faça as marcações primeiro no caderno de questões e depois repasse para a folha de respostas. 
4. Serão consideradas somente as marcações feitas na folha de respostas. 
5. Não se esqueça de assinar a folha de respostas. 
6. Utilize caneta preta para preencher a folha de respostas. 
7. Preencha todo o espaço da bolha referente à alternativa escolhida, a caneta, conforme instruções: não rasure, não 
preencha X, não ultrapasse os limites para preenchimento. 
8. Preste atenção para não deixar nenhuma questão sem assinalar. 
9. Só assinale uma alternativa por questão. 
10. Não se esqueça de responder às questões discursivas, quando houver, e de entregar a folha de respostas para o tutor 
do polo presencial, devidamente assinada. 
11. Não é permitido consulta a nenhum material durante a prova, exceto quando indicado o uso do material de apoio. 
12. Lembre-se de confirmar sua presença através da assinatura digital (login e senha). 
Boa prova! 
 
 
Questões de múltipla escolha 
Disciplina: 796790 - LINGUAGEM DE PROGRAMAÇÃO ORIENTADA À OBJETOS 
 
Questão 1: Seguindo as regras de promoção (promotion) de tipos de dados, as linhas a seguir mostram alguns 
blocos de código que utilizam casting. Qual das alternativas demonstra um comando que vai gerar um erro de 
compilação? 
 
long a1 = 10L; 
float a2 = 3.15; 
double a3 = 9.8; 
 
A) Long x = a1+ (int) a3; 
B) Double x = a1 + a2 + a3; 
C) Int x = (long)a3 + a1; → Resposta Correta 
D) Int x = (int) a2 + (int) a3; 
E) Float x = a1 + a2; 
 
Questão 2: As afirmações a seguir se referem às estruturas de condicionais. Analise estas afirmações e assinale 
a alternativa correta. 
 
A) A estrutura “switch - case” possui uma funcionalidade “default” que é equivalente ao bloco “else” da estrutura “if - 
else”, de modo que o valor somente será executado se todas as alternativas previamente estabelecidas dentro desta 
estrutura resultarem em falso. → Resposta Correta 
B) A estrutura “if - else” não permite a comparação de lógicas de igualdade, sendo necessário utilizar um valor 
aproximado ou utilizar-se da estrutura “switch - case”. 
C) A estrutura “if - else if” possui um limite de possíveis comparações; caso ele atinja este limite, é necessário iniciar 
outra estrutura, não sendo possível ultrapassar este valor padrão. 
D) A estrutura “switch - case” é uma estrutura condicional que apenas atende a um tipo de condição, não sendo 
possível realizar vários tipos de condições de um mesmo parâmetro. 
E) A estrutura “if - else”, mesmo que possua apenas uma única linha, necessita que se estabeleçam os blocos com 
chaves ( {...bloco...} ). 
 
Questão 3: O encapsulamento é um dos pilares do paradigma da programação orientada a objeto, e um 
recurso que nos permite a “proteção” de atributos e métodos de uma classe, modificando a maneira de como 
trabalhamos com nossos métodos e atributos, porque: 
 
A) Permite um código mais seguro, porém implica na herança, pois restringe certos acessos a métodos e atributos 
pela subclasse. 
B) Utiliza um padrão de acesso, garantindo mais confiabilidade no código, quando utilizado em forma de plataforma 
web. 
C) Garante a proteção dos dados que estão sendo utilizados, sem eles é possível que ocorra perda de informação 
durante a manipulação dos dados. 
D) Permite controlar a manipulação de métodos e atributos de uma classe. → Resposta Correta 
E) Restringe o acesso a estes métodos e atributos sem uma validação. 
 
Questão 4: A utilização de modificadores de acesso permite criarmos um controle maior sobre quais partes de 
nosso código conseguem acessar determinados atributos, métodos ou classes, descrevendo como podem ser 
acessados. Dentre eles, existe um modificador que nos permite ter acesso ao seus métodos e atributos quando 
ele estiver no mesmo pacote; um exemplo de utilização deste modificador está descrito na alternativa: 
 
A) protected String nomeCategoria → Resposta Correta 
B) public String nomeCategoria 
C) private String nomeCategoria 
D) package String nomeCategoria 
E) default String nomeCategoria 
 
Questão 5: Em um sistema de mercado, existe uma ArrayList que é responsável por listar todos os objetos já 
cadastrados em uma única lista, facilitando a visualização dos produtos cadastrados. O código a seguir mostra 
como esta lista está sendo preenchida. 
 
... 
public void listarProdutos(ArrayList estoque){ 
for(int i=0; i < estoque.size(); i++){ 
Produto p = ; 
//... demais ações 
} 
} 
... 
 
Complete a lacuna com o comando correto para pegar o objeto de um ArrayList de um produto. 
 
A) (Produto) estoque 
B) estoque.get(i) → Resposta Correta 
C) estoque.getById(i); 
D) estoque.produto(i) 
E) produto.get(estoque.retrieve(i)) 
 
Questão 6: As estruturas de repetição permitem que determinado bloco de instruções sejam executadas um 
número finito de vezes, realizando instruções o quanto for necessário; dentre eles, temos os laços de repetição 
“for” e “while”, e sobre eles, podemos afirmar que: 
 
A) Uma estrutura de repetição é aquela que é controlada por uma condição mutável que se adapta às necessidades 
de repetição de um bloco de instruções. 
B) A estrutura “for” de repetição contém uma variável de controle, em que ele é sempre verificado através de uma 
comparação que acontece antes da execução de uma nova iteração. → Resposta Correta 
C) A estrutura “while” de repetição é verificada apenas no final da execução de uma iteração; assim, é necessário 
lembrar que este laço de repetição sempre vai executar uma vez a mais. 
D) Independentemente do laço de repetição utilizado, não é preciso criar uma condição na qual ele verifica se é 
necessário fazer uma nova iteração, possibilitando o uso do comando “break” para interromper a repetição. 
E) Sempre é possível realizar a conversão entre estruturas de repetição “for” para uma “while”, mas uma instrução 
criada para uma estrutura “while” não pode ser convertida em uma instrução “for”. 
 
Questão 7: A partir de uma classe é possível gerar várias instâncias de um determinado tipo de projeto, e 
dentro dela podemos criar um método construtor que ele é acionado toda vez que um novo objeto é criado, 
podendo criar um objeto e já estabelecendo seus valores em uma única linha, podendo ter vários construtores 
em uma única classe. Olhando o método construtor a seguir, como o Java sabe qual tipo de método construtor 
está sendo chamado? 
 
public class Pessoa { 
// atributos da Classe Pessoa 
public Pessoa(String s) { 
nome = s; 
} 
public Pessoa(String s, int i) { 
nome = s; 
idade = i; 
} 
 
public Pessoa(String s, int i, double d) { 
nome = s; 
idade = i; 
altura = d; 
} 
} 
 
A) A partir do tipo de dado dos parâmetros, é possível fazer a distinção entre os tipos de métodos construtores 
existentes, podendo ser repetidos para criar objetos de formas diferentes. 
B) A distinção dos métodos construtores está na quantidade e no tipo de elementos que estão sendo usados como 
parâmetros na hora da criação do objeto. → Resposta Correta 
C) Para diferenciar qual método construtor que está sendo utilizado, é necessário renomear estes métodos na hora 
de instanciar um objeto. 
D) Quando o objeto for instanciado, utiliza-se a assinatura do método construtor quando possui mais de um tipo de 
método construtor, indicando ao programa qual tipo de construtor está sendo utilizado. 
E) Quando o objeto é instanciado, ele busca todos os métodos construtores previamente criados, encaixando-o no 
que é adequado, independentemente da quantidade e do tipo deparâmetros, podendo haver mais de um método 
construtor com a mesma assinatura. 
 
Questão 8: Observe os métodos da classe a seguir: 
 
public int metodo01 (String p) {...} 
public void metodo02 () {...} 
public double metodo03 (int p1, int p2) {...} 
public void metodo04 (String p) {...} 
public String metodo05 (double p) {...} 
 
Esta classe está instanciada com o nome de obj. 
Qual das alternativas mostra uma codificação que vai gerar erros quando executada? 
A) int k = metodo01(“01230”); 
B) System.out.println(obj.metodo02()); 
C) obj.metodo04(“Olá mundo”); 
D) double k = metodo03(5,80); 
E) int k = metodo05(7); → Resposta Correta 
 
Questão 9: Analise as afirmações a seguir e assinale a alternativa correta: 
 
I. A criação de um objeto (no caso, instanciá-lo) é feita a partir de um molde contendo as informações necessárias 
(métodos e atributos) previamente estabelecidas no programa fonte. 
II. Para iniciar-se a execução de um programa Java, é necessário que ele possua uma classe main; ela é responsável 
por iniciar a execução do programa, sendo necessário existir em todas as classes que serão inicializadas junto à 
aplicação. 
III. Ao utilizarmos objetos como parâmetros, não conseguimos distinguir qual parte de sua informação estamos 
utilizando, pois dentro de um objeto podemos ter uma variedade de tipos de dados, além de seus dados previamente 
guardados, por isso é recomendado retirar um valor de dentro do objeto para depois utilizá-lo. 
IV. Para instanciar uma classe, é necessário que os métodos e atributos estejam previamente estabelecidos, pois o 
Java não permite a instanciação de um molde vazio, o que gera erros de compilação. 
V. O método main é responsável pela execução do programa; sem ele, o Java não sabe onde o programa começa. 
Este método é necessário em apenas uma classe que indica onde o programa vai inicializar e quais métodos serão 
necessários para a inicialização do programa. 
 
Quais afirmações estão corretas? 
 
A) I, IV e V 
B) I e V → Resposta Correta 
C) II e IV 
D) I, III e IV 
E) II, IV e V 
 
Questão 10: O paradigma de Programação Orientada a Objeto tem como princípio a utilização de elementos 
que representam entidades “do mundo real”, ou seja, elementos existentes em uma situação real, que são 
abstraídos com suas informações, criando um molde a partir do qual podemos criar: 
 
A) Elemento 
B) Entidade 
C) Classe 
D) Objeto → Resposta Correta 
E) Abstração

Outros materiais