Buscar

AO2_ Estrutura de Dados

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

Continue navegando