Buscar

av2015_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

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

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ê 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

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

Prévia do material em texto

Avaliação: CCT0260_AV » ESTRUTURA DE DADOS 
Tipo de Avaliação: AV 
Aluno: 
Professor: SERGIO DE OLIVEIRA SANTOS Turma: 
Nota da Prova: 6,5 Nota de Partic.: 1,5 Data: 22/06/2015 18:29:43 
 
 
 1a Questão (Ref.: 201408270427) Pontos: 0,5 / 0,5 
 
 
 uma mistura dos métodos de ordenação por inserção e bubblesort. 
 por seleção. 
 
 
 uma mistura dos métodos de ordenação por seleção e por inserção. 
 bubblesort. 
 por inserção. 
 
 
 
 2a Questão (Ref.: 201408274842) Pontos: 0,5 / 0,5 
Analise as afirmativas abaixo e selecione a alternativa correta. 
 
I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade 
Relacionamento e Redes de computadores. 
 
II Árvore e lista duplamente encadeada são estruturas não lineares. 
III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao 
final. 
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-
la. 
 
V O uso de ponteiros é fundamental para construção de listas encadeadas. 
 
 III e V são verdadeiras 
 I , II e IV são verdadeiras 
 I e V são verdadeiras 
 II e V são verdadeiras 
 II E IV são verdadeiras 
 
 
 
 3a Questão (Ref.: 201408065616) Pontos: 0,5 / 0,5 
O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um 
de seus elementos o número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo 
número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e 
nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, 
comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do 
vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição 
procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver 
número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E 
finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a 
busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método 
denominado busca: 
 
 binária. 
 
por comparação. 
 
por contagem. 
 
randômica. 
 
linear. 
 
 
 
 4a Questão (Ref.: 201408267970) Pontos: 0,5 / 0,5 
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que 
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na 
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada 
aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos 
principais o acesso aleatório aos dados e alocação destes de forma contínua na memória. 
 
 
Lista Encadeada 
 
Fila Sequencial 
 
Pilha Sequencial 
 
Pilha Encadeada 
 Lista Sequencial 
 
 
 
 5a Questão (Ref.: 201408679262) Pontos: 0,5 / 0,5 
Considere dados sendo manipulados em uma pilha sequencial em que as operações possíveis são: inserção - 
push(novo valor) ou remoção - pop(). 
 
Se realizarmos a seguinte sequencia de operações: 
 
push(A),push(B),push(C),pop(),pop(),push(D),pop(),pop(). 
 
Pode-se dizer que o interior da pilha apresenta-se: 
 
 
Apenas com o dado A 
 
Com os dados A e B 
 Vazio 
 
Com os dados A e D 
 
Apenas com o dado D 
 
 
 
 6a Questão (Ref.: 201408065726) Pontos: 0,5 / 0,5 
Com a utilização das estruturas de dados e seus tipos, em algumas situações é imprescindível a criação de 
funções que façam determinada verificação ou ação nestas estruturas. Dessa forma, analise a função abaixo e 
marque corretamente a alternativa que descreve as funcionalidades desta. 
int funcao(float v[], float vl, int n) 
{ 
 for (int i = 0; i < n; i++) 
 if (v[i] == vl) 
 return i; 
 return -1; 
} 
 
 Retorna a posição de v se o valor vl foi encontrado. 
 
Resulta em erro, se o valor de vl não estiver dentro de v. 
 
Retorna o valor de vl se o valor n foi encontrado. 
 
Retorna -1 se o valor de vl estiver dentro de v. 
 
Retorna -1 se o valor de n foi encontrado. 
 
 
 
 7a Questão (Ref.: 201408607101) Pontos: 1,0 / 1,0 
Observe as afirmações a seguir: 
A) Antes de iniciar a construção de uma lista encadeada, o ponteiro que indica seu primeiro elemento deve ser 
inicializado com um endereço válido. 
B) Antes de iniciar a construção de uma lista encadeada, o ponteiro que indica seu primeiro elemento deve ser 
inicializado com um endereço nulo. 
C) Para inserir um nó em uma lista encadeada deve-se, inicialmente, alocar o novo nó e preenchê-lo com o 
valor correspondente. 
D) Para inserir um nó em uma lista encadeada deve-se, inicialmente, preenchê-lo com o valor correspondente e, 
posteriormente alocar o novo nó. 
 
 As afirmativas B e C estão corretas. 
 
As afirmativas A e D estão corretas. 
 
As afirmativas A e C estão corretas. 
 
As afirmativas B e D estão corretas. 
 
As afirmativas C e D estão corretas. 
 
 
 
 8a Questão (Ref.: 201408707274) Pontos: 0,5 / 1,5 
Considerando a seguinte estrutura: 
 
struct cad{ 
int matricula; 
float CR; 
}; 
 
Construa uma função com o protótipo: cad Entrada();, de tal forma que atenda a execução da função main(), 
abaixo: 
 
int main() { 
cad aluno=Entrada(); 
cout < < "Matricula:" < < aluno.matricula; 
cout < < endl; 
cout < < "CR:" < < aluno.CR; 
system("pause"); 
return 0; 
} 
 
 
Resposta: cad entrada () {int x, while (xɬ) aluno.matricula=matricula; aluno.CR=CR; return; } 
 
 
Gabarito: Dentre as possíveis implementações para a solução desta questão temos: 
 
cad Entrada() 
{ 
cad temp; 
cout < < " Cadastre a matricula"; 
cin > > temp.matricula; 
cout < < " Cadastre o CR"; 
cin > > temp.CR; 
return temp; 
} 
 
 
 
 9a Questão (Ref.: 201408708164) Pontos: 1,0 / 1,5 
Uma fila é também uma lista linear, mas para esta estrutura as inserções só podem ser efetuadas 
em um extremo da lista, e todas as retiradas (e geralmente os acessos) são realizados no outro 
extremo da lista. 
A partir do struct abaixo, crie uma função em C++ (somente o trecho da função) para inserir um 
elemento inteiro no fim da fila. 
#define TAM 100 
struct tfila{ 
 int F, R; 
 int vetor [TAM]; 
}; 
 
 
 
Resposta: tfila *novofim()if(novofim==TAM){ cout<<"Lista Cheia"; else tfila *novofim=new tfila; novofim-
>prox=NULL;return novofim;} 
 
 
Gabarito: 
int insere_fila(struct tfila *pf, int elem) 
{ 
If(pf->R==TAM-1) 
 return 0; 
pf->R++; 
pf->vetor[pf->R] = elem; 
return 1; 
} 
 
 
 
 10a Questão (Ref.: 201408065589) Pontos: 1,0 / 1,0 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para 
 
 
frente, apenas. 
 
cima e para baixo, apenas. 
 
cima e para baixo ou para frente e para trás. 
 
trás, apenas. 
 frente e para trás, apenas.

Outros materiais