Baixe o app para aproveitar ainda mais
Prévia do material em texto
AO2 Entrega 7 de dez de 2023 em 23:59 Pontos 6 Perguntas 10 Disponível 28 de nov de 2023 em 0:00 - 7 de dez de 2023 em 23:59 Limite de tempo Nenhum Instruções Este teste não está mais disponível, pois o curso foi concluído. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 760 minutos 2,4 de 6 Pontuação deste teste: 2,4 de 6 Enviado 2 de dez de 2023 em 0:15 Esta tentativa levou 760 minutos. Pergunta 1 0 / 0,6 pts Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. Leia o texto abaixo sobre árvores binárias: Para ser binária, cada nó da árvore deve ter de 0 a 2 filhos, no máximo. Ou seja, ela pode ser vazia, sem nenhuma subárvore, ou pode ter duas subárvores, a subárvore direita e a subárvore esquerda. Observe a imagem: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 1/16 https://famonline.instructure.com/courses/31357/quizzes/158731/history?version=1 Observe que nas árvores binárias só existe um caminho a percorrer, indo da raiz aos nós-folha. Isso é importante para definir a altura da árvore, que se define pelo maior caminho a partir de um determinado nó. Na imagem, podemos observar que: A é a altura do nó raiz (24) até o nó-folha (39), então a altura de A é 3; B é a altura do nó raiz (24) até o nó 35, então a altura de B é 2; C é a altura do nó raiz (24) até o nó-filho 32, então a altura de C é 1. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 2/16 Se o valor estiver abaixo da raiz, podemos dizer com certeza que o valor está na subárvore correta. Uma árvore de pesquisa binária é uma estrutura de dados que permite inserção, remoção e pesquisa rápida de itens em ordem aleatória. Uma árvore de pesquisa binária é semelhante a um mapa de classificação. Um mapa de classificação é uma coleção fixa de elementos, assim como nós. Resposta correta A subárvore esquerda de um nó contém apenas nós com chaves menores que a chave do nó. Você respondeu Na árvore de busca binária, cada valor de seus nós deve ser menor que os valores da subárvore direita e maior que os da subárvore esquerda. A alternativa está incorreta, pois a característica fundamental de uma árvore de busca binária, ao contrário de uma árvore binária simples, é que ela satisfaz a propriedade de busca binária. Esta propriedade afirma que, para cada nó, seu valor deve ser menor que os valores da subárvore direita e maior que os da subárvore esquerda. Desse modo, a alternativa correta é aquela que diz que a subárvore esquerda de um nó contém apenas nós com chaves menores que a chave do nó, pois a subárvore esquerda de um nó contém apenas nós com chaves menores que a chave do nó. E como consequência, a subárvore direita de um nó contém apenas nós com chaves maiores que a chave do nó. Pergunta 2 0 / 0,6 pts Atenção! A altura e o nível de uma árvore binária não são a mesma coisa. Altura é a distância entre um nó e outro, ou seja, quantos nós existem entre um nó e outro. No exemplo, a altura de A é 3 porque entre 24 e 39 existem 3 nós (o 32, o 35 e o 39). Fonte: FONTENELLE, R. Estruturas de Dados: Árvores Binárias. Coder, 23, nov. 2020. Disponível em: https://blog.cod3r.com.br/estruturas-de-dados-arvores-binarias/ (https://blog.cod3r.com.br/estruturas-de- dados-arvores-binarias/) . Acesso em: 04 out. 2022. Considerando as informações apresentadas assinale a opção correta. Leia o texto a seguir: O leitor certamente que já ouviu falar em grafos. São amplamente usados em matemática, mas sobretudo em programação. Formalmente, um grafo é uma coleção de vértices (V) e uma coleção de arcos (E) constituídos por pares de vértices. É uma estrutura usada para representar um modelo em que existem relações entre os objetos de uma certa coleção. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 3/16 https://blog.cod3r.com.br/estruturas-de-dados-arvores-binarias/ https://blog.cod3r.com.br/estruturas-de-dados-arvores-binarias/ https://blog.cod3r.com.br/estruturas-de-dados-arvores-binarias/ https://blog.cod3r.com.br/estruturas-de-dados-arvores-binarias/ Você respondeu I e II, apenas. A alternativa está incorreta, pois as afirmações I, II e III estão corretas. A afirmação I está correta, pois um subconjunto de travessia de árvore é travessia de grafos. Um algoritmo de travessia de grafos pode ser implementado usando um dos dois métodos, a busca em largura e a busca em Pense nos vértices como “locais“. O conjunto dos vértices é o conjunto de todos os locais possíveis. Nesta analogia, os arcos (ou arestas) representam caminhos entre estes locais. O conjunto E (vou usar o termo mais comum – “E” do inglês “edges“) contém todas as ligações entre os locais. Utilizar grafos é de grande utilidade na representação de problemas da vida real. Podem ser cidades, e uma rede de estradas. Redes de computadores. Até mesmo os movimentos de um cavalo num tabuleiro de xadrez podem ser representados através de um grafo. Na prática: As linhas de metrô das grandes cidades utilizam grafos de modo a minimizarem o tempo das ligações; A distribuição de correio, minimizando percursos de forma a otimizar as deslocações, tanto para um único carteiro como para uma equipa (o mesmo se aplica a empresas de distribuição); Os sistemas de patrulha da PSP permitem estudos de optimização recorrendo a grafos. E depois de representá-los corretamente, o que podemos descobrir? O caminho mais curto entre duas cidades num mapa; dadas as coordenadas de n cidades, que estradas construir de modo que o número de quilómetros de estrada seja mínimo mas fiquem todas conectadas; dado um mapa de uma casa (em que paredes e chão são representados com caracteres diferentes) saber qual a divisão com maior área; etc. As possibilidades são grandes, e ficarão admirados com a facilidade com que estes problemas são resolvidos. Fonte: ARAUJO, M. Introdução: O que é um grafo. Revista Programar, 27 set. 2007. Disponível em: https://www.revista-programar.info/artigos/grafos-1a-parte/ (https://www.revista- programar.info/artigos/grafos-1a-parte/) . Acesso em: 19 out. 2022. Considerando as informações, avalie as afirmações abaixo: I. Travessia de grafos é o processo de visitar ou atualizar cada vértice em um grafo. Tais travessias são classificadas com base na ordem em que atravessam os vértices. II. Um grafo em estrutura de dados é composto de nós com dados e conexões com outros nós. Um exemplo de grafo em estrutura de dados é o Facebook, onde tudo é um nó. III. Estruturas de dados não lineares, como grafos em estruturas de dados, são compostas por um número finito de nós ou vértices e as arestas que os conectam. É correto o que se afirma em: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 4/16 https://www.revista-programar.info/artigos/grafos-1a-parte/ https://www.revista-programar.info/artigos/grafos-1a-parte/ https://www.revista-programar.info/artigos/grafos-1a-parte/ https://www.revista-programar.info/artigos/grafos-1a-parte/ profundidade. A afirmação II está correta, pois um nó é qualquer coisa que tenha dados, como um usuário, uma foto, um álbum, um evento, um grupo, uma página, um comentário, uma história, um vídeo, um link ou uma nota. A afirmação III está correta, pois os grafos são empregados em estruturas de dados para resolver problemas do mundo real, representando a área do problema como uma rede, como redes telefônicas, redes de circuitos e redes sociais. Resposta correta I, II e III. II, apenas. I, apenas. II e III, apenas. Pergunta 3 0 / 0,6 pts Leia o texto a seguir: Organização de ArquivosA organização de arquivos consiste em como os dados estão internamente armazenados. A estrutura dos dados pode variar em função do tipo de informação do arquivo. Arquivos texto e arquivos executáveis são muito diferentes e possuem propósitos diferentes, consequentemente estruturas diferentes podem se ajustar melhor a um tipo de arquivo do que a outro tipo. Quando um arquivo é criado, o programa que o cria, determina a estrutura que será utilizada para armazenar os dados no arquivo. A organização de arquivo mais simples é aquela em que os dados são organizados em uma sequência não estruturada de bytes. Neste tipo de organização não existe uma estrutura lógica definida para os dados. Esta forma de organização oferece grande flexibilidade para armazenar os dados. Entretanto, o acesso aos dados não permite um acesso direto a um dado do arquivo. Como não há estrutura definida não é possível calcular o endereço de um dado dentro do arquivo. Sem o endereço não é possível o acesso direto. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 5/16 I e III, apenas. Resposta correta II e III, apenas. I e II, apenas. Você respondeu III, apenas. Alguns sistemas operacionais possuem diferentes organizações de arquivos e neste caso cada arquivo criado deve seguir alguma organização suportada pelo sistema de arquivos. As organizações mais conhecidas são a sequencial, a relativa e a indexada. Fonte: SIQUEIRA, Fernando de. Gerência de Sistema de Arquivos. Disponível em: https://sites.google.com/site/proffernandosiqueiraso/aulas/11-gerencia-de-memoria-virtual (https://sites.google.com/site/proffernandosiqueiraso/aulas/11-gerencia-de-memoria-virtual) . Acesso em: 19 out. 2022. Considerando as informações, avalie as afirmações abaixo: I. Arquivos de acesso direto se comportam como se houvesse um ponteiro anexado ao arquivo que sempre indica o próximo registro a ser transferido. II. Todos os dispositivos periféricos permitem que os arquivos sejam processados sequencialmente. III. Os registros podem ser gravados em um arquivo de acesso direto em qualquer ordem. É correto o que se afirma em: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 6/16 https://sites.google.com/site/proffernandosiqueiraso/aulas/11-gerencia-de-memoria-virtual https://sites.google.com/site/proffernandosiqueiraso/aulas/11-gerencia-de-memoria-virtual https://sites.google.com/site/proffernandosiqueiraso/aulas/11-gerencia-de-memoria-virtual https://sites.google.com/site/proffernandosiqueiraso/aulas/11-gerencia-de-memoria-virtual A alternativa está incorreta, pois apenas as afirmações II e III estão corretas. A afirmação I está incorreta, pois são os arquivos sequenciais que se comportam como se houvesse um ponteiro anexado ao arquivo que sempre indica o próximo registro a ser transferido. Em dispositivos como terminais e impressoras você só pode ler ou escrever em ordem estritamente sequencial. A afirmação II está correta, pois todos os dispositivos periféricos permitem que os arquivos sejam processados sequencialmente: começamos no início do arquivo e trabalhamos em cada registro por vez. Uma vantagem importante dos arquivos sequenciais é que registros diferentes podem ter comprimentos diferentes. O comprimento mínimo do registro é zero, mas o máximo depende do sistema. A afirmação III está correta, pois os registros podem ser gravados em um arquivo de acesso direto em qualquer ordem. Qualquer registro pode ser lido desde que exista, ou seja, foi escrito em algum momento desde que o arquivo foi criado. Uma vez que um registro tenha sido escrito, não há como excluí-lo, mas seu conteúdo pode ser atualizado, ou seja, substituído, a qualquer momento. II, apenas. Pergunta 4 0,6 / 0,6 pts Leia o texto abaixo: Assim como os algoritmos, a estrutura de dados é fundamental para a linguagem de programação. Ela é definida por um conjunto de dados armazenados na memória de um equipamento como um computador, por exemplo. Esses dados precisam funcionar de modo eficiente e fazer sentido. Essa organização eficiente é o que oferece uma melhor manipulação dos dados armazenados. Na prática, isso pode otimizar processos e operações. Para entender melhor você pode ainda separar as duas palavras que formam “estrutura de dados”. Como “estrutura” entenda-se um elemento estrutural responsável por transportar consigo informações internas em um software. Já por “dados” entenda-se como um elemento que possui um valor e tem utilização para resolver problemas computacionais. Tipos de estrutura de dados Uma estrutura de dados possui vários tipos. Conheça alguns dos principais e mais utilizados pela programação: Array (vetores): estruturas lineares e estática. São compostas por um número finito. O seu uso é recomendado para quando há dados armazenados que não apresentarão mudança significativa com o tempo. Lista: linear e dinâmica, possui nós que direcionam para o elemento a seguir (exceto o último). Àrvore: nessa estrutura, cada elemento possui pelo menos um outro associado a si. Fila: baseia-se no princípio FIFO. Ele remete às expressões em inglês “first in, first out”. Nessa estrutura os elementos que são inseridos no início serão os primeiros removidos. Pilha: essa estrutura baseia-se no princípio LIFO, que representa as expressões “last in, first out”. Nesse caso, os elementos inseridos por último serão removidos primeiramente. Há ainda outros tipos de estruturas de dados, como Registro, Grafo, Heap e Tabela Hash. Entretanto, os seus usos são mais técnicos e difíceis de serem compreendidos por leigos. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 7/16 I e IV, apenas. III e IV, apenas. I, II e IV, apenas. II e III, apenas. Correto! I, II e III, apenas. A alternativa está correta, pois apenas as afirmações I, II e III estão corretas. A afirmação I está correta, pois em estruturas de dados lineares, os elementos são organizados em sequência um após o outro. Como os elementos são organizados em uma ordem específica, eles são fáceis de implementar. A afirmação II está correta, pois em um array, os elementos na memória são organizados em memória contínua, todos os elementos de um array são do mesmo tipo. E, os tipos de elementos que podem ser armazenados na forma de arrays é determinado pela linguagem de programação. A afirmação III está correta, pois semelhante a um grafo, uma árvore também é uma coleção de vértices e arestas. No entanto, na estrutura de dados em árvore, pode haver apenas uma aresta entre dois vértices. A afirmação IV está incorreta, pois ao contrário da pilha, a estrutura de dados da fila funciona no princípio FIFO, onde o primeiro elemento armazenado na fila será removido primeiro. Funciona como uma fila de pessoas no balcão de ingressos, onde a primeira pessoa na fila receberá o ingresso primeiro. Fonte: Entenda os conceitos básicos de estrutura de dados. IT STEP. 24 set. 2019. Disponível em: https://itstep.com.br/blog/understand-the-basics-of-data-structure (https://itstep.com.br/blog/understand- the-basics-of-data-structure) . Acesso em: 19 out. 2022. Considerando as informações, avalie as afirmações abaixo: I. Em estruturas de dados lineares, os elementos são organizados em sequência um após o outro. II. Em um array, os elementos na memória são organizados em memória contínua, seus elementos são do mesmo tipo. III. Semelhante a um grafo, uma árvore também é uma coleção de vértices e arestas. IV. Como na pilha, a estrutura de dados da fila funciona com o primeiro elemento armazenado sendo removido primeiro. É correto o que se afirma em: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=8782318/16 https://itstep.com.br/blog/understand-the-basics-of-data-structure https://itstep.com.br/blog/understand-the-basics-of-data-structure https://itstep.com.br/blog/understand-the-basics-of-data-structure https://itstep.com.br/blog/understand-the-basics-of-data-structure Pergunta 5 0 / 0,6 pts Leia o texto a seguir: Um arquivo indexado é um arquivo digital armazenado em um computador que usa identificadores exclusivos para categorizar as informações. Esse processo de indexação é uma técnica simples de gerenciamento de arquivos que organiza os dados em pastas de arquivos especiais, semelhantes a um rótulo de arquivo em um gabinete de arquivos. Programas e bancos de dados usam esses rótulos de índice exclusivos para recuperar e armazenar informações. Os índices geralmente contêm identificadores primários e secundários, que são projetados para aumentar a eficiência dos algoritmos de pesquisa. Muitos tipos de técnicas de indexação são usados na engenharia de software de computador. Cada tipo é projetado para um propósito específico. Alguns exemplos incluem árvores b, tabelas hash e índices alternativos. A construção de programas de indexação de sistema de arquivos requer um conhecimento profundo de ciência da computação e métodos de acesso a dados. O arquivo indexado é um arquivo simples composto de chaves exclusivas e elementos de dados que são acessados por programas de computador de banco de dados especiais. Os mecanismos de pesquisa da Internet usam técnicas especiais de indexação que armazenam metadados sobre sites e conteúdo da web. Quando uma pessoa executa uma pesquisa, os critérios inseridos na tela são comparados com esses índices definidos. As informações retornadas são então classificadas e exibidas na tela do computador para revisão. Um arquivo indexado é atualizado periodicamente pelo mecanismo de busca, o que garante que o conteúdo permaneça atualizado. Fonte: O que é um arquivo indexado? O que é. Disponível em: https://oque-e.com/o-que-e-um-arquivo- indexado/ (https://oque-e.com/o-que-e-um-arquivo-indexado/) . Acesso em: 04 out. 2022. Refletindo sobre o método de acesso indexado, avalie as seguintes asserções e a relação proposta entre elas. I. O método de acesso indexado faz consideração do índice, o que é um avanço no método de acesso direto. Um determinado registro é acessado navegando pelo índice e o arquivo é acessado diretamente com o uso de ponteiros ou endereços. PORQUE II. Para superar a desvantagem associada ao acesso indexado, o método de acesso sequencial indexado é usado onde um índice de um índice é criado. O índice primário aponta para o índice secundário e o índice secundário aponta para os itens de dados reais. A respeito dessas asserções, assinale a opção correta: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 9/16 https://oque-e.com/o-que-e-um-arquivo-indexado/ https://oque-e.com/o-que-e-um-arquivo-indexado/ https://oque-e.com/o-que-e-um-arquivo-indexado/ https://oque-e.com/o-que-e-um-arquivo-indexado/ Você respondeu A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A alternativa está incorreta. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A asserção I é verdadeira, pois o método de acesso indexado é um método que normalmente é um avanço no método de acesso direto, que é a consideração do índice. Um determinado registro é acessado navegando pelo índice e o arquivo é acessado diretamente com o uso de ponteiros ou endereços. Uma desvantagem desse método é que ele é considerado ineficaz no caso de um banco de dados maior com arquivos muito grandes, o que resulta em tornar o índice muito grande. A asserção II é verdadeira, pois para superar a desvantagem associada ao acesso indexado, o método de acesso sequencial indexado é usado onde um índice de um índice é criado. O índice primário aponta para o índice secundário e o índice secundário aponta para os itens de dados reais. Um exemplo de tal método é o ISAM (Indexed-Sequential Access Method) da IBM que carrega dois tipos de índices. Eles são um índice mestre e um índice secundário. Entretanto não há uma relação de causa e efeito entre elas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. As asserções I e II são proposições falsas. Resposta correta As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Pergunta 6 0,6 / 0,6 pts Leia o texto e analise a imagem a seguir: O que é o encapsulamento? Talvez a coisa mais importante que devamos saber sobre encapsulamento é a diferença que existe entre ele e a ocultação de informações, devido à grande confusão que sempre existiu entre estas duas definições. A ocultação de informações é considerada parte do encapsulamento, mas se fizermos uma pesquisa na internet, podemos encontrar a seguinte definição para encapsulamento: Um mecanismo da linguagem de programação para restringir o acesso a alguns componentes dos objetos, escondendo os dados de uma classe e tornando-os disponíveis somente através de métodos. Na verdade, o mecanismo para restringir o acesso a alguns dos componentes do objeto é a definição de ocultação de informações. O encapsulamento é um conceito da Programação Orientada a Objetos onde o estado de objetos (as variáveis da classe) e seus comportamentos (os métodos da classe) são agrupados em conjuntos segundo o seu grau de relação. Assim sendo, o propósito do encapsulamento é o de organizar os dados que sejam relacionados, agrupando-os (encapsulando-os) em objetos (classes), reduzindo as colisões de nomes de variáveis (dado que variáveis com o mesmo nome estarão em namespaces distintos) e, da mesma forma, reunindo métodos relacionados às suas propriedades (ou variáveis de classe). Este padrão ajuda a manter um programa com centenas ou milhares de linhas de código mais legível e fácil de trabalhar e manter. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 10/16 Correto! A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A alternativa está correta, pois a asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é verdadeira, pois em alguns casos é necessário definir um método associado ao objeto que realiza uma operação. Isso se desejamos utilizar os dados de um objeto para uma ação ou para o cálculo de Para facilitar a compreensão e visualização do que é o encapsulamento, vamos ver um simples exemplo. Suponha que temos um programa que trabalha com informações de seres vivos, como: homem e cachorro. Para estes dois seres vivos (objetos) existem características (atributos) em comum, como nome, idade e peso, e características (atributos) que são específicas a cada um, como número de identidade para o homem e raça para o cachorro. Há também operações comuns para ambos, como andar, ou específicas a cada um, como falar para o homem e latir para o cachorro. Uma possível representação das classes desses objetos pode ser a demonstrada na figura abaixo: Fonte: JOSÉ. Encapsulamento em Java: Primeiros passos. DevMedia, 2014. Disponível em: https://www.devmedia.com.br/encapsulamento-em-java-primeiros-passos/31177 (https://www.devmedia.com.br/encapsulamento-em-java-primeiros-passos/31177) . Acesso em: 04 out. 2022. Refletindo sobre encapsulamento da representação, avalie as seguintes asserções e a relação proposta entre elas. I. É necessário definir um método associado ao objeto que realiza uma operação, caso desejemos utilizar os dados de um objeto para uma ação ou para o cálculo de valor derivado. PORQUE II. A funcionalidade do encapsulamento pode ser definida em diversos locais. Estes locais são lógicos, e são onde os dados são mantidos no encapsulamento.Com base nas asserções, assinale a opção correta: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 11/16 https://www.devmedia.com.br/encapsulamento-em-java-primeiros-passos/31177 https://www.devmedia.com.br/encapsulamento-em-java-primeiros-passos/31177 https://www.devmedia.com.br/encapsulamento-em-java-primeiros-passos/31177 https://www.devmedia.com.br/encapsulamento-em-java-primeiros-passos/31177 valor derivado. Então, sempre que quisermos realizar essa ação, chamamos o método no objeto. Consideramos uma prática ruim recuperar as informações de dentro do objeto e escrever um código separado para executar a ação fora do objeto. A asserção II é falsa, pois o encapsulamento é uma boa ideia por vários motivos: A funcionalidade é definida em um local e não em vários locais. Ele é definido em um local lógico, o local onde os dados são mantidos. Os dados dentro de nosso objeto não são modificados inesperadamente por código externo em uma parte completamente diferente de nosso programa. Quando usamos um método, só precisamos saber qual resultado o método produzirá, não precisamos saber detalhes sobre as partes internas do objeto para usá-lo. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. As asserções I e II são proposições falsas. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. Pergunta 7 0,6 / 0,6 pts Estrutura de dados estática e fator de carga. Correto! Código hash e um compressor. Leia o texto a seguir: O que é uma Tabela Hash? Uma tabela hash, tabela de dispersão ou ainda tabela de espalhamento, é uma estrutura de dados utilizada para tornar o processo de busca mais eficiente. Assim, esta estrutura de dados é muito utilizada não para inserções ou remoções, mas quando há a necessidade de realizar muitas buscas e com rápido tempo de resposta. Imagine um vetor, estrutura de dados homogênea que aprendemos lá no início do curso. Para descobrir se um dado elemento está ou não no vetor precisamos percorrer todo o vetor procurando pelo elemento. Isso pode ser muito demorado dependendo da quantidade de buscas necessárias e principalmente do tamanho do vetor. Em uma tabela hash é possível acessar diretamente a posição da tabela onde o elemento deve estar caso ele exista, tornando o processo de busca muito mais eficiente. Como implementar uma tabela hash? Uma tabela hash pode ser implementada de diferentes formas. Veremos aqui duas formas mais utilizadas para sua implementação, usando vetor e lista encadeada. Fonte: GASPAR, W. O que é, e como funciona a estrutura de dados tabela hash. Wagner Gaspar, 30 ago. 2021. Disponível em: https://wagnergaspar.com/o-que-e-e-como-funciona-a-estrutura-de-dados-tabela- hash/ (https://wagnergaspar.com/o-que-e-e-como-funciona-a-estrutura-de-dados-tabela-hash/) . Acesso em: 04 out. 2022. Qual das alternativas apresenta corretamente as duas partes de uma função hash? A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 12/16 https://wagnergaspar.com/o-que-e-e-como-funciona-a-estrutura-de-dados-tabela-hash/ https://wagnergaspar.com/o-que-e-e-como-funciona-a-estrutura-de-dados-tabela-hash/ https://wagnergaspar.com/o-que-e-e-como-funciona-a-estrutura-de-dados-tabela-hash/ https://wagnergaspar.com/o-que-e-e-como-funciona-a-estrutura-de-dados-tabela-hash/ A alternativa está correta, pois cada tabela de hash armazena seus dados na forma de uma combinação (chave, valor). Toda vez que uma chave é gerada, a chave é passada para uma função de hash. Cada função hash tem duas partes, um código Hash e um Compressor. Compressor e estrutura de dados estática. Código hash e fator de carga. Fator de carga e compressor. Pergunta 8 0 / 0,6 pts Leia o texto a seguir abaixo: A ordenação ou classificação de registros consiste em organizá-los em ordem crescente ou decrescente e assim facilitar a recuperação desses dados. A ordenação tem como objetivo facilitar as buscas e pesquisas de ocorrências de determinado elemento em um conjunto ordenado. Na computação existe uma série de algoritmos que utilizam diferentes técnicas de ordenação para organizar um conjunto de dados, eles são conhecidos como Métodos de Ordenação ou Algoritmos de Ordenação. Vamos conhecer um pouco mais sobre eles. Os métodos de ordenação se classificam em: Ordenação Interna: onde todos os elementos a serem ordenados cabem na memória principal e qualquer registro pode ser imediatamente acessado. Ordenação Externa: onde os elementos a serem ordenados não cabem na memória principal e os registros são acessados sequencialmente ou em grandes blocos. Fonte: VIANA, D. Conheça os principais algoritmos de ordenação. Treina Web. Disponível em: https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao (https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao) . Acesso em: 04 out. 2022. Agora avalie as seguintes asserções e a relação proposta entre elas. I. InsertSort é um algoritmo de ordenação interna simples. PORQUE II. InsertionSort é um método de fácil compreensão e indicado para vetores pequenos, que percorre um vetor de elementos da esquerda para a direita e à medida que avança vai ordenando os elementos à esquerda. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 13/16 https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao Você respondeu As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Alternativa incorreta, pois as asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. InsertSort é um algoritmo de ordenação interna simples, pois é um método de fácil compreensão e indicado para vetores pequenos, que percorre um vetor de elementos da esquerda para a direita e à medida que avança vai ordenando os elementos à esquerda. Resposta correta As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições falsas. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. Pergunta 9 0 / 0,6 pts A respeito dessas asserções, assinale a opção correta: Leia o texto a seguir: Encadeamento Basicamente o que um algoritmo de Encadeamento faz é armazenar na tabela informações sobre onde o próximo registro deve ser buscado. Existem duas formas de Encadeamento: Encadeamento Externo Encadeamento Interno Encadeamento Combinado Neste encadeamento é criado um outro campo que pode ser chamado de próximo, este campo armazenará a posição em que devemos fazer a busca. Funciona da seguinte maneira: É calculado o Hash da chave que estamos procurando para descobrir onde ela se encontra, enquanto não chegar ao fim da busca e a posição não tiver sido encontrada, então verificamos neste novo campo onde deve ser feita a próxima busca. Encadeamento Aberto Neste encadeamento é usada uma lista encadeada como estrutura auxiliar. A tabela contém ponteiros para início de cada lista. Em busca ou inserção é aplicada a função de hash, o retorno será qual ponteiro deve ser seguido. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 14/16 Você respondeu As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. A alternativaestá incorreta, pois as asserções I e II são proposições falsas. A asserção I é falsa, pois as chamadas boas funções de hash devem ser computáveis de forma eficiente e devem distribuir uniformemente as chaves. Sempre podemos escrever nossas próprias funções de hash, mas é recomendável não fazê-lo, pois já existem excelentes funções de hash por aí. A asserção II é falsa, pois uma tabela hash usa uma função de hash para calcular um índice, também chamado de código de hash, em uma matriz de buckets ou slots, a partir dos quais o valor desejado pode ser encontrado. Em uma tabela hash, cada chave é única. Devemos usar essa estrutura de dados quando a ordenação e classificação dos dados não for necessária, porque a ordem dos dados não é mantida aqui. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Resposta correta As asserções I e II são proposições falsas. Pergunta 10 0,6 / 0,6 pts Fonte: Tratamento de colisões através de encadeamento. Wikiwand. Disponível em: https://www.wikiwand.com/pt/Tratamento_de_colis%C3%B5es_atrav%C3%A9s_de_encadeamento (https://www.wikiwand.com/pt/Tratamento_de_colis%C3%B5es_atrav%C3%A9s_de_encadeamento) . Acesso em: 04 out. 2022. Refletindo sobre tratamento de colisões, avalie as seguintes asserções e a relação proposta entre elas. I. As chamadas boas funções de hash devem ser computáveis de forma eficiente e devem distribuir uniformemente as chaves, pois é recomendável escrever nossas próprias funções de hash. PORQUE II. Devemos usar tabelas hash quando a ordenação e classificação dos dados for necessária porque a ordem dos dados é mantida neste tipo de estrutura de dados. Em tabelas hash as chaves são variáveis. A respeito dessas asserções, assinale a opção correta: Leia o trecho abaixo: A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 15/16 https://www.wikiwand.com/pt/Tratamento_de_colis%C3%B5es_atrav%C3%A9s_de_encadeamento https://www.wikiwand.com/pt/Tratamento_de_colis%C3%B5es_atrav%C3%A9s_de_encadeamento https://www.wikiwand.com/pt/Tratamento_de_colis%C3%B5es_atrav%C3%A9s_de_encadeamento https://www.wikiwand.com/pt/Tratamento_de_colis%C3%B5es_atrav%C3%A9s_de_encadeamento Quando um programa não é executado corretamente, é necessário baixar extensões para os IDEs encontrarem os erros. Correto! Entende-se que um IDE fornece recursos como automação de compilação, linting de código, teste e depuração. A alternativa está correta, pois um IDE (Ambiente de Desenvolvimento Integrado) entende o código muito melhor do que um editor de texto. Geralmente fornece recursos como automação de compilação, linting de código, teste e depuração. Assim como as linhas de comando, é sabido que os IDEs são fáceis de operar, e com pouca experiência é possível editar um código. Um IDE é uma ferramenta indicada e muito utilizada para escrever códigos de zero e editá-los em Python. Os IDEs são leves e fáceis de serem baixados e instalados, logo, conhecimentos básicos são suficientes para operá-los. Pontuação do teste: 2,4 de 6 Os programadores contam com diversas ferramentas para facilitar o desenvolvimento de seus projetos. Entre elas, temos o IDE Python, um utensílio valioso que merece atenção, ajudando na elaboração de softwares. Segundo uma pesquisa do Stack Overflow, Python é considerada a linguagem mais amada por 73% dos programadores. Utilizando um IDE, fica mais fácil ainda desenvolver programas nessa linguagem [...] O que é um IDE? IDE é um acrônimo para Integrated Development Environment, em português, Ambiente de Desenvolvimento Integrado. Ele é um programa que reúne ferramentas necessárias para a construção de outros softwares. A utilização de um IDE ajuda muito os programadores e empresas, pois torna mais rápido o desenvolvimento de aplicações, aumentando a produtividade e reduzindo custos [...] Nos últimos anos o crescimento da linguagem Python foi enorme. Grandes sites como GitHub, Stack Overflow e TIOBE mostram como a popularidade dessa linguagem aumentou, se tornando a segunda linguagem mais amada, segundo a pesquisa do Stack Overflow com milhares de desenvolvedores. Além disso, o mercado de trabalho procura, cada vez mais, profissionais capacitados que sabem como utilizar o máximo da linguagem. Fonte: COUTINHO, T. Conheça o que é uma IDE Python, como usar e as 5 principais. Voitto, 02 abr. 2020. Disponível em: https://www.voitto.com.br/blog/artigo/o-que-e-ide-python (https://www.voitto.com.br/blog/artigo/o-que-e-ide-python) . Acesso em: 19 out. 2022. Considerando as informações apresentadas, assinale a opção correta. A+ A A- 29/04/2024, 10:58 AO2: Estrutura de Dados https://famonline.instructure.com/courses/31357/quizzes/158731?module_item_id=878231 16/16 https://www.voitto.com.br/blog/artigo/o-que-e-ide-python https://www.voitto.com.br/blog/artigo/o-que-e-ide-python https://www.voitto.com.br/blog/artigo/o-que-e-ide-python https://www.voitto.com.br/blog/artigo/o-que-e-ide-python
Compartilhar