Buscar

ESTRUTURA DE DADOS COM ORIENTACAO A OBJETOS Atividade 1

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 14 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 14 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 14 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

Prévia do material em texto

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ó.
a.
V, V, F, F.
b.
F, F, V, V.
c.
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
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.
d.
V, F, F, V.
e.
V, V, V, F.
Feedback
A 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
Questão 2
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
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:
a.
Lista duplamente encadeada circular.
b.
Lista duplamente encadeada.
c.
Lista simplesmente encadeada circular.
d.
Lista simplesmente encadeada.
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.
e.
Lista circular.
 
	QUESTÃO 10
	Estruturas de dados
	2.1 Estruturas dinâmicas de dados
	Tipo de questão: Verdadeiro ou falso
	Nível de dificuldade da questão: Difícil
Feedback
A resposta correta é: Lista simplesmente encadeada.
Questão 3
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
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. 
a.
V, V, F, V.
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.
b.
V, F, V, F.
 
	QUESTÃO 11
	Lista Duplamente Encadeada
	2.2.2   Lista Duplamente Encadeada
	Tipo de questão: Verdadeiro ou falso
	Nível de dificuldade da questão: Média
c.
F, V, V, F.
d.
F, F, V, V.
e.
V, F, F, V.
Feedback
A resposta correta é: V, V, F, V.
Questão 4
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
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:
a.
I e III.
b.
III e IV.
 
	QUESTÃO 15
	Estruturas de dados
	2.1 Estruturas estáticas de dados
	Tipo de questão: Complementação múltipla
	Nível de dificuldade da questão: Difícil
c.
I e II.
d.
II e III.
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.
e.
II e IV.
Feedback
A resposta correta é: II e III.
Questão 5
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Definimos uma lista como uma sequência finita e ordenada de itens de dados conhecidos como elementos, de modo que cada elemento tenha uma posição na lista, que pode ser indicada por um ponteiro, sendo composta por células que apontam para o próximo elemento dessa lista.
 
Considerando essas informações e o conteúdo estudado sobre a lista,
analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
 
I. Em uma lista, o número de elementos armazenados é chamado de comprimento da lista.
II. As listas classificadas têm seus elementos posicionados em ordem crescente de valor, de forma a ter o valor de seus elementos relacionado com sua posição na lista.
III. O início da lista é chamado de cabeçalho, o final da lista é chamado de cauda.
IV. As listas simplesmente encadeadas têm dois ponteiros, que indicam seus elementos sucessores e antecessores.
 
~Sua resposta está correta. Conforme apresentado no conteúdo, as listas encadeadas têm um início e um fim definidos, denominados cabeçalho e cauda, sendo que seu comprimento corresponde ao número de elementos que existem na lista. A lista ainda pode ter seus dados classificados e relacionados com sua posição na lista.
a.
F, V, F, V.
b.
V, F, V, F.
c.
F, F, V, V.
 
	QUESTÃO 6
	Listas duplamente encadeadas
	2.2.1 Listas duplamente encadeadas
	Tipo de questão: Verdadeiro ou falso
	Nível de dificuldade da questão: Média
d.
V, F, F, V.
e.
V, V, V, F.
Correto
Feedback
A resposta correta é: V, V, V, F.
Questão 6
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
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 essasinformaçõ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 pode ter um único nó, chamado de sentinela, nó cabeça ou header.
 
Agora, assinale a alternativa que apresenta a sequência correta:
a.
V, F, V, F.
b.
F, V, V, V.
c.
V, V, F, V.
 
	QUESTÃO 9
	Listas encadeadas
	2.2 Estruturas dinâmicas de dados
	Tipo de questão: Afirmação incompleta
	Nível de dificuldade da questão: Fácil
d.
V, V, F, F.
e.
F, F, V, V.
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.
Feedback
A resposta correta é: F, F, V, V.
Questão 7
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Existem muitas especificidades pertinentes a linguagem Java que podem induzir o desenvolvedor a cometer erros sutis. Um exemplo clássico é declaração de múltiplas variáveis de array em uma única declaração é um exemplo.
Agora analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
 
I.  Na declaração array: int[ ] a, b, c, todas as variáveis estão declaradas como variáveis do tipo arrays de inteiro.
II.  Na declaração array: int[ ] a, b, c, a variável a está declarada como um array de inteiros e as demais variáveis b e c, são declaradas como tipos básicos inteiros.
III.  Na a declaração int a[ ], b, c a variável a é uma variável do tipo array e as demais são do tipo int.
IV.  Uma forma simplificada de declaração variável de arrays é utilizar a classe Arraylist e declarar as variáveis desejadas de forma sequencial.
a.
F, V, F, V.
b.
F, F, V, V.
 
	QUESTÃO 14
	Lista simplesmente encadeada
	2.2.1 Lista Simplesmente Encadeada
	Tipo de questão: Verdadeiro ou falso
	Nível de dificuldade da questão: Difícil
c.
V, F, V, F.
Sua resposta está correta. Este tipo de exercício serve para testar a atenção do desenvolvedor quanto às declarações de múltiplas variáveis. Para o exemplo apresentado, int[ ] a, b, c, caso a, b e c devam ser declarados como variáveis de array, então essa declaração está correta - colocar os colchetes logo depois do tipo indicaria que todos os identificadores na declaração são variáveis de array. Caso se deseje somente declarar a como um array inteiro e b e c como inteiros, a declaração int a[ ], b, c atenderia à necessidade. Este é o tipo de declaração que pode induzir o desenvolvedor ao erro.
d.
F, V, V, F.
e.
V, V, F, F.
Feedback
A resposta correta é: V, F, V, F.
Questão 8
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
Um vetor é uma estrutura de dados que armazena uma sequência de objetos, todos do mesmo tipo, em posições consecutivas da memória RAM. Analise trecho de código Java a seguir:
 
 
 
	public class Vetor  {     public static void main (String[] args)      {                 int[] vetor1;       vetor1= new int[5];       vetor1 [0] = 10;       vetor1 [1] = 20;       vetor1 [2] = 30;       vetor1 [3] = 40;       vetor1 [4] = 50;       for (int i = 0; i < vetor1.length; i++)          System.out.println("Elemento no índice " + i +                                        " : "+ vetor1 [i]);               } }
 
Considerando essas informações e o conteúdo estudado sobre vetores, assinale a alternativa que indica as operações que estão sendo realizadas no trecho de código apresentado.
 
~Sua resposta está correta. Um array deve ser criado declarando seu tipo e depois deve ser inicializado. No exemplo específico, após sua inicialização com tamanho fixo igual a cinco (5), para cada elemento do índice, atribuiu-se um valor. O vetor é percorrido do início ao fim, apresentando todos os seus elementos na sequência.
a.
Declaração da variável vetor1 como um array de inteiro, alocação de espaço de vetor com capacidade para 5 inteiros, inicialização dos elementos do array, acesso e apresentação dos elementos do array.
Correto
b.
Declaração do array1, criação do array vetor 1 do tipo inteiro, inicialização de alguns os elementos, e apresentação dos elementos que foram instanciados.
 
	QUESTÃO 3
	Matrizes
	2.1.3 Matrizes
	Tipo de questão: Interpretação
	Nível de dificuldade da questão: Fácil
c.
Declaração a variável vetor1 com tamanho 5, inicialização dos elementos do array, acesso aos elementos do array e apresentação dos elementos do array.
d.
Declaração da variável vetor1 com tamanho 5, criação da variável vetor1 do tipo array, inicialização dos elementos do array, acesso aos elementos do array e apresentação dos elementos do array.
e.
Inicialização do array vetor1, declaração do array vetor1, acesso aos elementos do array e apresentação dos elementos do array.
Feedback
A resposta correta é: Declaração da variável vetor1 como um array de inteiro, alocação de espaço de vetor com capacidade para 5 inteiros, inicialização dos elementos do array, acesso e apresentação dos elementos do array.
Questão 9
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
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.
a.
V, F, V, F.
 
	QUESTÃO 5
	Listas encadeadas
	2.2.1 Lista Simplesmente Encadeada
	Tipo de questão: Verdadeiro ou falso
	Nível de dificuldade da questão: Fácil
b.
V, V, F, V.
c.
V, V, V, F.
d.
F, F, F, V.
e.
V, F, F, V.
Correto
Feedback
A resposta correta é: V, F, F, V.
Questão 10
Correto
Atingiu 1,00 de 1,00
Marcar questão
Texto da questão
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. Paraa 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:
a.
V, F, V, F.
b.
V, V, F, F.
c.
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
Sua resposta está correta. Conforme apresentado no conteúdo, a implementação de uma lista duplamente encadeada é mais longa, dada a necessidade de tratativa dos controles dos nós sucessores, antecessores e da declaração dos nós cabeçalho e cauda, que são criados quando a lista é inicializada.
d.
F, F, V, V.
e.
F, V, V, F.
Feedback
A 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

Continue navegando