Buscar

AOL 2 Programação e Estrutura de Dados

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

1. Pergunta 1
/1
Antes de adicionar elementos à Lista Duplamente Ligada, deve-se, primeiramente, saber em qual extremidade serão inseridos esses elementos. Caso sejam inseridos no início da lista, é preciso haver uma instrução diferente do último item da lista.
 
Com base nessas informações e no conteúdo estudado, pode-se afirmar que correspondem à inserção na última extremidade da Lista Ligada:
 
I. primeiroNode = ultimoNode = new Node(valor, null,null);
II. primeiroNode = new Node(valor, primeiroNode,null);
III. ultimoNode.setProximo( new Node(valor, null,ultimoNode));
IV. ultimoNode = ultimoNode.getProximo();
 
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
I e II
2. 
III e IV
Resposta correta
3. 
II e III
4. 
I, II e III
5. 
I, II e IV
2. Pergunta 2
/1
A Lista Duplamente Ligada é uma lista de alocação dinâmica baseada na Lista Ligada, porém ela tem como característica possuir referências do seu Nó próximo e Nó anterior. A cada inserção ou remoção de elementos, os atributos anterior e próximo devem ser editados.
Para realizar uma navegação nos itens de uma Lista Ligada, alguns procedimentos devem ser realizados.
 
Considerando os conteúdos estudados no livro da disciplina, analise as afirmativas a seguir que descrevem esses procedimentos.
 
I. Cria-se uma recursão para navegar nas estruturas.
II. Cria-se uma variável auxiliar do mesmo elemento do primeiro Nó.
III. Cria-se um loop até ser menor que o número de elementos contidos.
IV. Seta-se o Nó auxiliar para seu próximo Nó.
V. Seta-se o Nó auxiliar para seu Nó anterior.
VI. Cria-se um loop até o Nó auxiliar ser nulo.
 
Está correto apenas o que se afirma em:
Ocultar opções de resposta 
1. 
II, VI e V
2. 
I, III e V
3. 
II, III e IV
4. Incorreta: 
I, VI e V
5. 
II, IV e VI
Resposta correta
3. Pergunta 3
/1
A Lista Duplamente Ligada possui muitas similaridades com a Lista Ligada. A função buscar recebe o valor do tipo da lista via argumento e faz uma varredura dentro da estrutura do Node, procurando o valor que foi recebido. Caso encontre o valor do Node, ele imprime o valor em tela “Encontrado:”, e retorna true, afirmando que foi encontrado o valor. Caso contrário, aparecerá “Não Encontrado:” o valor, e retornará false.
 
Observe o código fonte a seguir:
public boolean buscar(int aux) {
    No atual = primeiroNo;
    while (atual != null) {
      if ( _____________ ) {
        System.out.println("Encontrado:"+aux);
        return true;
      }
      atual = atual.getProximo(); 
    } 
    System.out.println("Não Encontrado:"+aux); 
    return false; 
  } 
 
Com base nessas informações e nos conteúdos estudados, pode-se afirmar que a função que entra no comando if é:
Mostrar opções de resposta 
4. Pergunta 4
/1
Para imprimir os valores da lista ligada, é necessário fazer um LOOP dentro da primeira estrutura até a última, entrando em um Nó especifico. Por meio da referência do próximo, navega-se até a última referência, que é o null, através do método getProximo().
Considerando o texto-base e os conteúdos estudados, é correto afirmar que o nó específico utilizado para navegar em toda a estrutura é:
Ocultar opções de resposta 
1. 
No
2. 
meioNo
3. 
getProximo()
4. 
ultimoNo
5. 
primeiroNo
Resposta correta
5. Pergunta 5
/1
O vetor é uma estrutura de dados que recebe os dados de forma aberta e sem critério. Esse formato faz com que, em geral, dados sejam desordenados conforme são inseridos, de modo que os dados devam ser ordenados posteriormente.
Veja abaixo um exemplo de comportamento de um algoritmo:
  
Tem por objetivo a ordenação dos dados a partir de 2 em 2, trocando sempre o maior valor pelo menor valor e percorrendo o vetor por diversas vezes.
 
De acordo com o texto-base e os conteúdos estudados, é possível afirmar que o nome do algoritmo descrito no exemplo é:
Ocultar opções de resposta 
1. 
Método Merge Sort,
2. 
Método Insertion Sort
3. 
Método Quick Sort
4. 
Método Bubble Sort
Resposta correta
5. 
Método Selection Sort
6. Pergunta 6
/1
A recursão é uma técnica da programação que faz com que uma função se referencie. Muitos algoritmos não usam recursão, utilizando loops no lugar. Porém, tudo que pode ser recursivo pode ser um loop. Uma das aplicações de recursão se dá no algoritmo que está contido na descrição abaixo:
 
Esses algoritmos consistem na aplicação do método dividir e conquistar. Aplicando recursão, divide-se o vetor em partes, buscando um valor arbitrário chamado de pivô. Os valores ordenados à direita são maiores que o pivô, enquanto os valores à esquerda do pivô são menores, o que é chamado de forma recursiva. Faz-se, assim, a mesma ordenação entre as Subarrays.
 
Considerando o texto-base e os conteúdos estudados, pode-se afirmar que o nome do algoritmo descrito é:
Ocultar opções de resposta 
1. 
Bubble Sort
2. 
Quick Sort
Resposta correta
3. 
Insertion Sort
4. 
Selection Sort
5. 
Collection Sort
7. Pergunta 7
/1
A Pilha em formato de alocação estática implementa fortemente o vetor, trazendo suas características. De forma geral, os métodos que são acessados, tanto na alocação estática, quanto na dinâmica, possuem o mesmo nome e fornecem o mesmo resultado. A diferença se dá na sua estrutura.
Observe o código da função peek ou topo a seguir:
 
public class Pilha {
  private int vetorPilha[];
  private int topo;
public int peek() {
 // COMANDO
  ________________________ 
  }
...
}
Considerando essas informações e seus conhecimentos sobre a alocação estática da Pilha, pode-se afirmar que o código que completa a função peek ou topo é:
Ocultar opções de resposta 
1. 
return vetorPilha[topo--];
2. 
return vetorPilha[topo];
Resposta correta
3. 
return (topo == vetorPilha.length - 1);
4. 
 pilha.push();
5. 
vetorPilha = new int[max];
8. Pergunta 8
/1
Na API Collection, da Linguagem Java à Lista Ligada, existe uma Classe escrita chamada LinkedList, que possui os mesmos comportamentos que a Lista Ligada. Seu código, porém, é todo encapsulado, tornando acessíveis apenas os métodos. Embora em todas as classes na Collection os comportamentos possuam o mesmo nome, em cada classe ou estrutura seu funcionamento é diferente.
 
Assim, considerando as informações apresentadas e os conteúdos estudados, analise as operações a seguir e associe-as com suas respectivas características:
 
1) contains.
2) add.
3) remove.
4) clear.
5) size.
 
( ) Remove elementos da estrutura.
( ) Insere elementos na estrutura.
( ) Busca elemento na estrutura.
( ) Retorna quantidade de elementos na estrutura
( ) Limpa a estrutura , removendo todos os seus elementos
 
Agora, assinale a alternativa que apresenta a sequência correta:
Ocultar opções de resposta 
1. 
3, 5, 4, 2, 1
2. 
3, 2, 1, 5, 4
Resposta correta
3. 
3, 2, 4, 5, 1
4. 
3, 1, 2, 3, 5
5. 
3, 4, 5, 1, 2
9. Pergunta 9
/1
A ordenação está presente em diversas linguagens de programação e é um dos tópicos de Estrutura de Dados, que visa ordenar dados desordenados. Existem muitos algoritmos para ordenação de dados, e esses algoritmos se comportam de maneiras diferentes: há algoritmos que utilizam recursão, funções, loops e buscas. 
 
Assim, e considerando os conteúdos estudados no livro da disciplina, analise as afirmativas a seguir sobre as características dos métodos de ordenação de algoritmos. 
 
I. O tempo é importante para a ordenação. 
II. A ordenação pode conter troca de dados. 
III. Alguns algoritmos usam recursão, enquanto outros usam somente loops, ou a mescla entre eles. 
IV. O uso de objeto Collection é padrão para todas as linguagens. 
 
Está correto apenas o que se afirma em: 
Ocultar opções de resposta 
1. 
I, II e III
Resposta correta
2. 
I, II e IV
3. 
II, III e IV
4. 
I, III e IV
5. 
I e IV
10. Pergunta 10
/1
A TAD (Tipo Abstrato de Dados) Pilha é uma variação da Lista Linear que possui características semelhantes a uma pilha do mundo real, armazenando os valores inseridos no formato de LIFO – Last In First Out (O último que entra é o primeiro a sair).
 
Analise a sequência a seguir:
 
Pilha p=new Pilha();
p.push(“A”);
p.push(“D”);
p.push(“Ô);
p.push(“O”);
p.pop();
p. pop( );
p. pop( );
 
Com base nessas informações e no conteúdo estudado, pode-se afirmar que o estado da Pilha, ao final das operações apresentadas na sequência, será:
Ocultar opções de resposta 
1. 
p [ Ã , O]
2. 
p [ A ]
Resposta correta
3. 
p [ O ]
4. 
p [ null ]
5. Incorreta: 
p [ A, D ]

Outros materiais