Prévia do material em texto
25/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYzIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gRmluYWwgKE9iamV0aXZhKSAtIEluZGl2aWR1YWwgU2VtaXByZXN… 1/5
GABARITO | Avaliação Final (Objetiva) - Individual Semipresencial
Peso da Avaliação
3,00
Qtd. de Questões
10
Acertos/Erros
9/1
Nota
9,00
Toda linguagem de programação é constituída por uma série de detalhes formais, como a sua sintaxe, e também por uma série de práticas que se
denominam "boas práticas de programação". Como uma linguagem sofisticada e moderna, a linguagem Java não é diferente nesse quesito, possuindo
por exemplo, uma padronização para nomes de classes, atributos e métodos. Sobre a padronização correta indicada para nomes de classes, atributos e
métodos (obedecendo essa sequência), que poderiam existir na criação de programas Java, tendo como foco o domínio de problema do sistema de
ambiente virtual de aprendizagem Gioconda da UNIASSELVI, classifique V para as sentenças verdadeiras e F para as falsas:
( ) Curso, nomeAluno, cadastrarDisciplina.
( ) Disciplina, Aluno, Curso.
( ) Docente, Avaliacao, Tutor.
( ) Disciplina, codigoAvaliacao, consultarAluno.
Assinale a alternativa que apresenta a sequência CORRETA:
A F - V - V - F.
B F - V - F - V.
C V - V - F - F.
D V - F - F - V.
A estrutura de uma classe na linguagem de programação Java comporta um nome, um conjunto de atributos, também conhecido como o estado
desta classe e um conjunto de métodos, também conhecidos como o comportamento desta classe. Considerando a estrutura da Classe Principal
demonstrada na figura a seguir, classifique V para as sentenças verdadeiras e F para as falsas:
( ) Já que o método "Aluno()" não possui parâmetros as linhas 7 a 9 geram erros de compilação.
( ) O método chamado main é quem torna uma classe executável, sendo que a sua existência em uma classe é opcional.
( ) Pode-se afirmar que o tipo de dados do atributo "nome", existente na classe aluno é do tipo alfanumérico.
( ) A linha 5 marca o que é conhecido como o ponto de entrada da aplicação.
Assinale a alternativa que apresenta a sequência CORRETA:
A V - F - F - V.
B V - F - V - F.
C V - V - F - F.
D F - V - V - V.
Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores.
Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos
VOLTAR
Alterar modo de visualização
1
2
3
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas
14
25/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYzIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gRmluYWwgKE9iamV0aXZhKSAtIEluZGl2aWR1YWwgU2VtaXByZXN… 2/5
de programação orientada a objetos, analise as sentenças a seguir:
I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B.
II- Quadrado é uma classe filha da classe FormaGeometrica.
III- A classe Triangulo tem como superclasse a classe FormaGeometrica.
Agora, assinale a alternativa CORRETA:
A As sentenças I e III estão corretas.
B As sentenças II e III estão corretas.
C Somente a sentença I está correta.
D As sentenças I e II estão corretas.
A programação orientada a objetos acarreta um software com maior facilidade de manutenção e menor esforço para isto. Isso porque o
paradigma de orientação a objetos permite a reutilização de código-fonte, uma das vantagens oferecidas, permitindo que uma funcionalidade seja
alterada em um único ponto do sistema. Outra facilidade da programação orientada a objetos, mais especificamente na linguagem Java, é a coleção,
uma espécie de vetor dinâmico. Com relação à coleção, assinale a alternativa CORRETA:
A Uma coleção, na linguagem Java, armazena apenas lista de valores de tipos numéricos.
B Uma coleção, na linguagem Java, armazena apenas lista de valores do tipo String.
C O arraylist é um tipo de coleção da linguagem Java.
D O arraylist é uma coleção da linguagem Java que não armazena lista de objetos, mas, sim, uma lista de dados primitivos, como real ou caracter.
No paradigma da orientação a objetos, um objeto é a instância de uma classe, isto é, cria-se em memória um objeto do tipo da classe desejada.
Neste sentido, quando instancia-se uma classe, estamos criando em memória toda a classe, ou seja, todos os seus atributos e métodos. No entanto, em
alguns casos, precisamos utilizar apenas algum método ou atributo de uma determinada classe, e instanciá-la em memória seria uso desnecessário da
memória. Neste caso, podemos definir o modificador do método como static, permitindo que este seja acessado diretamente pelo nome da classe, sem
instanciá-la. Referente ao código-fonte anexo, analise as afirmativas a seguir:
I- Ao executar a classe "Exemplo", ocorrerá um erro durante a execução, pois não foi instanciada a classe "Carro".
II- Os métodos"getidModelo()" e "calcularDistancia()" são acessíveis na classe "Exemplo" sem ter que instanciar a classe Carro.
III- O método "calcularDistancia()" é acessível na classe "Exemplo" sem ter que instanciar a classe Carro.
IV- O método "getidModelo ()" é acessível na classe "Exemplo" sem ter que instanciar a classe Carro.
4
5
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas
14
25/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYzIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gRmluYWwgKE9iamV0aXZhKSAtIEluZGl2aWR1YWwgU2VtaXByZXN… 3/5
Assinale a alternativa CORRETA:
A As afirmativas II e IV estão corretas.
B As afirmativas I e III estão corretas.
C Somente a afirmativa III está correta.
D As afirmativas I e IV estão corretas.
A criação de programas tendo como base a linguagem de programação Java é otimizada pelo uso das chamadas IDE (Integrated Development
Environment) que fornecem ambientes sofisticados para o desenvolvimento de programas e softwares. Entre elas, pode-se citar o ambiente de
desenvolvimento Eclipse. Sobre as informações que devem ser fornecidas ao Eclipse durante a criação de um Projeto, analise as sentenças a seguir:
I- A primeira informação que deve ser fornecida é a relativa à definição do Workspace.
II- Na definição do Project Name define-se também qual versão do JRE será utilizada pelos códigos-fonte criados no Eclipse.
III- A opção Project Layout permite uma organização dos códigos-fonte do projeto, através da configuração dos diretórios, garantindo uma separação
dos arquivos binários gerados.
IV- Na opção JRE é definida qual a versão da linguagem Java (Java SE) será utilizada pelo projeto criado.
Assinale a alternativa CORRETA:
A As sentenças III e IV estão corretas.
B As sentenças II e III estão corretas.
C As sentenças I e II estão corretas.
D As sentenças I e IV estão corretas.
A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o
acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um
método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem
necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA:
A O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse.
B O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte.
C O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected".
D O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte.
Ao utilzarmos o modificador "static", indicamos que determinado atributo ou método de uma classe Java pertence à classe e não auma instância
específica. Com relação a esse modificador, classifique V para as sentenças verdadeiras e F para as falsas:
6
7
8
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas
14
25/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYzIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gRmluYWwgKE9iamV0aXZhKSAtIEluZGl2aWR1YWwgU2VtaXByZXN… 4/5
( ) Um atributo com visibilidade estática não pode ser alterado com um método não estático.
( ) O Singleton é um padrão de projeto que prevê uma instância estática.
( ) Ao alterarmos o valor de um atributo estático, todas as instâncias da classe terão o seu valor alterado.
( ) Atributos estáticos inicializados no método construtor não podem ser alterados ao longo da execução.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A V - F - F - V.
B F - V - F - V.
C F - F - V - V.
D V - V - V - F.
O padrão de projeto Singleton aumenta a qualidade e a produtividade do desenvolvimento de software orientado a objetos, pois é capaz de
solucionar problemas rotineiros que normalmente ocorrem durante as etapas do desenvolvimento de um software. Esse padrão descreve uma
implementação na qual uma classe é instanciada uma única vez durante a execução de uma aplicação. Referente aos códigos-fonte que implementam um
exemplo da aplicação Singleton e sua execução para a classe Memoria, classifique V para as sentenças verdadeiras e F para as falsas:
(1)public class Memoria{
(2) private static Memoria memoryInstance;
(3) private double quantidadeMemoria;
(4)
(5) private Memoria(){}
(6)
(7)
(8) public static Memoria getInstance() {
(9) if(memoryInstance == null) {
(10) memoryInstance = new Memoria();
(11) }
(12) return memoryInstance;
(13) }
(14)
(15) public double getQuantidadeMemoria() {
(16) return this.quantidadeMemoria;
(17) }
(18)
(19) public void setQuantidadeMemoria (float quantidadeMemoria) {
(20) this.quantidadeMemoria = quantidadeMemoria;
(21) }
(22)}
(1) public static void main(String[] args){
(2)
(3) Memoria memoria1, memoria2, memoria3;
(4)
(5) memoria1 = Memoria.getInstance();
(6) memoria2 = Memoria.getInstance();
(7) memoria3 = new Memoria();
(8)
(9) System.out.println(memoria1);
(10) System.out.println(memoria2);
(11) System.out.println(memoria3);
(12) }
( ) A linha 10, do código-fonte da classe Memoria, cria um objeto do mesmo tipo da classe em questão, porém não garante que apenas um objeto
desse tipo existirá na aplicação.
( ) A linha 5, do código-fonte da classe Memoria, precisa ser definida explicitamente uma vez que a linguagem Java não assume, como padrão,
construtores com essa implementação.
( ) A linha 9, do código-fonte da classe Memoria, é um dos trechos vitais do implementação do padrão Singleton, pois é o responsável por criar o
9
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas
14
25/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYzIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gRmluYWwgKE9iamV0aXZhKSAtIEluZGl2aWR1YWwgU2VtaXByZXN… 5/5
objeto único da classe em questão.
( ) A linha 5, do código-fonte da classe Memoria, não precisa ser definida explicitamente uma vez que a linguagem Java assume, implicitamente, como
padrão, construtores com essa implementação.
Assinale a alternativa que apresenta a sequência CORRETA:
A V - F - F - V.
B F - F - V - V.
C F - V - V - F.
D V - V - F - F.
O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de herança uma maior confiabilidade uma vez que as
classes modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe "Competidor" e classifique
V para as sentenças verdadeiras e F para as falsas:
(1) package fontes;
(2) public class Competidor{
(3) private int pais;
(5) private String modalidade;
(6) private boolean medalistaOlimpico;
(7)
(8) public void competir(String modalidade){
(9) System.out.println("É especialista em " + modalidade);
(10) }
(11)
(12) public abstract void competirPor(int pais){
(13) System.out.println("O atleta compete por " + pais);
(14) }
(15)
(16)}
( ) Existe um erro de sintaxe na linha (2) que é resolvido adicionando-se a palavra-chave "abstract", antes da palavra chave "Class".
( ) O método "competir(String modalidade)" está gerando um erro de sintaxe, e adicionando a palavra chave "abstract", antes da palavra-chave
"void", resolverá o erro gerado.
( ) O método "competirPor(int pais)" está gerando um erro de sintaxe, resolvido eliminando-se a sua implementação, deixando-se apenas a sua
assinatura.
( ) O método "competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave abstract, antes da palavra- chave "Class", além
de eliminar a sua implementação, deixando-se apenas a sua assinatura, resolverá o erro gerado.
Assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - V.
B V - F - F - V.
C V - V - F - V.
D V - V - V - F.
10
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas
14