Buscar

av 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 4 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

Prévia do material em texto

1a Questão (Ref.: 201101100721)
	Pontos: 1,0  / 1,0
	O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.
	
	
	Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
	
	Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
	
	Proteção de memória, transferência de dados, estruturas simples.
	
	Acesso, representação, compartilhamento de memória.
	 
	Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
	
	�
	 ��2a Questão (Ref.: 201101322301)
	Pontos: 0,5  / 0,5
	Um programador recebeu a tarefa de construir um programa que receba uma cadeia de caracteres e verifique se esta cadeia de caracteres é um PALÍNDROME, sabendo-se que um PALÍNDROME apresenta a mesma sequência de caracteres da esquerda pra direita, quanto da direita para esquerda, marque a opção que possui a estrutura de dados mais adequada a este programa.
	
	
	Árvores
	
	Lista Sequencial
	 
	Pilha Sequencial
	
	Fila Sequencial
	
	Grafos
	
	�
	 ��3a Questão (Ref.: 201101092274)
	Pontos: 0,0  / 0,5
	Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações verdadeiras.
	
	
	I e II.
	
	somente a alternativa e II.
	 
	somente a alternativa I.
	 
	II e III.
	
	I e III.
	
	�
	 ��4a Questão (Ref.: 201101305402)
	Pontos: 0,0  / 0,5
	 
   Navegadores para internet armazenam os últimos endereços visitados em uma estrutura de dados. Cada vez que um novo site é visitado, o endereço do site é adicionado na estrutura de endereços. Quando se aciona o retorno ("back"), o navegador permite que o usuário retorne no último site visitado e retira o endereço do site da estrutura de dados.
Assinale a estrutura de dados mais adequada para  este problema.
	
	 
	fila
	
	lista
	 
	pilha
	
	grafo
	
	árvore
	
	�
	 ��5a Questão (Ref.: 201101100377)
	Pontos: 0,5  / 0,5
	Marque a afirmativa correta para a "Busca ou pesquisa binária".
	
	
	Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
	 
	Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio.
	
	Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio.
	
	É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
	
	Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
	
	�
	 ��6a Questão (Ref.: 201101092265)
	Pontos: 0,5  / 0,5
	No contexto de estrutura de dados, uma pilha é:
	
	
	uma lista do tipo FIFO.
	 
	um tipo de lista linear em que as operações de inserção e remoção são realizadas na extremidade denominada topo.
	
	uma lista do tipo LILO.
	
	um tipo de lista linear em que as operações de inserção e remoção são realizadas aleatoriamente.
	
	um tipo de lista linear em que as operações de inserção são realizadas em uma extremidade e as operações de remoção são realizadas em outra extremidade.
	
	�
	 ��7a Questão (Ref.: 201101103774)
	Pontos: 0,0  / 0,5
	Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. Marque a alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga".
	
	 
	Inserção
	
	Bolha
	 
	Seleção
	
	MergeSort
	
	QuickSort
	
	�
	 ��8a Questão (Ref.: 201101100737)
	Pontos: 0,0  / 1,0
	Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de:
	
	
	Envio de valor.
	
	Registro.
	 
	Ponteiros.
	
	Passagem por valor.
	 
	Envio de inteiro.
	
	�
	 ��9a Questão (Ref.: 201101128845)
	Pontos: 1,4  / 1,5
	Os agentes Peter e Paul receberam mensagens de seus contatos. Para saberem qual o próximo passo da missão, precisam intercalar as duas mensagens recebidas, que sabe-se, são do mesmo tamanho.
Faça uma função que receba dois vetores v e w como parâmetros, cada um com n elementos, e gere um vetor z, resultante da intercalação entre v e w.
Exemplo para visualização :
Mensagem 1 : ECPM
Mensagem 2 : SAE!
Mensagem resultante : ESCAPEM!
	
	
Resposta: booll intersecao (int v[], int w[], int inter[], int nv, int&n) booll achou = false; for ( int i =0; i < nv; i++ for ( int j = 0; j < nw; j++ if (v[i] == w [j]{ inter [n]= v[i]; achou = true n++ } return achou; }
	
Gabarito:
void intercalar(char v[ ], char w[ ], char z[ ], int n) {
int i;
for ( i = 0; i < n; i++) {
     z[i*2] = v[i];
     z[i*2 + 1] = w[i];
}
z[2*n] = '\0';
}
	
Fundamentação do(a) Professor(a): Gabarito:void intercalar(char v[ ], char w[ ], char z[ ], int n) {int i;for ( i = 0; i < n; i ) { z[i*2] = v[i]; z[i*2 1] = w[i];}z[2*n] = '\0';}
	
	�
	 ��10a Questão (Ref.: 201101128860)
	Pontos: 0,0  / 1,5
	Considere uma lista simplesmente encadeada não circular de inteiros e o tipo      
               struct no  {
                                               int dado;
                                               struct no *link;
                        };
Faça uma função para inverter a lista e retornar o ponteiro para o início da lista resultante.
Protótipo :    no *inverter(no *ini);  //ini aponta para o início da lista
	
	
Resposta: struct no {int dado; struct mo *link;}; int main () { int op, *x, *y; cout << linta Simplesmente encadeada nao circular"; cout<<" 1 - MOstrar lista"; cout" 2 - Sair"; cin >> op; switch(op){case 1; no *inte(no *x, no *y);break; case2; siystem("pause")break; defaut ; coit << " opcao invalida"; break;)) void no " inteiro ( no "x, no *y){}
	
Gabarito: no *inverter ( no *ini) // ini é um ponteiro para o início da lista { no *a, *b, *c; a = ini; b = NULL; while (a != NULL) { c = b; b = a; a = a->link; b->link = c; } ini = b; return(ini); } /* fim da função */

Outros materiais