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