Buscar

AV 2015 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 7 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

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 6, do total de 7 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

Avaliação: ESTRUTURA DE DADOS
	Tipo de Avaliação: AV 
	Aluno 
	Professor:
	
	Turma: 
	Nota da Prova: 3,0        Nota de Partic.: 2        Data 
	
	 1a Questão (Ref.: 201405173378)
	2a sem.: Funções
	Pontos: 1,0  / 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: void inter calar(char v[],char w [] char z[],int n) { int i; for (i=0; i , n;i++)} z [i*2=1]=w{
	
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'; 
} 
	
	
	 2a Questão (Ref.: 201405351682)
	sem. N/A: Listas Duplamente Encadeadas
	Pontos: 0,0  / 1,5 
	  Faça uma função em C++ para imprimir os dados de uma lista duplamente encadeada não vazia. Considere 
 struct nodupla {
		 int dado;
		 struct *dlink, //ponteiro para o nó à direita
 *elink; //ponteiro para o nó à esquerda
 };
 
e o seguinte protótipo : void mostrar(nodupla *p); 
 
Considere que p aponta para o 1o. nó da lista à esquerda.
		
	
Resposta: aaaa
	
Gabarito: 
void mostrar(nodupla *p)
{
 while (p != NULL)
 {
 cout << p->dado << " ";
 p = p->dlink;
 }
}
	
	
	 3a Questão (Ref.: 201405144876)
	1a sem.: UNIDADE 1: INTRODUÇÃO
	Pontos: 0,5  / 0,5 
	Podemos dizer que estrutura de dados é: 
		
	
	O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. 
	
	A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. 
	
	O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. 
	
	É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema.
	
	Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada. 
	
	
	 4a Questão (Ref.: 201405136786)
	2a sem.: Unidade 2 : Funções e Unidade 3 : Listas Lineares Sequenciais
	Pontos: 0,5  / 0,5 
	Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:
		
	
	Por valor e por referência
	
	Por inferência e por valor.
	
	Por reforço e por referência. 
	
	Por teste e por reforço. 
	
	Por memória e por disco. 
	
	
	 5a Questão (Ref.: 201405145057)
	3a sem.: UNIDADE 3: ORDENAÇÃO
	Pontos: 0,0  / 0,5 
	Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades. 
		
	
	Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
	
	Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita. 
	
	Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita. 
	
	Se o item for igual ao item que está na metade do vetor, o item foi encontrado. 
	
	Se o item for igual ao item que está na metade do vetor, o item não foi encontrado. 
	
	
	 6a Questão (Ref.: 201405347508)
	sem. N/A: Aula 4
	Pontos: 0,5  / 0,5 
	Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70.
		
	
	6 e 4 
	
	5 e 5 
	
	6 e 2 
	
	7 e 1 
	
	6 e 1 
	
	
	 7a Questão (Ref.: 201405145258)
	5a sem.: Listas
	Pontos: 0,5  / 0,5 
	Analisando o trecho do algoritmo abaixo, 
pode-se afirmar que se trata de uma operação de:
		
	
	Remoção de um elemento de uma estrutura LIFO
	
	Remoção de um elemento de uma estrutura FIFO
	
	Exibição de um elemento em uma estrutura LIFO
	
	Inserção de um elemento em uma estrutura FIFO 
	
	Inserção de um elemento em uma estrutura LIFO 
	
	
	 8a Questão (Ref.: 201405684361)
	sem. N/A: AULA 6: A ESTRUTURA DE DADOS - PILHA
	Pontos: 0,0  / 0,5 
	Analise as afirmativas sobre uma pilha estática e assinale a opção correta.
I Ordenar é uma operação que não se faz com pilha. 
II Inserir dados é uma operação que se faz com a pilha. 
III Remover dados em qualquer posição é uma operação que se faz com a pilha. 
IV Verificar se a Pilha está cheia é necessário quando se deseja inserir nela. 
V Inicializar uma pilha significa zerar todas as variáveis do vetor. 
		
	
	II e III estão corretas. 
	
	I, II e IV estão corretas. 
	
	I e II estão corretas. 
	
	I e IV estão corretas. 
	
	I, II e V estão corretas. 
	
	
	 9a Questão (Ref.: 201405350159)
	sem. N/A: A Estrutura de Dados Fila
	Pontos: 0,0  / 1,0 
	
		
	
	void enfileirar(Fila &F, int valor) {
 if (F.fim == n - 1)
 cout << "Fila cheia\n";
 else 
 F.v[F.fim] = valor;
 }
	
	void enfileirar(Fila F, int valor) {
 if (F.fim == n)
 cout << "Fila cheia\n";
 else {
 F.fim++;
 F.v[F.fim] = valor;
 }
}
	
	void enfileirar(Fila &F, int valor) {
 if (F.fim == n - 1)
 cout << "Fila cheia\n";
 else {
 F.fim++;
 F.v[F.fim] = valor;
 }
}
	
	void enfileirar(Fila F, int valor) {
 if (F.fim == n - 1)
 cout << "Fila cheia\n";
 else {
 F.fim++;
 F.v[F.fim] = valor;
 }
}
	
	void enfileirar(Fila &F, int valor) {
 if (fim == n - 1)
 cout << "Fila cheia\n";
 else {
 fim++;
 v[fim] = valor;
 }
}
	
	
	 10a Questão (Ref.: 201405384254)
	sem. N/A: Listas encadeadas - finalizando/ pilhas e filas dinâmicas
	Pontos: 0,0  / 1,0 
	Tenho uma lista encadeada de processos para ler e despachar, mas obedeço a ordem de chegada, ou seja, o primeiro processo que chega é o primeiro processo a ser atendido por mim. Sabendo que cada processo é do tipo Processo, previamente definido e que a lista é do tipo Lista, assinale a opção que corretamente implementa a retirada de um processo da lista, que pode ter um ou mais processos. 
 Considere p um ponteiro para o primeiro nó da lista e ainda,
struct Lista {
 Processo p;
 struct Lista *link;
 };
		
	
	Lista *retirar(Lista *p)
{
 Lista *aux = p;
 while (p->link->link !=NULL)
 p = p->link;
 p->link = NULL;
 return p;
}
	
	Lista *retirar(Lista *p)
{
 Lista *aux = p;
 p = p->link;
 delete aux;
 return p;
}
	
	Lista *retirar(Lista *p)
{
 delete p;
 p = p->link;
 return p;
}
	
	Lista *retirar(Lista *p)
{
 Lista *aux = p;while (p->link->link !=NULL)
 p = p->link;
 delete p->link;
 p->link = NULL;
 return p;
}
	
	Lista retirar(Lista *p)
{
 Lista *aux = p;
 p = p->link;
 return p;
}

Outros materiais