Buscar

Programação e Estrutura de Dados - AOL2

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

Avaliação On-Line 2 (AOL 2)
1. Pergunta 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á:
p [ A ]
Resposta correta
2. Pergunta 2
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:
III e IV
Resposta correta
3. Pergunta 3
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:
II, IV e VI
Resposta correta
4. Pergunta 4
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 é:
return vetorPilha[topo];
Resposta correta
5. Pergunta 5
Um Nó ou Node é uma estrutura referenciável dentro de uma Lista Ligada, Pilha, Fila ou Árvore. Todo o Node é caracterizado por dois atributos: valor e próximo. Em algumas estruturas ele é diferenciado em direita e esquerda, enquanto em outras há uma lista de referências que pode fazer ligações n com diversos nodes ao mesmo tempo, formando algumas ligações que remetem a topologias como as de rede, por exemplo. Em formato de Programação Orientado a Objetos, um Node é uma classe que utiliza conceitos de encapsulamento.
 
De acordo com os conteúdos estudados e o texto-base, é correto afirmar que uma estrutura caracterizada por auxiliar um elemento de uma lista node a acessar outra lista Node é exemplificada por:
public Node getProximo()
Resposta correta
6. Pergunta 6
Ao entrar em uma estrutura da API Collection nas estruturas sequenciais, consegue-se navegar por IDs. Quando se tem as estruturas de conjuntos e mapas, elas navegam via for-each, a partir do padrão de projeto iterator.
 
Considerando uma LinkedList de nome “lista do tipo int.”, a instrução de navegação com o iterator em uma LinkedList nesde formato é:
for(int x: lista){ System.out.println( x);}
Resposta correta
7. Pergunta 7
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 é:
aux == atual.getValor()
Resposta correta
8. Pergunta 8
A Lista Ligada e Duplamente Ligada possui a função isEmpty(), uma função cuja convenção mundial de programadores determina que é uma nomenclatura que significa, literalmente, “está Limpa ?”. Nesse caso, ela retorna true para sim, e false para não, considerando que “limpa” ou “não limpa” determina se ela está cheia. No caso da isEmpty, por representar um atributo booleano, é a única exceção, dentro da programação orientada a objetos, que não utiliza geter’s e seter’s no encapsulamento.
 
Agora analise o código da função a seguir, sabendo que primeiroNo é uma classe Node.
 
 public boolean isEmpty() {
    return primeiroNo;
  }
 
A partir dessas informações e dos conteúdos estudados, analise as alternativas a seguir sobre o código acima.
I. A linha do return poderia ser substituída por (primeiroNo == null) ? true : false.
II. O objeto primeiroNo é uma instância da classe Lista.
III. O tipo de retorno de isEmpty() está de acordo com o tipo do valor que armazena a estrutura.
IV. O objeto primeiroNo representa a ocorrência de algum nó na estrutura.
V. A função retorna a quantidade de elementos da estrutura.
I e IV
Resposta correta
9. Pergunta 9
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 é:
Método Bubble Sort
Resposta correta
10. Pergunta 10
Algumas técnicas de programação são necessárias para que uma determinada lógica possa ser executada. De forma geral, a lógica de programação utiliza as condições, os loops e funções para poder executar quase todos os algoritmos. 
Há também uma técnica na programação que permite ao programa criar funções que se auto referenciam, passando argumentos que façam com que a função tenha um critério de parada. Isso ocorre para que possa ser finalizado o ciclo de chamadas pois, caso contrário, ele se transforma em um ciclo sem fim, tornando–se um loop infinito. 
 
De acordo com as informações apresentadas no texto base, é possível afirmar que o conceito descrito se chama:
 recursão
Resposta correta

Continue navegando