Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ocultar opções de resposta Pergunta 1 -- /1 O HashMap é uma estrutura hash diferenciada, pois nela você é obrigado a setar o valor junto com sua posição de memória, no entanto ao instanciar um hashmap, deve-se passar via parâtro da declaração a tipagem do índice e a tipagem do valor, no caso do exemplo abaixo, o índice é integer e o dado também, podendo assumir diversos tipos inclusive um objeto tanto como índice como quanto valor. Por conta da particularidade da inserção do índice junto com o valor a add, no hashmap não é usado e sim o put(indice,valor) para poder alocar, e o uso do constains é diferenciado pois pode-se buscar tanto por chave usando a containsKey quanto por valor containsValue.Por este motivo o hashmap é democrático pois você pode criar as posições que desejar e assim trazer mais agilidade ao programa caso necessite Analise a situação a seguir: import java.util.HashMap; import java.util.Map; public class Prj_HashMap {public static void main(String args[]){Map<Integer,Integer> mapa=new HashMap<Integer,Integer>(); mapa.put(1, 100); mapa.put(2, 200); System.out.println("remover:"+mapa.remove(2)); System.out.println("contains por chave:"+ mapa.get(1)); System.out.println("contains por chave:"+ mapa.containsKey(1)); System.out.println("contains por valor:"+ mapa.containsValue(100)); for(Integer aux: mapa.keySet() ){System.out.println(aux + "-" + aux.hashCode() + "-"+ mapa.get(aux) );} } } Com base nessas informações e no conteúdo estudado, analise as afirmativas a seguir e identifique qual dela(s) corresponde(m) ao padrão iterator na navegação da estrutura Mapa. I. Integer aux: mapa.keySet() II. new HashMap<Integer,Integer>();. III. mapa. IV. mapa.get(aux). V. mapa.getClass(). Está correto apenas o que se afirma em: V e III. Resposta corretaI e IV. II e I. IV e II. III e IV. Ocultar opções de resposta Pergunta 2 -- /1 A estrutura hash possui um dos melhores desempenhos dentro de uma grande estrutura de dados, pois sua notação de big O(1) é uma constante. Ou seja, para N dados, temos apenas um conjunto de instruções a se buscar. Porém, com a grande quantidade de dados, surge o problema da colisão, quando dados diferentes assumem o mesmo valor de hash. Existem formas de trabalhar o hashing para que isso não ocorra, porém, é preciso usar uma outra estrutura de dados para poder considerar um hash repetido de dados distintos. Uma das estruturas possíveis é a linkedlist, que faz a alocação do dado repetido ou aproximado dentro de um mesmo hash. Com base nessas informações e no conteúdo estudado, podemos dizer que a técnica utilizada para a colisão é: o load factor. o new LinkedList. o linear probing. Resposta corretao encadeamento separado. o rerash. Pergunta 3 -- /1 A busca sequencial é uma das formas mais simples de trabalhar a estrutura de dados. Seu algoritmo geralmente é um loop e não possui critérios com relação a busca em si. O que temos é somente uma condição para encontrar o dado dentro do algoritmo. Este formato de busca chama-se sequencial, pois percorre todos os elementos da estrutura de forma estática e pode ser usado em vetores e matrizes de forma dinâmica, percorrendo posições de memória ou retornando endereços de objetos diferentes de nulo. Analise a situação a seguir: for(int i=0;i< 5; i++) for(int j=i+1;j< 10; j++) Ocultar opções de resposta Ocultar opções de resposta if( ... ) System.out.println("Dado:"+buscar+" localizado"); Com base nessas informações e no conteúdo estudado, podemos dizer que a alternativa que corresponde ao comando IF acima é: buscar == numeros[j][i]. Resposta corretabuscar == numeros[i][j]. buscar = numeros[i]. buscar = numeros[j]. buscar = numeros[i][j]. Pergunta 4 -- /1 Uma ArrayList é uma estrutura da Api Collection que trabalha com alocação dinâmica, possui aplicação em diversas situações e regras de negócio. No caso dos grafos, sua aplicação pode se dar na representação da lista de adjacência. A lista de adjacência é um formato de representação de grafo, que recebe do grafo um nó e as ligações (ou vizinho) de um nó e os aloca. Quando se trata da alocação de vizinhos, que pode ser fixa ou variável, a lista encadeada ou uma estrutura dinâmica é necessária para poder alocar os vizinhos de um nó. Com base nessas informações e no conteúdo estudado, podemos dizer que o comando usado para adicionar os vizinhos em uma lista de adjacência é: setAresta (0, new Arrays.asList (ArrayList <> (new Vertice []{new Vertice ("B",1)}))); setAresta (0, new Vertice <> ({new Vertice ("B",1)})); Resposta correta setAresta (0, new ArrayList <> (Arrays.asList (new Vertice []{new Vertice ("B",1)}))); setAresta (0, new Arrays.asList (ArrayList <> (new Vertice []{new Array("B",1)}))); setAresta (0,1); Ocultar opções de resposta Pergunta 5 -- /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 sugerido que 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: grafo ponderado. grafo orientado não conectado. Resposta corretagrafo orientado. grafo não conectado. grafo ponderado não conectado. Pergunta 6 -- /1 As estruturas de dados homogêneas são estruturas que possuem indexação por profundidade, porém com apenas uma tipagem. No caso de matrizes e vetores, independentemente do tamanho “N” que possuam, eles sempre terão a mesma tipagem. Ocultar opções de resposta Ocultar opções de resposta Por isso, existem diversas aplicações para essas estruturas, sendo uma delas na forma computacional de manipular um grafo. Na classe grafo, temos os vértices e a matriz de adjacência, que deve ser populada para possuir as arestas. Porém, o grafo em si é iniciado ao executar o construtor, pois este define os tamanhos da matriz da classe. Analise a situação a seguir: class Grafo{private Vertice nos [];private int matriz [] []; public Grafo (Vertice nosaux []){...}} Com base nessas informações e no conteúdo estudado, podemos dizer que a linha que corresponde ao comando do construtor do código acima é: nos = nosaux; matriz = new int [10] [10]; nosaux = nosaux; matriz = new int [nosaux.length] [nosaux.length]; nos = nos; matriz = new int [nos.length] [nos.length]; Resposta corretanos = nosaux; matriz = new int [nosaux.length] [nosaux.length]; noaux = nos; matriz = new int [nos.length] [nos.length]; Pergunta 7 -- /1 A pesquisa de dados é um tópico da estrutura de dados que envolve o estudo dos algoritmos para sequências numéricas, seja ordenada ou desordenada, em ordem crescente ou decrescente. Neste aspecto surge, dentro da pesquisa de dados, uma ferramenta chamada análise assintótica, que recebe um algoritmo e, pelas próprias instruções, nos fornece uma fórmula matemática para analisar graficamente o comportamento deste algoritmo, em seu pior caso, no computador. Com base nessas informações e no conteúdo estudado, podemos dizer que o melhor algoritmo em pesquisa de dados, de acordo com sua fórmula, é: Resposta corretaO(1). O(N/2). O(N ).3 Ocultar opções de resposta O(N ).2 O(N). Pergunta 8 -- /1 Uma das principais aplicações de grafos em um problema de logística é achar o menor caminho para várias entregas. No caso, cada ponto de entrega seria um vértice e cada rua, avenida ou caminho, seriam as arestas. Porser um problema recorrente em grafos, existem diversos algoritmos para isso. Um deles se destaca por ser um dos mais simples para resolver este problema. Trata-se da árvore geradora mínima ou MST (Minimum Spanning Tree), que percorre os vizinhos até o fim e verifica se algum deles possui uma conectividade com os nós do grafo. Com base nessas informações e no conteúdo estudado, podemos dizer que o algoritmo usado no MST como forma de criar uma árvore geradora mínima é: lista de adjacência. BFS ou busca por largura. Resposta corretaDFS ou busca por profundidade. matriz de incidência. matriz de adjacência. Pergunta 9 -- /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 Ocultar opções de resposta Ocultar opções de resposta 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 é: Resposta corretaint hashcode = valor % tamanho; int hash = valor % tamanho; int hashcode = valor + tamanho / tamanho; int hashcode = Math.pow(valor,tamanho); int hashcode = Math.random() * (valor / tamanho) * 10; Pergunta 10 -- /1 A fila é uma estrutura de dados homogênea, que tem por objetivo organizar e alocar os elementos da sua estrutura na forma de LIFO (Last in First Out), fazendo com que o primeiro a ser inserido seja removido. Sua função nos grafos se encontra dentro da busca por largura, removendo o nó visitado e buscando primeiro seus vizinhos em nível, assim, adicionando os vizinhos até chegar nos nós finais. Analise a situação a seguir: A-B-C-D A-E A-F-G-H Com base nessas informações e no conteúdo estudado, podemos dizer que o uso da fila em BFS, nesse caso, é: Resposta corretaB-E-F, C-G, D-H. D-H, C-G, B-E-F. B-C-D, E, F-G-H. B-C-D, F-G-H, E. B-E-F, D-H, C-G. Conteúdo do exercício Ocultar opções de resposta Pergunta 1 -- /1 As árvores dinâmicas são estruturas que organizam de forma hierárquica os dados. Existem muitas formas de representá-los: as que representam desenhos geralmente são mais simples de entender, porém mais difíceis de demonstrar em consoles de programas. Observe a figura abaixo: Com base nessas informações e no conteúdo estudado, determine o nome da representação da árvore na figura: ESTRUTURA DE DADOS-unid03-Q4_v1.PNG Representação encadeada Parênteses aninhados Nó Hierárquica Resposta corretaDiagrama de inclusão Pergunta 2 -- /1 Ocultar opções de resposta A árvore é uma estrutura que é composta de node e suas ligações, porém sua organização e forma de utilização dependem do algoritmo escolhido, pois, utilizando uma árvore binária, os nós poderão possuir somente dois filhos e, dependendo das regras de balanceamento a cada nó inserido, ocorrerá o realinhamento de todos os nós. A árvore, diferente das demais estruturas, possui diversas propriedades, conceitos e terminologias que não se aplicam a outras estruturas. Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s): I. ( ) Node é uma estrutura referenciável que armazena valores dentro de uma árvore. II. ( ) Cada Node possui apenas um Pai. III. ( ) Cada Node pode possuir vários “irmãos”. IV. ( ) Cada Node poderá ter dois antecessores. Agora, assinale a alternativa que apresenta a sequência correta: Resposta corretaV, V, V, F V, V, F, V V, V, F, F V, V, F, V V, F, V, V Pergunta 3 -- /1 Muitos elementos em várias estruturas possuem formas de ligação, como uma página web com âncoras ou links que apontam para outra página web. Um vetor aponta para seu próximo a partir do seu tamanho máximo e, em outra estrutura, é chamada de grafo com as arestas. Ocultar opções de resposta Ocultar opções de resposta Com base nessas informações e no conteúdo estudado, é correto afirmar que, dentro de uma estrutura de árvore binária, o termo para ligação de elementos em seu conjunto é: Incorreta: interligação hyperlink link topologia Resposta corretaarco Pergunta 4 -- /1 As árvores dinâmicas são estruturas que organizam de forma hierárquica os dados. Existem muitas formas de representá-los: as que representam desenhos geralmente são mais simples de entender, porém mais difíceis de demonstrar em consoles de programas. Observe a figura abaixo: Com base nessas informações e no conteúdo estudado, determine o nome da representação da árvore na figura: ESTRUTURA DE DADOS-unid03-Q4_v1.PNG Parênteses aninhados Representação encadeada Nó Resposta corretaDiagrama de inclusão Hierárquica Ocultar opções de resposta Pergunta 5 -- /1 A Fila Dinâmica da interface Queue possui muitas similaridades com as estruturas dinâmicas de armazenamento. A função buscar recebe o valor do tipo da fila via argumento e faz uma varredura dentro da estrutura de Fila, procurando o valor recebido. Caso encontre o valor, ela o imprime na tela “Encontrado:” o valor e retorna true, fornecendo que foi encontrado o valor; caso contrário, aparecerá “Não Encontrado:” o valor e retorna-se false. Agora, leia o código-fonte abaixo: public boolean buscar(int aux) { Iterator<Integer> filaIterator = fila.iterator(); while( filaIterator.hasNext()) { if( ________________ ) { System.out.println("Encontrado"); return true; } } System.out.println("Não Encontrado:"+aux); return false; } Com base nessas informações e no conteúdo estudado, assinale a alternativa que completa o comando IF do código acima: aux == fila.next() filaIterator.next() != null Incorreta: filaIterator.next() aux != null Resposta corretafilaIterator.next()==aux Ocultar opções de resposta Pergunta 6 -- /1 As árvores são estruturas que em si são simples: possuem raiz, pais e filhos. O que diferencia uma árvore da outra é seu formato de trabalho ao inserir nós, suas regras primordiais para que a considere balanceada ou formas de balanceá-la. Cada árvore geralmente tem o nome de uma das suas regras, como, por exemplo, a árvore binária que só pode ter 2 filhos, a árvore rubro-negra que insere atributo cor nos nodes para que haja balanceamento etc. As árvores do tipo 2-3, por exemplo, são árvores diferenciadas que implementam o formato binário, e em alguns casos conseguem ser mais velozes que as demais árvores. Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir sobre a árvore do tipo 2-3 e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. ( ) possui um pai com um único valor chave. II. ( ) não possui no máximo dois irmãos. III. ( ) não possui apenas um valor na chave. IV. ( ) possui dois pais com dois valores chaves. Agora, assinale a alternativa que apresenta a sequência correta: F, V, V, V Resposta corretaF, V, V, F V, F, V, F V, V, V, V V, F, F, V Pergunta 7 -- /1 Ocultar opções de resposta Ocultar opções de resposta Dentro da estrutura de árvores, os nós terminais são extremamente importantes, pois definem o limite da estrutura. Da mesma forma que a raiz inicia a ligação entre todos os elementos, o nó terminal finaliza a busca ou percurso. Com base nessas informações e no conteúdo estudado, é correto afirmar que são os elementos terminais dessa árvore: ESTRUTURA DE DADOS-UNID03-Q19_v1.PNG 4, 5, 6 1, 2 e 3 1, 2, 3, 4, 5, 6 e null Resposta correta4, 5, 6 e null 3, 4, 5, 6, e null Pergunta 8 -- /1 A Fila é um formato de armazenamento ou organização humana que tem por objetivo organizar itens de forma que o primeiro a serorganizado ou “enfileirado” é o primeiro a sair da organização. Considerando essas informações e o conteúdo estudado, é correto afirmar que esse formato de organização é conhecido como: FILA LEFO FEFO Resposta corretaFIFO Ocultar opções de resposta LIFO Pergunta 9 -- /1 Em uma estrutura de árvore, os elementos devem estar interligados, de forma que, a partir de um elemento, consegue-se chegar em qualquer elemento da estrutura. As navegações de elementos ocorrem em diversas sequências, como pré-ordem, in-ordem e pós-ordem. Observe a árvore T abaixo: Com base nessas informações e no conteúdo estudado, assinale a alternativa que contém os percursos em árvore através dos quais se chega mais rápido ao elemento 16: ESTRUTURA DE DADOS-UNID03-Q10_v1.PNG in-ordem e pós-ordem pré-ordem e in-ordem pré-ordem Resposta corretapós-ordem in-ordem Pergunta 10 -- /1 A estrutura de árvore de representação encadeada demonstra um espaço entre os endereços dos filhos da direita e da esquerda e uma simbologia para os Nós nulos dos nós folhas ou folhas. Ocultar opções de resposta Observando a árvore acima e considerando o conteúdo estudado, identifique os valores da altura, grau da árvore e grau de saída de 16: ESTRUTURA DE DADOS-UNID03-Q16_v1.PNG altura:3, grau da árvore: 2 e grau de saída: 1 altura:1, grau da árvore: 2 e grau de saída: 3 altura: 0, grau da árvore: 2 e grau de saída:3 altura:3, grau da árvore: 1 e grau de saída: 2 altura: 3, grau da árvore: 2 e grau de saída: 0 Conteúdo do exercício Ocultar opções de resposta 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: II e III I e II I, II e IV Resposta corretaIII e IV I, II e III Ocultar opções de resposta Pergunta 2 -- /1 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 i=0;i< lista.length; i++){ System.out.println( lista[i]);} int i=0;do{ System.out.println( lista[i]); i++;} while(i< lista.length); for-each(lista){ System.out.println( lista[i]);} int i=0; while(i< lista.length){ System.out.println( lista[i]); i++;} Resposta corretafor(int x: lista){ System.out.println( x);} Pergunta 3 -- /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. Ocultar opções de resposta Ocultar opções de resposta Está correto apenas o que se afirma em: I, II e IV I e IV I, III e IV Resposta corretaI, II e III II, III e IV Pergunta 4 -- /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 é: return vetorPilha[topo--]; return (topo == vetorPilha.length - 1); Resposta corretareturn vetorPilha[topo]; Ocultar opções de resposta pilha.push(); vetorPilha = new int[max]; Pergunta 5 -- /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á: Resposta corretap [ A ] p [ à , O] p [ O ] p [ A, D ] p [ null ] Ocultar opções de resposta Pergunta 6 -- /1 O percurso em um Nó é feito sempre pelo seu atributo próximo, independente da sua topologia ou interligações, de acordo com uma varredura em uma Lista Ligada, na qual um elemento referencia outro. Leia o código a seguir: No aux=primeiroNo ; while ( aux !=null ) aux= aux.getProximo(); Assim, e considerando os conteúdos estudados no livro da disciplina, analise as afirmativas a seguir sobre o percurso de um Nó. I. No aux é o último Nó. II. O null representa o último Nó. III. No aux é o primeiro Nó. IV. Esses comandos executam erro. V. Esses comandos não executam erro. Está correto apenas o que se afirma em: I, III e IV Resposta corretaII, III e V I, II e V II, III e IV I, II e IV Pergunta 7 -- /1 Ocultar opções de resposta Ocultar opções de resposta 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: sobrecarga contador Resposta correta recursão critério de parada laços de repetição Pergunta 8 -- /1 Uma Pilha de alocação estática possui em sua propriedade uma função, que verifica se seus espaços estão alocados ou não. Esse método, por ser tratar de uma função booleana, retornará true para todos alocados e false para espaço ou espaços em branco. Implementando vetor, a alocação estática tem a vantagem de poder tratar os elementos de forma indexada, fazendo seu acesso ser mais veloz. No formato veloz, por outro lado, não tem essa possibilidade, e deve-se navegar nos elementos para acesso. De acordo com a alocação estática na estrutura Pilha, é possível afirmar que o nome da função que possui essas características é: peek() isEmpty() Ocultar opções de resposta Resposta corretaisFull() pop() search() Pergunta 9 -- /1 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. Resposta corretaI e IV III e IV I e II IV e V I e V Ocultar opções de resposta Pergunta 10 -- /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 é: No Resposta corretaprimeiroNo ultimoNo meioNo getProximo() Conteúdo do exercício Ocultar opções de resposta Pergunta 1 -- /1 Em geral, os programas contêm dados armazenados que podem corresponder a tipos diversos de acordo com a necessidade. Sendo assim, cada dado possui um formato e uma regra específica, considerando o que será alocado em memória. Nesse caso, são pensados que tipo de caracteres, letras e números podem ser usados na classificação Cadeia. Para dados que podem assumir apenas dois valores, como por exemplo “Verdadeiro” e “Falso”, o tipo mais utilizado é o Lógico. A partir das informações trazidas no texto-base, afirma-se que um cadastro de dados envolvendo números flutuantes ou fracionados terá como classificação de variável e dado o termo: Bit Inteiro Cadeia Resposta corretaReal Lógico Pergunta 2 -- /1 Ocultar opções de resposta A sintaxe (conjunto de regras e padrões de uma linguagem) do Java é baseada em um padrão de linguagens de programação e script chamado ECMA 262, um padrão que outras linguagens utilizam. O ECMA opera de maneira similar ao modo como um ISO ou W3C definem normas e regras. Embora tenha esse padrão em algumas plataformas, ele pode ser programado de maneira individual, como no uso de uma API específico do Sistema Operacional Microsoft Windows ou Linux. Nesse caso, mesmo estando no padrão ECMA, deve-se obedecer a plataforma que está sendo usada. Para uma declaração de variável, sua instrução é padrão e deve seguir uma sequência específica na ordem: String nome = “Josué” ; Considerando essas informações e o conteúdo estudado, ordene as etapas a seguir: ( ) É o tipo primitivo da linguagem. ( ) É o identificador da variável ou nome da variável. ( ) Símbolo de atribuição. ( ) Valor a ser atribuído na variável idade. ( ) Delimitador, ou seja, o final da instrução. Agora, assinale a alternativa que apresenta a sequência correta: 5, 4, 3, 2, 1 Resposta correta1, 2, 3, 4, 5 5, 4, 3, 1, 2 1, 5, 2, 4, 3 1, 2, 3, 5, 4 Pergunta 3 -- /1 A linguagem Java é uma das principais linguagens utilizadas comercialmente, e seu formato possui características que facilitam a programação, fazendo com que ela seja multiplataforma e utilizada em mais de 3 bilhões de dispositivos no mundo. Ainda que seja uma linguagem utilizada em diversas organizações, ela possui padrões, como toda linguagem. No caso específico de Java, seu padrão orientado a objetos traz propriedades de herança, polimorfismo e encapsulamento. Considerando essas informações e o conteúdo estudado, podemos afirmar que a forma correta do código- fonte do Objeto que implementa encapsulamento é: Ocultar opções de resposta Ocultar opções de resposta class Obj{ private int y; public void setX(int aux){x=aux;} public int getX(){return x;} } Resposta correta class Obj{ private int x; public void int setX(int aux){this.x=aux;} public getX(){return x;} class Obj{ private x;} class Obj{ private int x; public void setX(int aux){x=aux;} public int getX(){return x;} Pergunta 4 -- /1 Em Java, uma Collection é uma API que contém diversos objetos que podem ser usados, tais como Pilha, Fila, Árvore, Arrays e Mapas. Embora todas essas estruturas contenham alguns comportamentos padrões, como add, remove, contains, cada uma funciona de maneira diferente. Os Maps contêm complexidades diferenciadas dos demais, pois requerem uma chave (key) para poder trabalhar qualquer operação. Considerando essas informações e o conteúdo estudado, podemos afirmar que o pacote correspondente ao import da Collection dentro do Java é: java.io Resposta corretajava.util java.swing java.lang java.awt Ocultar opções de resposta Pergunta 5 -- /1 Uma classe em POO é um conjunto de instruções que primeiramente são abstraídas do mundo real. Uma situação como a primeira aula de uma escola, por exemplo, pode ser nomeada como AulaPrimeira, PrimeiraAula ou Aula1 em uma classe a partir de um primeiro contato com programação. Conforme se aprofunda em POO, torna-se possível transformar a nomenclatura para vetor de Aula ou para uma Collection de Aula em vez de usar Aula1. De acordo com essa abstração de aula, veja o código abaixo. public <comando1> < comando2> { < comando3> static < comando4> < comando5> (String []args) { //comandos } } A partir das informações contidas no texto-base, a ordem das palavras a serem inseridas no código que descreve a abstração de aula é: public class void main Aula1 Resposta corretaclass Aula1 public void main class public void main Aula1 public void main class Aula1 class public void main Aula1 Pergunta 6 -- /1 As linguagens orientadas a objetos, como Java, possuem instruções que buscam simular aspectos da vida real, transformando cada item em entidades computáveis nas quais são denominadas classes. Essas entidades possuem ações que na programação chamamos de funções ou métodos, além de propriedades denominadas de atributos ou variáveis, mas que, na memória, transformam-se em conjunto de instruções. Ocultar opções de resposta Considerando uma sintaxe simples, com uma apresentação na tela da palavra “Teste!”, pode-se afirmar que o método iniciado ao executar a classe e apresentar essa palavra é: Resposta corretamain init begin start Mai Pergunta 7 -- /1 O tipo de dado colocado em uma estrutura é o que pode definir todo o algoritmo em termos de velocidade no processador. Dependendo do dado a ser trabalhado, no entanto, não há muitas possibilidades de escolha. A Cadeia, por exemplo, é usada para armazenar letras e caracteres especiais, e não há substituto para ela em situações nas quais se deve armazenar nomes, palavras ou letras. Esse tipo de dado, porém, é naturalmente mais lento, considerando que para o computador formar cada letra é necessário que ele faça um conjunto de cálculos. A escolha do tipo de dado em uma estrutura leva em consideração alguns aspectos. Tendo isso em vista, associe cada aspecto abaixo a seu correspondente. 1) Identificador. 2) Tipo de armazenamento. 3) Velocidade em inserir dados. 4) Algoritmo de ordenação e localização de dados. ( ) O nome pelo qual a estrutura será identificada geralmente possui ligação com sua aplicação do mundo real. ( ) Se serão armazenados números, letras, valores lógicos etc. ( ) Velocidade medida geralmente em milissegundos, podendo variar dependendo do tipo de estrutura escolhida. ( ) Existem muitos algoritmos específicos para cada tipo de estrutura, que dependem da sua aplicação. Embora, às vezes, estruturas demorem mais em ordenar, elas também podem ser mais velozes em localizar os dados. Agora, assinalea alternativa que apresenta a sequência correta: Ocultar opções de resposta Ocultar opções de resposta Resposta correta1, 2, 3, 4 2, 1, 4, 3 4, 3, 2, 1 4, 3, 1, 2 1, 2, 4, 3 Pergunta 8 -- /1 O vetor é uma das estruturas mais simples de se utilizar para armazenamento de dados. Porém, em contrapartida, para uma comparação ou busca de seus elementos deve-se verificar todos os itens nele armazenados. Para verificar todos os itens utiliza-se a navegação, termo da computação que busca entrar em uma estrutura de dados e mostrar seus itens. Para navegar em uma estrutura vetorial utiliza-se o loop, pois se trata de um elemento que contém um início e um fim. Observe o exemplo: for(int cont=0;cont <=10;cont++) { vet[cont]=cont+1; System.out.println(vet[i]); } Considerando as informações do texto-base e o conteúdo estudado, podemos afirmar que, ao executar o loop acima, o que ocorrerá com o vetor na posição 3 quando a variável cont estiver com valor 3 é: vet[3] = 0 Resposta corretavet[3] = 4 vet[3] = 1 vet[3] = null vet[3] = 3 Ocultar opções de resposta Pergunta 9 -- /1 Dados, informação e conhecimento possuem, na computação, aspectos diferentes que podem fazer com que uma estrutura possa se comportar de maneira diferenciada dependendo da forma. Por exemplo: o dado é a menor partícula da computação e trabalha desde o binário até formar uma letra ou palavra. Após concluída essa etapa, organiza-se um conjunto de dados para formar uma informação que a partir de uma frase ou um parágrafo. O conhecimento é o cruzamento e relação entre diferentes frases, parágrafos e palavras. Veja os exemplos abaixo: 1- “José” – 123 – 00FF33 2- 3.141516 – true - false 3- “Há dez anos, no mês de janeiro, chove a partir de 5 centímetros neste alqueire de Saint Petersburg.” Considerando o texto-base, os exemplos listados de 1 a 3 acima podem ser classificados, respectivamente, como: Resposta corretadado, dado e conhecimento dado, dado e informação informação, informação e conhecimento informação, dado e conhecimento dado, informação e conhecimento Pergunta 10 -- /1 Leia o trecho a seguir: Ocultar opções de resposta “A média de um conjunto de valores numéricos é calculada somando-se todos estes valores e dividindo-se o resultado pelo número de elementos somados, que é igual ao número de elementos do conjunto, ou seja, a média de n números é sua soma dividida por n.” Fonte: Só Matemática. Média aritmética simples. 2019.Disponível em <https://www.somatematica.com.br/fundam/medias.php>. Acesso em: abr. 2019. De acordo com a definição de média, observe abaixo um exemplo de algoritmo que recebe dois valores e fornece sua média: Algoritmo Media Declarações n1,n2,Media: Real INICIO Leia (n1) Leia (n2) Media< - ??????????? Escreva( Media) FIM Considerando o algoritmo acima, a instrução correspondente à média aritmética para a variável Média é: Media <- n1 + n2 / 2 Media <- n1 + n2 * 2 Media <- (n1 + n2 ) * 2 Resposta corretaMedia<- (n1 + n2 ) / 2 Media<- (n1 *1 + n2*1) Ocultar opções de resposta Pergunta 1 -- /1 O HashMap é uma estrutura hash diferenciada, pois nela você é obrigado a setar o valor junto com sua posição de memória, no entanto ao instanciar um hashmap, deve-se passar via parâtro da declaração a tipagem do índice e a tipagem do valor, no caso do exemplo abaixo, o índice é integer e o dado também, podendo assumir diversos tipos inclusive um objeto tanto como índice como quanto valor. Por conta da particularidade da inserção do índice junto com o valor a add, no hashmap não é usado e sim o put(indice,valor) para poder alocar, e o uso do constains é diferenciado pois pode-se buscar tanto por chave usando a containsKey quanto por valor containsValue.Por este motivo o hashmap é democrático pois você pode criar as posições que desejar e assim trazer mais agilidade ao programa caso necessite Analise a situação a seguir: import java.util.HashMap; import java.util.Map; public class Prj_HashMap {public static void main(String args[]){Map<Integer,Integer> mapa=new HashMap<Integer,Integer>(); mapa.put(1, 100); mapa.put(2, 200); System.out.println("remover:"+mapa.remove(2)); System.out.println("contains por chave:"+ mapa.get(1)); System.out.println("contains por chave:"+ mapa.containsKey(1)); System.out.println("contains por valor:"+ mapa.containsValue(100)); for(Integer aux: mapa.keySet() ){System.out.println(aux + "-" + aux.hashCode() + "-"+ mapa.get(aux) );} } } Com base nessas informações e no conteúdo estudado, analise as afirmativas a seguir e identifique qual dela(s) corresponde(m) ao padrão iterator na navegação da estrutura Mapa. I. Integer aux: mapa.keySet() II. new HashMap<Integer,Integer>();. III. mapa. IV. mapa.get(aux). V. mapa.getClass(). Está correto apenas o que se afirma em: II e I. V e III. III e IV. Resposta corretaI e IV. IV e II. Ocultar opções de resposta Ocultar opções de resposta Pergunta 2 -- /1 Uma das principais aplicações de grafos em um problema de logística é achar o menor caminho para várias entregas. No caso, cada ponto de entrega seria um vértice e cada rua, avenida ou caminho, seriam as arestas. Por ser um problema recorrente em grafos, existem diversos algoritmos para isso. Um deles se destaca por ser um dos mais simples para resolver este problema. Trata-se da árvore geradora mínima ou MST (Minimum Spanning Tree), que percorre os vizinhos até o fim e verifica se algum deles possui uma conectividade com os nós do grafo. Com base nessas informações e no conteúdo estudado, podemos dizer que o algoritmo usado no MST como forma de criar uma árvore geradora mínima é: matriz de adjacência. lista de adjacência. matriz de incidência. Resposta corretaDFS ou busca por profundidade. BFS ou busca por largura. Pergunta 3 -- /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(); Ocultar opções de resposta Resposta corretanew Stack<Integer>().hashCode(); new Stack<Integer>().toHashCode(); new Stack<Integer>().toHash(); new Stack().hashCode(); Pergunta 4 -- /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); Resposta corretaint hashcode = valor % tamanho; int hashcode = Math.random() * (valor / tamanho) * 10; int hash = valor % tamanho; int hashcode = valor + tamanho / tamanho; Pergunta 5 -- /1 Ocultar opções de resposta Ocultar opções de resposta 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ísticasparticulares. 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 sugerido que 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: grafo ponderado. grafo orientado não conectado. grafo ponderado não conectado. grafo não conectado. Resposta corretagrafo orientado. Pergunta 6 -- /1 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 é: ESTRUT DADOS QUEST 08 UNID 4_v1.PNG Ocultar opções de resposta Resposta corretaB-C-E B-E-D B-D-E E-C-D B-C-D Pergunta 7 -- /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 é: ESTRUT DADOS QUEST 04 UNID 4_v1.PNG Resposta corretaF-X-G. X-F-G. F-X e G isolado. F-G-X. G-F-X. P t 8 /1 Ocultar opções de resposta Ocultar opções de resposta Pergunta 8 -- /1 Uma ArrayList é uma estrutura da Api Collection que trabalha com alocação dinâmica, possui aplicação em diversas situações e regras de negócio. No caso dos grafos, sua aplicação pode se dar na representação da lista de adjacência. A lista de adjacência é um formato de representação de grafo, que recebe do grafo um nó e as ligações (ou vizinho) de um nó e os aloca. Quando se trata da alocação de vizinhos, que pode ser fixa ou variável, a lista encadeada ou uma estrutura dinâmica é necessária para poder alocar os vizinhos de um nó. Com base nessas informações e no conteúdo estudado, podemos dizer que o comando usado para adicionar os vizinhos em uma lista de adjacência é: Resposta corretasetAresta (0, new ArrayList <> (Arrays.asList (new Vertice []{new Vertice ("B",1)}))); setAresta (0,1); setAresta (0, new Vertice <> ({new Vertice ("B",1)})); setAresta (0, new Arrays.asList (ArrayList <> (new Vertice []{new Vertice ("B",1)}))); setAresta (0, new Arrays.asList (ArrayList <> (new Vertice []{new Array("B",1)}))); 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){returnnew 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ó é: Ocultar opções de resposta buscarVizinhos (1); buscarVizinhos (new Aresta (1)); Resposta corretabuscarVizinhos (new Vertice ("A",1)); buscarVizinhos (new Grafo (1)); buscarVizinhos (new int [1] [1]); Pergunta 10 -- /1 A busca sequencial é uma das formas mais simples de trabalhar a estrutura de dados. Seu algoritmo geralmente é um loop e não possui critérios com relação a busca em si. O que temos é somente uma condição para encontrar o dado dentro do algoritmo. Este formato de busca chama-se sequencial, pois percorre todos os elementos da estrutura de forma estática e pode ser usado em vetores e matrizes de forma dinâmica, percorrendo posições de memória ou retornando endereços de objetos diferentes de nulo. Analise a situação a seguir: for(int i=0;i< 5; i++) for(int j=i+1;j< 10; j++) if( ... ) System.out.println("Dado:"+buscar+" localizado"); Com base nessas informações e no conteúdo estudado, podemos dizer que a alternativa que corresponde ao comando IF acima é: buscar == numeros[j][i]. buscar = numeros[j]. buscar = numeros[i][j]. buscar = numeros[i]. Resposta corretabuscar == numeros[i][j]. Ocultar opções de resposta Pergunta 1 -- /1 A Fila Dinâmica da interface Queue possui muitas similaridades com as estruturas dinâmicas de armazenamento. A função buscar recebe o valor do tipo da fila via argumento e faz uma varredura dentro da estrutura de Fila, procurando o valor recebido. Caso encontre o valor, ela o imprime na tela “Encontrado:” o valor e retorna true, fornecendo que foi encontrado o valor; caso contrário, aparecerá “Não Encontrado:” o valor e retorna-se false. Agora, leia o código-fonte abaixo: public boolean buscar(int aux) { Iterator<Integer> filaIterator = fila.iterator(); while( filaIterator.hasNext()) { if( ________________ ) { System.out.println("Encontrado"); return true; } } System.out.println("Não Encontrado:"+aux); return false; } Com base nessas informações e no conteúdo estudado, assinale a alternativa que completa o comando IF do código acima: aux != null Resposta corretafilaIterator.next()==aux aux == fila.next() filaIterator.next() != null filaIterator.next() P t 2 /1 Ocultar opções de resposta Pergunta 2 -- /1 A estrutura de árvore entre parênteses aninhados possibilita que seja representada e escrita em diversos arquivos de textos, no formato demonstrado abaixo. Parece-se com algumas notações que usamos no Microsoft Excel, por exemplo. Mesmo nesse formato, a Raiz é o elemento principal da árvore, fazendo com que seja o “menu” de acesso a todos os elementos. Considere a árvore: (A (B (E)) (D (H (I)) ) ) e o conteúdo estudado, identifique quem é o Pai de B e D: D H B Resposta corretaA C Pergunta 3 -- /1 As filas estáticas são estruturas de alocação estática, ou seja, de tamanho fixo, pois implementam vetor na sua estrutura. No caso dos códigos, usa-se o queue e dequeue como operações que alteram o estado da fila, ou seja, a queue adiciona itens e a queue remove itens da estrutura. Leia as operações abaixo, considerando a estrutura fila: fila.queue(1); fila.queue(2); fila.isEmpty(); fila.queue(3); fila.isFull(); fila.queue(4); fila.peek(); fila.dequeue(); Ocultar opções de resposta Ocultar opções de resposta fila.imprimir(); Considerando essas informações e o conteúdo estudado, qual é o estado atual da fila após executar todas as operações? 4,3 e 2 1,2 e 4 Resposta correta2,3 e 4 1,2 e 3 3,2 e 1 Pergunta 4 -- /1 As árvores dinâmicas são estruturas que organizam de forma hierárquica os dados. Existem muitas formas de representá-los: as que representam desenhos geralmente são mais simples de entender, porém mais difíceis de demonstrar em consoles de programas. Observe a figura abaixo: Com base nessas informações e no conteúdo estudado, determine o nome da representação da árvore na figura: ESTRUTURA DE DADOS-unid03-Q4_v1.PNG Hierárquica Representação encadeada Nó Resposta corretaDiagrama de inclusão Parênteses aninhados Ocultar opções de resposta Pergunta 5 -- /1As árvores dinâmicas são estruturas que organizam de forma hierárquica os dados. Existem muitas formas de representá-los: as que representam desenhos geralmente são mais simples de entender, porém mais difíceis de demonstrar em consoles de programas. Observe a figura abaixo: Com base nessas informações e no conteúdo estudado, determine o nome da representação da árvore na figura: ESTRUTURA DE DADOS-unid03-Q4_v1.PNG Parênteses aninhados Nó Representação encadeada Resposta corretaDiagrama de inclusão Hierárquica Pergunta 6 -- /1 A Fila é um formato de armazenamento ou organização humana que tem por objetivo organizar itens de forma que o primeiro a ser organizado ou “enfileirado” é o primeiro a sair da organização. Considerando essas informações e o conteúdo estudado, é correto afirmar que esse formato de organização é conhecido como: Ocultar opções de resposta Ocultar opções de resposta FEFO FILA LEFO LIFO Resposta corretaFIFO Pergunta 7 -- /1 A árvore é uma estrutura que é composta de node e suas ligações, porém sua organização e forma de utilização dependem do algoritmo escolhido, pois, utilizando uma árvore binária, os nós poderão possuir somente dois filhos e, dependendo das regras de balanceamento a cada nó inserido, ocorrerá o realinhamento de todos os nós. A árvore, diferente das demais estruturas, possui diversas propriedades, conceitos e terminologias que não se aplicam a outras estruturas. Considerando essas informações e o conteúdo estudado, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s): I. ( ) Node é uma estrutura referenciável que armazena valores dentro de uma árvore. II. ( ) Cada Node possui apenas um Pai. III. ( ) Cada Node pode possuir vários “irmãos”. IV. ( ) Cada Node poderá ter dois antecessores. Agora, assinale a alternativa que apresenta a sequência correta: V, V, F, V V, V, F, V V, F, V, V Ocultar opções de resposta Resposta corretaV, V, V, F V, V, F, F Pergunta 8 -- /1 A estrutura de árvore de representação encadeada demonstra um espaço entre os endereços dos filhos da direita e da esquerda e uma simbologia para os Nós nulos dos nós folhas ou folhas. Observando a árvore acima e considerando o conteúdo estudado, identifique os valores da altura, grau da árvore e grau de saída de 16: ESTRUTURA DE DADOS-UNID03-Q16_v1.PNG altura: 0, grau da árvore: 2 e grau de saída:3 altura:3, grau da árvore: 2 e grau de saída: 1 Resposta corretaaltura: 3, grau da árvore: 2 e grau de saída: 0 altura:3, grau da árvore: 1 e grau de saída: 2 altura:1, grau da árvore: 2 e grau de saída: 3 Pergunta 9 -- /1 Dentro da estrutura de árvores, os nós terminais são extremamente importantes, pois definem o limite da estrutura. Da mesma forma que a raiz inicia a ligação entre todos os elementos, o nó terminal finaliza a busca ou percurso. ESTRUTURA DE DADOS UNID03 Q19 1 PNG Ocultar opções de resposta Ocultar opções de resposta Com base nessas informações e no conteúdo estudado, é correto afirmar que são os elementos terminais dessa árvore: ESTRUTURA DE DADOS-UNID03-Q19_v1.PNG 1, 2, 3, 4, 5, 6 e null Resposta correta4, 5, 6 e null 4, 5, 6 Incorreta: 3, 4, 5, 6, e null 1, 2 e 3 Pergunta 10 -- /1 Muitos elementos em várias estruturas possuem formas de ligação, como uma página web com âncoras ou links que apontam para outra página web. Um vetor aponta para seu próximo a partir do seu tamanho máximo e, em outra estrutura, é chamada de grafo com as arestas. Com base nessas informações e no conteúdo estudado, é correto afirmar que, dentro de uma estrutura de árvore binária, o termo para ligação de elementos em seu conjunto é: hyperlink interligação link topologia arco Ocultar opções de resposta Ocultar opções de resposta Pergunta 1 -- /1 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 é: int i=0;do{ System.out.println( lista[i]); i++;} while(i< lista.length); for(int i=0;i< lista.length; i++){ System.out.println( lista[i]);} int i=0; while(i< lista.length){ System.out.println( lista[i]); i++;} Resposta corretafor(int x: lista){ System.out.println( x);} for-each(lista){ System.out.println( lista[i]);} Pergunta 2 -- /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 é: getProximo() Resposta corretaprimeiroNo No ultimoNo Ocultar opções de resposta meioNo Pergunta 3 -- /1 Uma Pilha de alocação estática possui em sua propriedade uma função, que verifica se seus espaços estão alocados ou não. Esse método, por ser tratar de uma função booleana, retornará true para todos alocados e false para espaço ou espaços em branco. Implementando vetor, a alocação estática tem a vantagem de poder tratar os elementos de forma indexada, fazendo seu acesso ser mais veloz. No formato veloz, por outro lado, não tem essa possibilidade, e deve-se navegar nos elementos para acesso. De acordo com a alocação estática na estrutura Pilha, é possível afirmar que o nome da função que possui essas características é: peek() pop() isEmpty() search() Resposta corretaisFull() Pergunta 4 -- /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, Ocultar opções de resposta 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 aux != null atual != null Resposta corretaaux == atual.getValor() atual.getValor() Pergunta 5 -- /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). Ocultar opções de resposta 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, D ] p [ à , O] Resposta corretap [ A ] p [ null ] p [ O ] Pergunta 6 -- /1 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çõesapresentadas no texto base, é possível afirmar que o conceito descrito se chama: Ocultar opções de resposta Ocultar opções de resposta Incorreta: contador Resposta correta recursão laços de repetição sobrecarga critério de parada Pergunta 7 -- /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: I, II e III I e II II e III Resposta corretaIII e IV I, II e IV Ocultar opções de resposta Pergunta 8 -- /1 Considere uma situação em que ocorre a utilização do método bubble sort em um vetor int desordenado com os seguintes números: 10-9-7-4 Agora, observe o código-fonte a seguir: int vetor[]=new int[4]; for(int contadorL=0; contadorL< vetor.length-1 ; contadorL++) { for(int contadorC=contadorL+1; contadorC< vetor.length ; contadorC++) { if(vetor[contadorL]> vetor[contadorC]) { int aux= vetor[contadorL]; vetor[contadorL]=vetor[contadorC]; vetor[contadorC]=aux; } } } Com base nessas informações e no conteúdo estudado, ao acontecer a primeira troca, o estado atual do vetor será: 9-4-7-10 Resposta correta9-10-7-4 10-9-7-4 4-7-9-10 Incorreta: 4-9-7-10 Ocultar opções de resposta Pergunta 9 -- Na linguagem de programação, um loop é dividido em início, condição, contador e instrução. Através de referências a suas extremidades, ele executa os códigos que estão dentro de seus domínios, ficando a cargo do compilador identificar o início e o fim do loop. Isso ocorre, sobretudo, ao fazer seu incremento ou decremento (seu passo) para verificar se há condição para executá-lo ou não. Uma função ou método recursivo é um método muito parecido com o loop, salvo algumas distinções: os loops são instruções ou palavras reservadas e toda recursão é uma função, porém que referencia a ela mesma. Observe o código a seguir: public void imprimir(int aux) { if(aux == 0) return; else System.out.println( aux ); impressao(aux--); } De acordo com o texto-base e o conteúdo estudado, é correto afirmar em relação ao código que: essa função é recursiva trata-se de loop sem critério de parada trata-se de uma função com retorno de um int Resposta corretaessa função não é recursiva trata-se de loop com critério de parada Pergunta 10 -- /1 Ocultar opções de resposta 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: Resposta corretaII, IV e VI I, VI e V II, III e IV II, VI e V I, III e V Ocultar opções de resposta Ocultar opções de resposta Pergunta 1 -- /1 Todo objeto ou entidade do mundo real possui diversas características numéricas e alfanuméricas. Não se pode, em uma estrutura de dados, trabalhar sempre com o mesmo tipo de informação. A partir disso, analise a seguinte situação: Considere um cadastro de clientes que envolva o seguinte conjunto de dados: nome do tipo String; idade do tipo int. e e-mail do tipo String. Considerando as informações do texto-base e o conteúdo estudado, pode-se afirmar que o seguinte tipo de dado seria ideal para armazenar essa entidade: Estrutura de dados Vetor Estrutura homogênea de dados Resposta corretaEstrutura heterogênea de dados String Pergunta 2 -- /1 Cada linguagem de programação possui sua sintaxe, ou seja, as regras responsáveis por gerar um código objeto para ser executado no processador. No caso de Java, seu código objeto é executado pela JVM (Java Virtual Machine), é uma máquina virtual que executa diretamente os programas elaborados em Java. Considerando essas informações e o conteúdo estudado, pode-se afirmar que o código para uma declaração de variável em Java, do tipo inteiro e que receba o número 33, é: int i:=33 int idade[]=new int[33] Ocultar opções de resposta [] [ ] Integer idade=new Integer() inteiro idade<-33 Resposta corretaint idade = 33 Pergunta 3 -- /1 O tipo de dado colocado em uma estrutura é o que pode definir todo o algoritmo em termos de velocidade no processador. Dependendo do dado a ser trabalhado, no entanto, não há muitas possibilidades de escolha. A Cadeia, por exemplo, é usada para armazenar letras e caracteres especiais, e não há substituto para ela em situações nas quais se deve armazenar nomes, palavras ou letras. Esse tipo de dado, porém, é naturalmente mais lento, considerando que para o computador formar cada letra é necessário que ele faça um conjunto de cálculos. A escolha do tipo de dado em uma estrutura leva em consideração alguns aspectos. Tendo isso em vista, associe cada aspecto abaixo a seu correspondente. 1) Identificador. 2) Tipo de armazenamento. 3) Velocidade em inserir dados. 4) Algoritmo de ordenação e localização de dados. ( ) O nome pelo qual a estrutura será identificada geralmente possui ligação com sua aplicação do mundo real. ( ) Se serão armazenados números, letras, valores lógicos etc. ( ) Velocidade medida geralmente em milissegundos, podendo variar dependendo do tipo de estrutura escolhida. ( ) Existem muitos algoritmos específicos para cada tipo de estrutura, que dependem da sua aplicação. Embora, às vezes, estruturas demorem mais em ordenar, elas também podem ser mais velozes em localizar os dados. Agora, assinale a alternativa que apresenta a sequência correta: 4, 3, 1, 2 Resposta correta1, 2, 3, 4 4, 3, 2, 1 Ocultar opções de resposta 2, 1, 4, 3 1, 2, 4, 3 Pergunta 4 -- /1 Um algoritmo pode ser também definido como um conjunto de passos para a resolução de um problema ou para a execução de uma tarefa. Existem diversas formas de classificar algoritmos, por exemplo: pseudocódigo, fluxogramas, descrição narrativa e linguagem de programação. Considerando o que foi estudado na unidade, observe uma representação de algoritmo abaixo: 1 - Entre na sala 2 - Busque o interruptor 3 - Acenda a luz, através do ligamento da chave do interruptor. De acordo com o texto-base, a representação de algoritmo lida acima pode ser classificada como: Fluxograma Resposta corretaDescrição narrativa Pseudocódigo Enunciado ou questão Linguagem de programação Pergunta 5 -- /1 Ocultar opções de resposta Dados, informação e conhecimento possuem, na computação, aspectos diferentes que podem fazer com que uma estrutura possa se comportar de maneira diferenciada dependendo da forma. Por exemplo: o dado é a menor partícula da computação e trabalha desde o binário até formar uma letra ou palavra. Após concluída essa etapa, organiza-se um conjunto de dados para formar uma informação que a partir de uma frase ou um parágrafo. O conhecimento é o cruzamento e relação entre diferentes frases, parágrafos e palavras. Veja os exemplos abaixo: 1- “José”– 123 – 00FF33 2- 3.141516 – true - false 3- “Há dez anos, no mês de janeiro, chove a partir de 5 centímetros neste alqueire de Saint Petersburg.” Considerando o texto-base, os exemplos listados de 1 a 3 acima podem ser classificados, respectivamente, como: dado, informação e conhecimento informação, informação e conhecimento informação, dado e conhecimento Resposta corretadado, dado e conhecimento dado, dado e informação Pergunta 6 -- /1 Uma matriz é uma estrutura composta homogênea, que possui no mínimo duas dimensões. Nesse caso, a quantidade de dimensões pode variar dependendo da linguagem de programação. A matriz, assim como o vetor, possui uma tipagem. Além disso, basicamente todas as propriedades de vetor cabem em matriz, mas em escala maior. Ou seja, enquanto o vetor possui apenas uma dimensão, a matriz possui de duas até ‘n’ dimensões, e a cada dimensão há um colchete “[]” para representá-la. Considerando essas informações e o conteúdo estudado, é correto afirmar que a forma correta de inserir dados na matriz, na linguagem de programação Java, é: Ocultar opções de resposta Ocultar opções de resposta Resposta corretamatriz[linha][coluna]=valor matriz[linha][coluna]!=valor matriz[linha][coluna]<- valor matriz[coluna][linha]<>valor matriz[linha][coluna]==valor Pergunta 7 -- /1 As linguagens orientadas a objetos, como Java, possuem instruções que buscam simular aspectos da vida real, transformando cada item em entidades computáveis nas quais são denominadas classes. Essas entidades possuem ações que na programação chamamos de funções ou métodos, além de propriedades denominadas de atributos ou variáveis, mas que, na memória, transformam-se em conjunto de instruções. Considerando uma sintaxe simples, com uma apresentação na tela da palavra “Teste!”, pode-se afirmar que o método iniciado ao executar a classe e apresentar essa palavra é: begin Mai start Resposta corretamain init Pergunta 8 -- /1 Ocultar opções de resposta A linguagem Java é uma das principais linguagens utilizadas comercialmente, e seu formato possui características que facilitam a programação, fazendo com que ela seja multiplataforma e utilizada em mais de 3 bilhões de dispositivos no mundo. Ainda que seja uma linguagem utilizada em diversas organizações, ela possui padrões, como toda linguagem. No caso específico de Java, seu padrão orientado a objetos traz propriedades de herança, polimorfismo e encapsulamento. Considerando essas informações e o conteúdo estudado, podemos afirmar que a forma correta do código- fonte do Objeto que implementa encapsulamento é: class Obj{ private int x; public void setX(int aux){x=aux;} class Obj{ private x;} public int getX(){return x;} class Obj{ private int y; public void setX(int aux){x=aux;} public int getX(){return x;} } Resposta correta class Obj{ private int x; public void int setX(int aux){this.x=aux;} public getX(){return x;} Pergunta 9 -- /1 O vetor é uma das estruturas mais simples de se utilizar para armazenamento de dados. Porém, em contrapartida, para uma comparação ou busca de seus elementos deve-se verificar todos os itens nele armazenados. Para verificar todos os itens utiliza-se a navegação, termo da computação que busca entrar em uma estrutura de dados e mostrar seus itens. Para navegar em uma estrutura vetorial utiliza-se o loop, pois se trata de um elemento que contém um início e um fim. Observe o exemplo: for(int cont=0;cont <=10;cont++) { vet[cont]=cont+1; System.out.println(vet[i]); } Ocultar opções de resposta Ocultar opções de resposta Considerando as informações do texto-base e o conteúdo estudado, podemos afirmar que, ao executar o loop acima, o que ocorrerá com o vetor na posição 3 quando a variável cont estiver com valor 3 é: vet[3] = 0 vet[3] = 1 vet[3] = 3 vet[3] = null Resposta corretavet[3] = 4 Pergunta 10 -- /1 Em geral, os programas contêm dados armazenados que podem corresponder a tipos diversos de acordo com a necessidade. Sendo assim, cada dado possui um formato e uma regra específica, considerando o que será alocado em memória. Nesse caso, são pensados que tipo de caracteres, letras e números podem ser usados na classificação Cadeia. Para dados que podem assumir apenas dois valores, como por exemplo “Verdadeiro” e “Falso”, o tipo mais utilizado é o Lógico. A partir das informações trazidas no texto-base, afirma-se que um cadastro de dados envolvendo números flutuantes ou fracionados terá como classificação de variável e dado o termo: Resposta corretaReal Cadeia Bit Lógico Inteiro 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 1/8 Ocultar opções de resposta Pergunta 1 -- /1 O percurso em um Nó é feito sempre pelo seu atributo próximo, independente da sua topologia ou interligações, de acordo com uma varredura em uma Lista Ligada, na qual um elemento referencia outro. Leia o código a seguir: No aux=primeiroNo ; while ( aux !=null ) aux= aux.getProximo(); Assim, e considerando os conteúdos estudados no livro da disciplina, analise as afirmativas a seguir sobre o percurso de um Nó. I. No aux é o último Nó. II. O null representa o último Nó. III. No aux é o primeiro Nó. IV. Esses comandos executam erro. V. Esses comandos não executam erro. Está correto apenas o que se afirma em: Resposta corretaII, III e V I, II e IV I, III e IV I, II e V II, III e IV Pergunta 2 -- /1 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 2/8 Ocultar opções de resposta 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 int getValor() public void getProximo() Resposta corretapublic Node getProximo() private Node getProximo() private void getValor() Pergunta 3 -- /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 é: 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 3/8 Ocultar opções de resposta Ocultar opções de resposta return (topo == vetorPilha.length - 1); Resposta corretareturn vetorPilha[topo]; vetorPilha = new int[max]; return vetorPilha[topo--]; pilha.push(); Pergunta 4 -- /1 Uma Pilha de alocação estática possui em sua propriedade uma função, que verifica se seus espaços estão alocados ou não. Esse método, por ser tratar de uma função booleana, retornará true para todos alocados e false para espaço ou espaços em branco. Implementando vetor, a alocação estática tem a vantagem de poder tratar os elementos de forma indexada, fazendo seu acessoser mais veloz. No formato veloz, por outro lado, não tem essa possibilidade, e deve-se navegar nos elementos para acesso. De acordo com a alocação estática na estrutura Pilha, é possível afirmar que o nome da função que possui essas características é: Resposta corretaisFull() isEmpty() pop() peek() search() Pergunta 5 -- /1 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 4/8 Ocultar opções de resposta 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. IV e V III e IV I e II I e V Resposta corretaI e IV Pergunta 6 -- /1 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 5/8 Ocultar opções de resposta Ocultar opções de resposta 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: sobrecarga laços de repetição critério de parada contador Resposta correta recursão Pergunta 7 -- /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 é: Bubble Sort 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 6/8 Ocultar opções de resposta Selection Sort Insertion Sort Resposta corretaQuick Sort Collection Sort Pergunta 8 -- /1 Na linguagem de programação, um loop é dividido em início, condição, contador e instrução. Através de referências a suas extremidades, ele executa os códigos que estão dentro de seus domínios, ficando a cargo do compilador identificar o início e o fim do loop. Isso ocorre, sobretudo, ao fazer seu incremento ou decremento (seu passo) para verificar se há condição para executá-lo ou não. Uma função ou método recursivo é um método muito parecido com o loop, salvo algumas distinções: os loops são instruções ou palavras reservadas e toda recursão é uma função, porém que referencia a ela mesma. Observe o código a seguir: public void imprimir(int aux) { if(aux == 0) return; else System.out.println( aux ); impressao(aux--); } De acordo com o texto-base e o conteúdo estudado, é correto afirmar em relação ao código que: Resposta corretaessa função não é recursiva trata-se de loop sem critério de parada Incorreta: essa função é recursiva trata-se de uma função com retorno de um int 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 7/8 Ocultar opções de resposta trata-se de loop com critério de parada Pergunta 9 -- /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, D ] p [ O ] p [ null ] Resposta corretap [ A ] p [ à , O] Pergunta 10 -- /1 14/12/2021 04:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502347_1/overview/attempt/_16216087_1/review/inline-feedback?… 8/8 Ocultar opções de resposta g 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 é: Resposta corretaaux == atual.getValor() atual != null aux == atual atual.getValor() aux != null 14/12/2021 03:40 Comentários https://sereduc.blackboard.com/ultra/courses/_76746_1/outline/assessment/_4502343_1/overview/attempt/_16216006_1/review/inline-feedback?… 1/7 Ocultar opções de resposta Ocultar opções de resposta Pergunta 1 -- /1 Cada linguagem de programação possui sua sintaxe, ou seja, as regras responsáveis por gerar um código objeto para ser executado no processador. No caso de Java, seu código objeto é executado pela JVM (Java Virtual Machine), é uma máquina virtual que executa diretamente os programas elaborados em Java. Considerando essas informações e o conteúdo estudado, pode-se afirmar que o código para uma declaração de variável em Java, do tipo inteiro e que receba o número 33, é: Integer idade=new Integer() inteiro idade<-33 Resposta corretaint idade = 33 int i:=33 int idade[]=new int[33] Pergunta 2 -- /1 Um algoritmo pode ser também definido como um conjunto de passos para a resolução de um problema ou para a execução de uma tarefa. Existem diversas formas de classificar algoritmos, por exemplo: pseudocódigo, fluxogramas, descrição
Compartilhar