Baixe o app para aproveitar ainda mais
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
Compartilhar