Buscar

Colaborar - Av2 - Algoritmos e Estrutura de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

15/03/2023, 09:13 Colaborar - Av2 - Algoritmos e Estrutura de Dados
https://colaboraread.com.br/aluno/avaliacao/index/3377487802?atividadeDisciplinaId=14347027 1/5
 Algoritmos e Estrutura de Dados (/aluno/tim…
Av2 - Algoritmos e Estrutura de Dados
Sua avaliação foi confirmada com sucesso
  
(/notific
×
Informações Adicionais
Período: 27/02/2023 00:00 à 10/04/2023 23:59
Situação: Cadastrado
Tentativas: 2 / 3
Pontuação: 1500
Protocolo: 836802761
Avaliar Material
1)
a)
Conforme Celes, Cerqueira, Rangel (2004), tanto na função de Cálculo de endereços, como na função de
Divisão, ao inserirmos um elemento na tabela e este elemento colide com outro elemento no endereço de
índice, o elemento a ser inserido é armazenado no próximo índice disponível de própria tabela.
 
Apresenta-se abaixo uma tabela de 10 posições e a seguinte sequência de chaves: 18, 77, 548, 195, 174, já
inserida na tabela.
 
Chave Cálculo da Função Endereço
18 (18 mod 10) 8
77 (77 mod 10) 7
548 (548 mod 10) 8
195 (195 mod 10) 5
174 (174 mod 10) 4
Diante da tabela apresentada acima e o tratamento em caso de colisão, escolha a Tabela de Espelhamento
que representa os corretamente os dados apresentados.
Alternativas:
índice 0 1 2 3 4 5 6 7 8 9
valor       174 195    77 18    548
https://colaboraread.com.br/aluno/timeline/index/3377487802?ofertaDisciplinaId=1969754
https://colaboraread.com.br/notificacao/index
javascript:void(0);
15/03/2023, 09:13 Colaborar - Av2 - Algoritmos e Estrutura de Dados
https://colaboraread.com.br/aluno/avaliacao/index/3377487802?atividadeDisciplinaId=14347027 2/5
b)
c)
d)
e)
2)
a)
b)
índice 0 1 2 3 4 5 6 7 8 9
valor  18 77 548 195 174          
índice 0 1 2 3 4 5 6 7 8 9
valor       174 195 548   18  77   
índice 0 1 2 3 4 5 6 7 8 9
valor       174 195    77 18 548  
Alternativa assinalada
índice 0 1 2 3 4 5 6 7 8 9
valor       174 195    77 548    
Segundo Silva (2007), na função linear, também conhecido como Overflow Progressivo, consiste em
procurar a próxima posição vazia depois do índice-base da chave. É uma função que possui como vantagem
a simplicidade em definir o índice da Tabela de Espalhamento. No entanto, sua desvantagem está no caso
de ocorrerem muitas colisões, pode ocorrer um agrupamento (clustering) de chaves em um determinado
índice. Isso pode fazer com que sejam necessários muitos acessos para recuperar um determinado
elemento.
 
Pode-se  observar o esquema de Função de Espalhamento Linear, utilizando o método de divisão para
encontrar o índice. Abaixo encontramos um exemplo da Função de Espalhamento Linear.
 
Obs. as posições sem alocação de elementos são identificados com -1 (menos um).
 
Sobre a  Função de Espalhamento Linear e utilizando o método de divisão para encontrar o índice analise as
afirmações abaixo.
 
I - Se utilizarmos a tabela apresentada e inserirmos o elemento 24, o índice onde ele será inserido será o 1.
II - Se utilizarmos a tabela apresentada e inserirmos o elemento 24 e logo em seguida o elemento 40, os
índices onde eles serão inseridos são o 1 e o 2 respectivamente.
III - Se utilizarmos a tabela apresentada e inserirmos o elemento 24, depois o 40 e logo em seguida o
elemento 48, os índices onde eles serão inseridos são o 1, 2 e 6 respectivamente.
IV - Se utilizarmos a tabela apresentada e inserirmos o elemento 23, o índice onde ele será inserido será o 6.
 
Agora, assinale a alternativa que apresenta a correta:
Agora assinale a alternativa correta.
Alternativas:
Apenas a afirmativa IV está correta.
Apenas as afirmativas I e IV estão corretas.
15/03/2023, 09:13 Colaborar - Av2 - Algoritmos e Estrutura de Dados
https://colaboraread.com.br/aluno/avaliacao/index/3377487802?atividadeDisciplinaId=14347027 3/5
c)
d)
e)
3)
Apenas as afirmativas II e III estão corretas.
Apenas as afirmativas I, II e III estão corretas. Alternativa assinalada
Apenas as afirmativas I, II, III e IV estão corretas.
Quando você abre um navegador um processo é aberto no núcleo do sistema operacional. Já no sistema
Android isso é diferente, mesmo seu núcleo Linux sendo capaz de executar múltiplos processos
simultâneos, quando um aplicativo é aberto um processo é iniciado em uma máquina virtual chamada
Dalvik. A figura abaixo representa a Arquitetura do SO Android.
 
Fonte: Disponível em < https://de.wikipedia.org/wiki/Android_(Betriebssystem) > Acesso em 19 dez. 2017.
 
Robson é o desenvolvedor líder de um projeto melhor e quer que sua equipe trabalhe com Android. Ele
explica para sua equipe que para cada aplicativo executado em um dispositivo Android cria uma instância
dentro da máquina virtual Dalvik e a execução de aplicativos em máquinas virtuais oferece uma série de
vantagens.
 
Após o contexto apresentado, analise as asserções abaixo.
 
I -   A gama de possibilidades facilita o trabalho dos programadores no processo de desenvolvimento de
aplicativos Android.
PORQUE 
II - As aplicações estão essencialmente em caixas separadas (cada aplicação em uma instância), na medida
em que não podem prejudicar o sistema operacional ou outras aplicações caso a aplicação dê algum
problema. Além disso, aplicativos em execução em uma máquina virtual não podem acessar diretamente o
15/03/2023, 09:13 Colaborar - Av2 - Algoritmos e Estrutura de Dados
https://colaboraread.com.br/aluno/avaliacao/index/3377487802?atividadeDisciplinaId=14347027 4/5
a)
b)
c)
d)
e)
4)
a)
b)
c)
d)
e)
hardware do dispositivo. Este nível de abstração torna a plataforma de aplicativos neutra na medida em que
nunca está ligada a nenhum hardware específico.  Além dos recursos já apresentados o sistema Android
possui uma vasta biblioteca de classes para que tudo funcione de forma integrada.
 
A respeito dessas asserções, assinale a alternativa correta.
Alternativas:
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 verdadeiras, e a II é uma justificativa da I. Alternativa assinalada
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 falsas.
Uma questão fundamental para o uso de Mapa Associativo é que as chaves devem ser únicas, não
podendo existir dois alunos com o mesmo número de chamada, duas Notas Fiscais com o mesmo número
ou duas pessoas com o mesmo número de documento CPF.
 
Sobre a montagem, desenvolvimento e usos gerais para Armazenamento Associativo, apresenta-se as
afirmativas abaixo, onde você deve assinalar V para o que for Verdadeiro e F para o que for Falso.
 
(    ) - a utilização de estruturas de Armazenamento Associativo está presente em todos os tipos de sistemas,
seja um simples sistema de cadastro de clientes de uma pequena loja até um sistema de grande porte de
uma empresa multinacional.
(    ) - Qualquer sistema que tenha um cadastro é passível de Armazenamento Associativo.
(    ) -  A utilização de Armazenamento Associativo pode ser aplicada também em um sistema bancário.
Todos os clientes são identificados (chave) por um número de agência e número de conta.
(    ) - Um Armazenamento Associativo tem como base o tipo de estrutura de tabelas na construção e como
participação fundamental para o desenvolvimento de sistemas. Umas das principais aplicações é na
construção de tabelas de símbolos, com plena utilização em compiladores e montadores.
(    ) - Um mapa pode ser definido por fórmulas.
 
Assinale a alternativa que apresenta a sequência correta:
Alternativas:
 V – F – V – F – V
 V – V – V – V – F Alternativa assinalada
 V – V – V – F – F
 F – F – V – F – V
 V – F – F – V – V
15/03/2023, 09:13 Colaborar - Av2 - Algoritmos e Estrutura de Dados
https://colaboraread.com.br/aluno/avaliacao/index/3377487802?atividadeDisciplinaId=14347027 5/5
5)
a)
b)
c)
d)
e)
O Mapa com Espalhamento é utilizado com muita frequência em sistema de parametrização de
métodos, ou seja, um sistema que tenha ummétodo que pode receber um número diversificado de
parâmetros com uma grande quantidade de nomes distintos.
 
Após criada a implementada a estrutura do Mapa de Espalhamento, é necessário inicializa-la, como
exemplo do trecho de código a seguir:
HashMapa* hashmap_new(int size)
{  int i;  HashMapa *hashmapa = (HashMapa*)malloc(sizeof(HashMapa));  hashmapa -> node_list =
malloc(size * sizeof(HashmapNo*));  hashmapa -> cont_elemento = 0;  hashmapa -> map_size = size;  for (i =
0; i < size; i++)
{    hashmapa -> node_list[i] = malloc(sizeof(HashmapNo));    hashmapa -> node_list[i] = NULL;  }  return
hashmapa;}
Sobre a classe <hash_map>, assinale a alternativa correta.
Alternativas:
Ela ajuda  a gerenciar uma sequência de elementos como uma Tabela de
Espalhamento e possui compatibilidade com versões anteriores, como a classe
<hash_map.h>.
Alternativa assinalada
Ela  verifica a existência de uma chave no Mapa, calculando o índice da Tabela e procurando na Lista
correspondente.
Ela adiciona uma nova associação e caso a chave já exista no Mapa, ela retira a associação antiga antes
de colocar a nova.
Ela manipula o fluxo de dados padrão do sistema, como entrada, saída e saída de erros, é uma evolução
da biblioteca padrão <stdio.h>
Utiliza-se esta classe para identificar o tamanho do mapa e assim iniciar o desenvolvimento das tabelas
de espelhamento.

Outros materiais