Buscar

Avaliação Final (Discursiva) - Individual


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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

Prévia do material em texto

27/04/22, 10:05 Avaliação Final (Discursiva) - Individual
1/2
Prova Impressa
GABARITO | Avaliação Final (Discursiva) - Individual
(Cod.:746063)
Peso da Avaliação 4,00
Prova 43889441
Qtd. de Questões 2
Nota 6,75
O desenvolvimento de software é uma tarefa árdua e que necessita de muito controle para se obter
um produto no tempo e custo planejados. Além disso, é importante que se analise e projete bem a
arquitetura do software, possibilitando que uma futura manutenção não seja tão trabalhosa, através de
código-fonte mais legível e reutilizável. Neste sentido, o paradigma da orientação a objetos surgiu para
evitar muitos problemas existentes na programação procedural. Disserte sobre como e o porquê a
programação orientada a objetos possibilita melhor legibilidade e reutilização de código-fonte.
Resposta esperada
A melhor legibilidade do código-fonte, seguindo as boas práticas da orientação a objetos, ocorre ao
se evitar criação de variáveis indevidas, e principalmente em métodos que possuem uma única
responsabilidade, sendo mais específicos e mais fáceis de se entender. Além disso, a reutilização de
código ocorre justamente no uso correto de classes, e métodos com responsabilidades específicas,
por exemplo, um método que realiza um cálculo, e este é chamado (invocado) em outros pontos do
código-fonte. Neste sentido, temos um baixo grau de acoplamento e maior coesão.
Minha resposta
A melhor legibilidade do código-fonte, seguindo as boas práticas da orientação a objetos, propõe
uma representação mais fácil de ser compreendida, pois a relação de cada elemento em termos de
um objeto, ou classe, pode ser comparado ao mundo real e onde ocorre ao se evitar criação de
variáveis indevidas, e principalmente em métodos que possuem uma única responsabilidade, sendo
mais específicos e mais fáceis de se entender. Além disso, a reutilização de código ocorre justamente
no uso correto de classes, e métodos com responsabilidades específicas, por exemplo, um método
que realiza um cálculo, e este é chamado Ivocado em outros pontos do código-fonte. Neste sentido,
temos um baixo grau de acoplamento e maior coesão
O collections framework do Java possui alguns tipos que podem ser comparados com arrays, porém
estes possuem mais recursos, eficiência e vantagens em relação ao array ou vetor normal. Além disso, o
collections framework permite ordenar os objetos através de algum critério desejado, bastando
implementá-lo. Um exemplo deste tipo de ordenação seria por nome, utilizando-se o atributo nome de
uma classe Pessoa. Para desenvolver a comparação, deve ser feita a implementação da interface
Comparable na classe desejada, além do método "compareTo". Neste contexto, desenvolva uma classe
qualquer, na linguagem de programação Java, que realize a ordenação de uma lista de objetos através da
interface Comparable. Apresente as duas classes criadas, uma com a implementação da interface
 VOLTAR
A+
Alterar modo de visualização
1
2
27/04/22, 10:05 Avaliação Final (Discursiva) - Individual
2/2
Comparable, e a outra com um exemplo de execução da ordenação de uma lista do objeto do tipo da
classe com implementação Comparable.
Resposta esperada
O acadêmico deve desenvolver uma classe com a interface Comparable, como a classe Carro
implements Comparable a seguir exemplificada, na qual deve ter obrigatoriamente o método
"compareTo". Além disso, deve ser desenvolvida uma segunda classe, conforme exemplo
“ExemploComparable”, para instanciar a classe anterior (Comparable), como nas linhas 9 a 12,
adicionando-a à lista (lista.add), linhas 16 a 20, e então invocar o método sort
(“Collections.sort(lista)”).
Minha resposta
package Classes; /** * * @author andre.santos */ public class Pessoa implements Comparable {
private int id; private String nome; public Pessoa(int id, String nome){ super(); this.id = id;
this.nome = nome; } public int getId(){ return id; } public void setId(int id) { this.id = id; } public
String getNome(){ return nome; } public void setNome( String nome){ this.nome = nome; } public
int compareTo(Pessoa p){ return this.getNome() .compareTo(p.getNome()); } } import
java.util.ArrayList; import java.util.Collections; import java.util.List; import Classes.Pessoa; public
class Principal { public static void main(String[] args) { Pessoa pessoa1 = new Pessoa(1,"Pedro");
Pessoa pessoa2 = new Pessoa(2,"Andre"); Pessoa pessoa3 = new Pessoa(3,"Jorge"); Pessoa pessoa4
= new Pessoa(4,"Bruno"); Pessoa pessoa5 = new Pessoa(5,"Bruno Alves"); Pessoa pessoa6 = new
Pessoa(6,"Bruno Chagas"); Pessoa pessoa7 = new Pessoa(7,"Adria"); List lista = new ArrayList();
lista.add(pessoa1); lista.add(pessoa2); lista.add(pessoa3); lista.add(pessoa4); lista.add(pessoa5);
lista.add(pessoa6); lista.add(pessoa7); //Nomes Ordenados /* Resultado Esperado Nome : Adria
Nome : Andre Nome : Bruno Nome : Bruno Alves Nome : Bruno Chagas Nome : Jorge Nome :
Pedro */ Collections.sort(lista ); for(Pessoa p : lista) { System.out.println("Nome : " +
p.getNome().toString() ); } } }
Imprimir

Mais conteúdos dessa disciplina