Buscar

AOL 4

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

Prévia do material em texto

Ocultar opções de resposta 
Pergunta 1 -- /1
A busca binária, é uma busca que tem por objetivo receber uma estrutura ordenada e fazer uma comparação 
parcial do dado que é tratado com o tamanho da metade da sua estrutura, caso o dado seja maior que a metade 
da estrutura o algoritmo faz um loop na segunda metade da estrutura, caso seja menor faz um loop na metade 
da estrutura, esse formato elimina de um total de valores praticamente metade de comparações, tendo como 
tamanho O(n/2), pois independente de ter o dado ou não na estrutura somente vai percorrer uma metade.
Agora, leia o código-fonte a seguir:
public static boolean buscaBinaria(int[] vetor, int pesquisar) {
 if ( … ) {
 for (int pos = 0; pos < vetor.length; pos++) {
 if (pesquisar == vetor[pos]) {
 System.out.println("Localizado");
 return true;
 }
 }
 } else {
 for (int pos = vetor.length; pos > 0; pos--) {
 if (pesquisar == vetor[pos]) {
 System.out.println("Localizado");
 return true;
 }
 }
 }
 return false;
}
Considerando essas informações e o conteúdo estudado, a alternativa que corresponde ao comando IF do 
código acima é:
pesquisar == vetor[(int) (vetor.length / 2)].
pesquisar >= vetor[(int) (vetor.length)].
Resposta corretapesquisar >= vetor[(int) (vetor.length / 2)].
pesquisar != vetor[(int) (vetor.length)].
pesquisar <= vetor[(int) (vetor.length)].
Pergunta 2 -- /1
Ocultar opções de resposta 
A busca por profundidade no grafo é uma das principais que podem ser executadas. Ela necessita da matriz de 
adjacência para poder percorrer os vértices. A busca por profundidade é conhecida por percorrer até o último 
vizinho de um vértice por vez, ou seja, percorre todo o caminho até o final de um vizinho, vai para o próximo e 
segue até o fim.
Analise a situação a seguir:
Com base nessas informações e no conteúdo estudado, podemos dizer que o comando que retorna o resultado 
da busca DFS em A é:
BQ04 - Tópicos Integradores II(ADS) - Questão 8.PNG
B-C-D 
Resposta corretaB-C-E 
E-C-D
B-D-E 
B-E-D
Pergunta 3 -- /1
Existem muitas formas de navegação dentro de um grafo. Uma das mais comuns é a matriz de adjacência, uma 
matriz que possui o mesmo número de linhas e de colunas – ou seja, quadrada – e sua quantidade de 
elementos, tanto linhas quanto colunas, é o total de vértices do grafo. Nesse sentido, toda matriz de adjacência 
sempre será bidimensional. Essa é uma das principais formas de visualização de grafos dentro dos algoritmos, 
onde estes recebem a matriz e fazem o processamento pelas ligações dos vértices.
Analise a situação a seguir:
Com base nessas informações e no conteúdo estudado, dizemos que o grafo que corresponde a essa matriz é:
BQ04 - Tópicos Integradores II(ADS) - Questão 4.PNG
Ocultar opções de resposta 
Ocultar opções de resposta 
F-G-X.
G-F-X.
F-X e G isolado.
X-F-G.
Resposta corretaF-X-G.
Pergunta 4 -- /1
A função hash tem como objetivo tratar os dados como posição de memória. Sendo assim, um dado que não 
tenha comparações, possuirá apenas uma operação para busca em N dados. Essa função é muito utilizada em 
dicionários de palavras e outras coisas que precisam analisar muitos dados. Ao utilizar o hash na linguagem 
Java, cada variável ou objeto possuirá uma posição específica, pois essa numeração surge dos cálculos da JVM 
(Java Virtual Machine).
Com base nessas informações e no conteúdo estudado, podemos dizer que a função para pegar o valor hash de
um Objeto Pilha com a tipagem Integer da classe Stack é:
new Stack<Integer>.hashCode();
new Stack<Integer>().toHashCode();
new Stack<Integer>().toHash();
new Stack().hashCode();
Resposta corretanew Stack<Integer>().hashCode();
Pergunta 5 -- /1
Ocultar opções de resposta 
As arestas são a principal forma de manipular e modelar o grafo e, dependendo da aresta, até de classificá-lo 
como um todo. É um modelo que foca mais nas ligações do que nos dados em si. Em resumo, a aresta é a 
ligação dos vértices ou nós que, em conjunto, formam um caminho e uma estrutura organizada sem topologia ou 
ordem de dados.
Sobre o formato A -> B, B <- C, e D - A, pode-se afirmar que:
A, B e C são orientadas ponderadas, enquanto D com A são orientadas. 
A, B e C não são orientadas, enquanto D com A são orientadas.
Resposta corretaA, B e C são orientadas, enquanto D com A não são orientadas.
A, C e D não são orientadas, enquanto B com A são orientadas.
A, C e D são orientadas, enquanto B com A não são orientadas.
Pergunta 6 -- /1
A pilha é uma estrutura de dados homogênea, que se comporta mais ou menos da mesma forma que uma pilha 
do mundo real, tendo seus dados organizados na estrutura LIFO (Last in First Out). Uma das aplicações das 
pilhas é no algoritmo de busca de grafos, no DFS que busca por profundidade, onde sua busca aplica-se em 
receber um vértice e retornar todos os caminhos atrelados a partir dele.
Analise a situação a seguir:
public void buscaDFS(Grafo_MA adj) { /*Grafo_MA adj é matriz de adjacência*/
 this.resetar(adj);
 Stack<Vertice> pilha = new Stack<>();
 adj.getNo(0).setVisitado(true);
 pilha.add(adj.getNo(0));
 System.out.print(adj.getNo(0).getNome());
 while (!pilha.isEmpty()) {
 /*chamada da função getIDVizinhos com argumentos de matriz de adjacência e o índice do topo da pilha*/
 DECLARAÇÃO IDVIZINHO
 if (idVizinho == -1) {
 pilha.pop()
 ;} else {
Ocultar opções de resposta 
 adj.getNo(idVizinho).setVisitado(true);
 pilha.push(adj.getNo(idVizinho));
 System.out.print("," + adj.getNo(idVizinho).getNome());
 }
 }
}
Com base nessas informações e no conteúdo estudado, o código que corresponde à declaração de idVizinho no 
DFS é:
int idVizinho = this.getVertices (adj,pilha.peek ().getIndice ());
int idVizinho = this.getVertices (pilha.peek ().getIndice (), pilha.peek ().getIndice ()); 
int idVizinho = this.getIDVizinhos (pilha.peek ().getIndice (),pilha.peek ().getIndice ());
int Vizinho = this.getIDVizinhos (0, pilha.peek ().getIndice ());
Resposta corretaint idVizinho = this.getIDVizinhos (adj, pilha.peek ().getIndice ());
Pergunta 7 -- /1
As tabelas hash podem ser desenvolvidas à mão, porém, no Java existe a chamada API Collection, que auxilia 
na aplicação desta estrutura sem necessariamente precisar criar do zero, através da interface SET<T> com a 
instanciação da classe HashSet<T> (). Embora esteja usando a interface SET, os comandos para inserir, editar, 
pesquisar e remover possuem, basicamente, a mesma sintaxe para quase todas as coleções.
Analise a situação a seguir:
import java.util.HashSet;
import java.util.Set;
public class Prj_Hash {
 public static void main(String args[])
 {
 Set<Integer> hasht=new HashSet<Integer>();
 hasht.add(100);
 System.out.println("remover:"+hasht.remove(100));
 System.out.println("contains:"+ hasht.contains(100));
 }
}
Ocultar opções de resposta 
Assim, considerando as informações apresentadas e os conteúdos estudados, analise as operações a seguir e 
associe-as às suas respectivas características:
1) add
2) remove
3) contains
4) iterator
5) isEmpty
I. ( ) Remove elementos da estrutura
II. ( ) Retorna um objeto navegável através de um padrão de projeto
III. ( ) Retorna se contém elementos na estrutura ou não
IV. ( ) Busca elementos na estrutura
V. ( ) Insere elementos na estrutura
Agora, assinale a alternativa que apresenta a sequência correta:
2, 4, 5, 1, 3.
Resposta correta2, 4, 5, 3, 1.
5, 4, 2, 3, 1.
2, 5, 4, 3, 1.
1, 2, 4, 3, 5.
Pergunta 8 -- /1
O grafo é uma estrutura que contempla vértices e arestas. Sua estrutura não possui topologia ou ordem 
específica de inserção, remoção ou edição, pois um dos objetivos primordiais dos grafos é modelar um problema 
do mundo real. Por esse motivo, diversos tipos de grafos acabam coexistindo, cada um com suas características 
particulares.
Analise a situação a seguir:
As escalas da higienização de trens de 5 estações têm sido um grande problema para uma empresa de 
prestação de serviços. Foi sugeridoque seu sistema corporativo tivesse uma funcionalidade que gerasse essas 
escalas automaticamente, de acordo com as seguintes regras: deve ser em horários de menor movimento, todos 
os vagões de um trem devem estar a 4 estações de igual tempo de distância um do outro.
Com base nessas informações e no conteúdo estudado, uma das possibilidades de grafo para modelar esse 
case seria um:
Ocultar opções de resposta 
Ocultar opções de resposta 
grafo ponderado não conectado.
grafo ponderado não conectado.
Resposta corretagrafo orientado.
grafo ponderado.
grafo não conectado.
Pergunta 9 -- /1
Uma das formas de navegar no grafo é através da lista de adjacência, que possui dois atributos: o vértice e a 
lista de vizinhos. Em vez de armazenar as arestas, armazena os vizinhos. Uma das vantagens da lista de 
adjacência é que ela não utiliza uma matriz como base e, portanto, pode ter tamanho indefinido.
Analise a situação a seguir:
public ArrayList buscarVizinhos (Vertice noaux)
{
return
new ArrayList <> (arestas [noaux.getIndice () ]);
}
No código-fonte acima, há uma criação estática, ou seja, com quantidades fixas de vértices. Foi utilizado um 
vetor de arestas para poder alocar os vizinhos.
Com base nessas informações e no conteúdo estudado, podemos dizer que o comando utilizado para buscar o 
vizinho de um nó é:
buscarVizinhos (new int [1] [1]); 
buscarVizinhos (new Grafo (1));
Resposta corretabuscarVizinhos (new Vertice ("A",1)); 
buscarVizinhos (new Aresta (1));
buscarVizinhos (1); 
Ocultar opções de resposta 
Pergunta 10 -- /1
O hash é uma estrutura de dados que se fundamenta no conceito de hashing, que, resumindo, trata-se de uma 
série de cálculos de dados juntamente com a quantidade de espaços disponíveis em memória. Esta técnica é 
muito utilizada em criptografia de textos, números, dados em geral e até bits. As principais formas de criptografia 
provêm de uma variação do hashing que carrega não somente o dado, mas a quantidade de bits e constantes 
(variáveis estáticas), para poder criptografar um dado de forma única.
Analise a situação a seguir:
public static int getHashCode(int valor, int tamanho){
 ----------------
 return hashcode; 
}
Com base nessas informações e no conteúdo estudado, podemos dizer que o cálculo do hashing do código 
acima é:
int hashcode = Math.pow(valor,tamanho);
int hashcode = Math.random() * (valor / tamanho) * 10;
int hashcode = valor + tamanho / tamanho;
int hash = valor % tamanho;
Resposta corretaint hashcode = valor % tamanho;

Continue navegando