Buscar

ATIVIDADE 2 (A2) ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS

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

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

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

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
Você viu 6, do total de 9 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

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

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
Você viu 9, do total de 9 páginas

Prévia do material em texto

 Pergunta 1 
1 em 1 pontos 
 
 Uma lista encadeada pode ser considerada uma estrutura de dados 
linear, em que cada elemento é considerado um objeto ou entidade 
separada em si mesmo. Cada elemento de uma lista consiste em dois 
itens – os dados e a referência ao próximo nó. 
 
Considerando essas informações e o conteúdo estudado sobre, pode-se 
afirmar que a estrutura que tem o valor null somente no seu último nó é 
a: 
 
Resposta Selecionada: 
Lista simplesmente encadeada. 
Resposta Correta: 
Lista simplesmente encadeada. 
Comentário da 
resposta: 
Sua resposta está correta. Conforme apresentado no 
conteúdo, a lista simplesmente encadeada armazena no 
seu último nó, chamado cauda, o valor null, indicando que 
este é o último elemento da lista. 
 
 
 Pergunta 2 
1 em 1 pontos 
 
 Uma estrutura de dados (ED), em ciência da computação, é uma coleção 
tanto de valores (e seus relacionamentos) quanto de operações (sobre os 
valores e estruturas decorrentes). É uma implementação concreta de um 
tipo abstrato de dado (TAD) ou um tipo de dado (TD) básico ou primitivo. 
 
Considerando essas informações e o conteúdo estudado sobre a 
classificação das estruturas de dados, podemos classificar as estruturas 
de dados complexas de acordo com as seguintes opções: 
 
I. Lineares e não lineares. 
II. Homogêneas e não homogêneas. 
III. Estáticas e dinâmicas. 
IV. Primitivas e não primitivas. 
 
Está correto apenas o que se afirma em: 
 
~Sua resposta está correta. Conforme apresentado no conteúdo, estamos 
falando de estruturas complexas, que podem ser classificadas em: 
 
lineares, não lineares, homogêneas e não homogêneas, estáticas e 
dinâmicas. 
Resposta Selecionada: 
I, II e III. 
Resposta Correta: 
I, II e III. 
 
 
 Pergunta 3 
1 em 1 pontos 
 
 Uma lista encadeada (= linked list = lista ligada) é uma sequência de 
células; cada célula contém um objeto (todos os objetos são do mesmo 
tipo) e o endereço da célula seguinte. Analise o código a seguir: 
 
public Lista(){ this.inicio = this.fim = null; } public boolean 
isVazia() { return this.inicio == null; } public int 
getQuantidade() { No<T> atual = this.inicio; int qtde = 0; while 
(atual != null){ ++qtde; atual = atual.getProximo(); } return 
qtde; } 
 
 
Considerando essas informações e o conteúdo estudado, identifique 
quais as operações foram apresentadas no código. 
 
I. Construção da lista, verificação de lista vazia, leitura da quantidade de 
elementos. 
II. Construção da lista e verificação de lista vazia. 
III. Retorno da quantidade de elementos. 
IV. Declaração, adição e retorno da quantidade de elementos. 
 
Está correto apenas o que se afirma em: 
 
Resposta Selecionada: 
II e III. 
Resposta Correta: 
II e III. 
Comentário 
da resposta: 
Sua resposta está correta. Conforme apresentado, o trecho 
de código constrói a lista no método Lista (), verifica-se se a 
lista está vazia com o método getQuantidade(), faz-se a 
leitura da lista e apresenta-se a quantidade de elementos. 
 
 
 Pergunta 4 
1 em 1 pontos 
 
 Uma lista duplamente encadeada permite o acesso de um nó da lista ao 
próximo e também ao nó precedente da lista. Trata-se de uma extensão 
simplesmente encadeada e é mais utilizada do que ela (lista 
simplesmente encadeada) nos códigos. 
 
Considerando essas informações e o conteúdo estudado sobre listas 
encadeadas, analise as afirmativas a seguir e assinale V para a(s) 
verdadeira(s) e F para a(s) falsa(s). 
 
I. O código para a implementação da lista duplamente encadeada 
demanda mais controles de implementação do que a lista simplesmente 
encadeada, mas permite maior navegabilidade entre nós. 
II. Para a implementação de uma lista duplamente encadeada, é 
necessária a utilização do nó cabeça e do nó cauda. 
III. Na implementação da lista duplamente encadeada, os nós cabeça e 
cauda são criados na primeira operação de inclusão. 
IV. O objetivo dos nós cabeça e cauda é simplificar as operações, 
eliminando a necessidade de código de caso especial quando a lista está 
vazia. 
 
Agora, assinale a alternativa que apresenta a sequência correta: 
 
Resposta Selecionada: 
V, V, F, V. 
Resposta Correta: 
V, V, F, V. 
 
QUESTÃO 7 
Listas circulares 
2.3 Listas Circulares 
Tipo de questão: Afirmação-incompleta 
Nível de dificuldade da questão: Média 
 
Comentário 
da resposta: 
Sua resposta está incorreta. Conforme apresentado no 
conteúdo, de forma análoga ao que acontece com as listas 
simplesmente encadeadas, ao serem inicializadas as listas 
duplamente encadeadas, os nós cauda e cabeçalho são 
criados. 
 
 
 Pergunta 5 
1 em 1 pontos 
 
 A estrutura de dados é uma maneira de armazenar e organizar dados de 
forma que as operações possam ser realizadas aumentando a eficiência 
 
em relação ao tempo e à memória. De forma geral, a estrutura de dados 
é usada para reduzir a complexidade (principalmente o tempo) do código. 
As estruturas de dados podem ser de dois tipos: estrutura estáticas de 
dados ou estruturas dinâmicas de dados. 
 
Considerando essas informações e o conteúdo estudado sobre estruturas 
de dados, analise as afirmativas a seguir. 
 
I. Na estrutura de dados estática, o tamanho da estrutura é fixo. O 
conteúdo da estrutura de dados pode ser modificado, mas sem alterar o 
espaço de memória alocado para ele. 
II. O vetor é uma estrutura estática de dados, sendo um objeto recipiente 
que contém um número fixo de valores de um único tipo. O comprimento 
de um vetor é estabelecido quando o vetor é criado. 
III. Na estrutura dinâmica de dados, o tamanho da estrutura não é fixo e 
pode ser modificado durante as operações realizadas nela. 
IV. Estruturas estáticas de dados são projetadas para facilitar a mudança 
de estruturas de dados em tempo de execução. 
 
Está correto apenas o que se afirma em: 
~Sua resposta está correta. Conforme apresentado no conteúdo, 
estruturas de dados estáticas como os vetores são reconhecidas por 
terem um tamanho fixo e dados do mesmo tipo, que podem ser 
alterados sem mudar o espaço em memória. Esta é sua principal 
diferença em relação aos dados dinâmicos, pois essa estrutura é 
projetada para facilitar a mudança de dados em tempo real. 
Resposta Selecionada: 
V, V, V, F. 
Resposta Correta: 
V, V, V, F. 
Comentário 
da resposta: 
Sua resposta está incorreta. Lembre-se que as estruturas 
estáticas de dados recebem uma área fixa de memória na 
qual podem operar, não sendo possível expandir este 
tamanho fixo em tempo de execução, garantindo que as 
localizações de cada elemento sejam fixadas e conhecidas 
pelo programa. Já as estruturas de dados dinâmicas 
também possuem uma área onde podem operar, mas essa 
área é flexível, sendo possível expandi-la ou contraí-la 
conforme necessário, adicionando ou removendo 
elementos da estrutura de dados. 
 
 
 
 Pergunta 6 
1 em 1 pontos 
 
 Listas encadeadas são estruturas de dados lineares e dinâmicas. A grande 
vantagem que elas possuem em relação ao uso de vetor é o fato de 
terem tamanho máximo relativamente infinito (o tamanho máximo é o da 
memória do computador), ao mesmo tempo em que podem ter o 
tamanho mínimo de 1 elemento, evitando o desperdício de memória. 
 
Considerando essas informações e o conteúdo estudado sobre a 
implementação de listas, analise as afirmativas a seguir. 
 
I. As listas duplamente encadeadas se diferenciam das listas 
simplesmente encadeadas pelo fato de, na primeira, os nós da lista 
formarem um anel com o último elemento ligado ao primeiro da lista. 
II. Na implementação das listas com encadeamento simples, os 
elementos da lista possuem informações de seu predecessor. 
III. Ao implementar listas com encadeamento duplo, cada elemento 
possui duas informações: a informação de quem é seu sucessor e 
predecessor. 
IV. Em algumas implementações, uma lista vazia podeter um único nó, 
chamado de sentinela, nó cabeça ou header. 
 
Agora, assinale a alternativa que apresenta a sequência correta: 
 
Resposta Selecionada: 
F, F, V, V. 
Resposta Correta: 
F, F, V, V. 
Comentário 
da resposta: 
Sua resposta está correta. Conforme apresentado no 
conteúdo, o encadeamento circular, formando um anel com 
o último elemento ligado ao primeiro da lista, é caraterístico 
de listas duplamente encadeadas circulares e as listas de 
encadeamento simples possuem informações somente de 
seus elementos sucessores, diferenciando-as das listas 
duplamente encadeadas, que possuem a informação de 
quem é seu sucessor e predecessor. 
 
 
 Pergunta 7 
1 em 1 pontos 
 
 Na estrutura dinâmica de dados, o tamanho da estrutura não é fixo e 
pode ser modificado durante as operações realizadas nela, sendo 
 
projetadas para facilitar a mudança das estruturas de dados, 
apresentando alocação de memória dinâmica em tempo de execução. 
 
Considerando essas informações e o conteúdo estudado sobre as 
estruturas de dados dinâmicas, analise as afirmativas a seguir. 
 
I. A alocação de memória dinâmica pode combinar blocos estruturados 
alocados separadamente, para formar estruturas compostas que se 
expandem e contraem conforme necessário. 
II. Um array dinâmico se expande conforme você adiciona mais 
elementos. Portanto, você não precisa determinar o tamanho com 
antecedência. 
III. Os arrays dinâmicos colocam itens próximos uns dos outros na 
memória, o que reduz a eficiência de processamento. 
IV. Adicionar ou remover itens dentro de arrays dinâmicos são 
procedimentos que levam tempo, pois seus elementos são armazenados 
de forma adjacente uns aos outros. 
Resposta Selecionada: 
V, V, F, V. 
Resposta Correta: 
V, V, F, V. 
Comentário 
da resposta: 
Sua resposta está correta. Conforme apresentado no 
conteúdo, a vantagem de se utilizar estruturas dinâmicas 
está na sua flexibilidade de alocação de novos elementos 
em tempo de execução, e esses elementos são 
posicionados na sequência do último elemento em 
memória, fazendo com que seja mais eficiente do que 
estruturas estáticas. 
 
 
 Pergunta 8 
1 em 1 pontos 
 
 Existem dois tipos de exceções que, normalmente, surgem de erros de 
programação com matrizes: um deles é tentar usar uma variável de array 
antes que ele seja alocado, e o outro é tentar acessar uma matriz fora de 
seus limites. 
 
Considerando essas informações e o conteúdo estudado sobre arrays, 
pode-se afirmar que, para o último caso descrito no elemento-base, o 
tipo de erro apresentado é: 
 
Resposta Selecionada: 
ArrayIndexOutOfBoundException 
 
Resposta Correta: 
ArrayIndexOutOfBoundException 
Comentário 
da resposta: 
Sua resposta está correta. Conforme apresentado no 
conteúdo, o tipo de erro apresentado quando se tenta 
acessar uma posição de memória que inexiste no array 
é o ArrayIndexOutOfBoundException. Ocorre sempre que 
estamos tentando acessar qualquer item de uma matriz em 
um índice que não está presente nela. Em outras palavras, o 
índice pode ser negativo ou exceder o tamanho de uma 
matriz. 
 
 Pergunta 9 
1 em 1 pontos 
 
 Na lista duplamente encadeada, cada nó possui um ponteiro para o nó 
predecessor e outro para o nó sucessor, podendo ou não ter um nó 
cabeça. Para tanto, é necessário declarar duas variáveis para conter os 
valores desses nós. Analise o código a seguir: 
 
public class No { private No anterior; private No 
proximo; private String valor; public void 
setValor(String valor) { this.valor = valor; } public 
String getValor() { return valor; } public void 
setAnterior(No anterior) { this.anterior = 
anterior; } public No getAnterior() { return 
anterior; } public void setProximo(No proximo) 
{ this.proximo = proximo; } public No getProximo() 
{ return proximo; } } 
 
 
 
Considerando essas informações e o código apresentado, analise as 
afirmativas a seguir. 
 
I. Na classe No, são declaradas duas variáveis de acesso irrestrito do tipo 
No, para manipular o nó predecessor e sucessor da lista encadeada. 
II. Na classe No, as seguintes ações são realizadas: definição da classe, 
definição dos valores dos nós e definição dos retornos dos nós. 
III. Na classe No, são declaradas duas variáveis do tipo No para manipular 
o nó predecessor e sucessor da lista encadeada. 
IV. A classe Lista permite percorrer os nós da lista, atribuindo valores a 
cada nó. 
 
Resposta Selecionada: 
F, V, V, F. 
 
 
QUESTÃO 12 
Listas circulares 
2.3 Listas circulares 
Tipo de questão: Afirmação incompleta 
Nível de dificuldade da questão: Fácil 
 
Resposta Correta: 
F, V, V, F. 
 
QUESTÃO 12 
Listas circulares 
2.3 Listas circulares 
Tipo de questão: Afirmação incompleta 
Nível de dificuldade da questão: Fácil 
 
Comentário da 
resposta: 
Sua resposta está correta. Conforme apresentado no 
trecho de código, as variáveis são declaradas com tipo de 
acesso restrito na classe No , inexistindo no código 
qualquer classe com nome Lista. 
 
 Pergunta 10 
1 em 1 pontos 
 
 Uma lista encadeada é uma sequência de elementos organizados um 
após o outro, com cada elemento conectado ao próximo elemento por 
um link. Uma prática comum de programação é colocar cada elemento 
junto com o link para o próximo elemento, resultando em um 
componente denominado nó. 
 
Considerando essas informações e o conteúdo estudado sobre listas 
encadeadas, analise as afirmativas a seguir e assinale V para a(s) 
verdadeira(s) e F para a(s) falsa(s). 
 
I. Ao usar uma lista, aloca-se espaço no início e esse espaço permanece 
fixo; se for alocado muito e o espaço permanecer sem uso, há 
desperdício recursos. 
II. A desvantagem de usar uma lista encadeada no lugar de uma matriz é 
que a lista encadeada pode crescer dinamicamente. 
III. Em uma lista encadeada, o espaço alocado em memória é fixo, o que a 
torna uma estrutura flexível, à medida que você adiciona ou remove 
dados da memória. 
IV. Usando uma linguagem orientada a objetos, como Java, pode-se 
modelar a lista encadeada, usando instâncias de nós separadas, 
conectadas para construir uma lista encadeada. 
 
Agora, assinale a alternativa que apresenta a sequência correta: 
 
~Sua resposta está correta. Conforme apresentado no conteúdo, ao usar 
uma lista encadeada ao invés de um array, o espaço em memória é 
alocado dinamicamente, à medida que novos dados são incluídos ou 
excluídos da estrutura de dados. 
Resposta Selecionada: 
V, F, F, V. 
Resposta Correta: 
V, F, F, V.

Outros materiais