Buscar

AV - ESTRUTURA DE DADOS - JUN-2015

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

Fechar 
 
Avaliação: CCT0260_AV_201408212579 » ESTRUTURA DE DADOS Tipo de Avaliação: AV 
Aluno: 
Nota da Prova: 5,9 Nota de Partic.: 1 Data: 23/06/2015 21:05:36 (F) 
 
 
 1a Questão (Ref.: 641678) 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. 
 
 
Pilha Encadeada 
 Lista Sequencial 
 
Pilha Sequencial 
 
Lista Encadeada 
 
Fila Sequencial 
 
 2a Questão (Ref.: 28116) Pontos: 1,0 / 1,0 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores 
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa 
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover 
os elementos a sua frente, é chamada de: 
 
 
Matriz 
 
Pilha 
 
Struct 
 
Bolha 
 Fila 
 
 3a Questão (Ref.: 27591) Pontos: 0,5 / 0,5 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)? 
 
 
ordenação 
 overflow 
 
underflow 
 
inclusão 
 
remoção 
 
 4a Questão (Ref.: 28120) Pontos: 0,5 / 0,5 
Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. 
Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome 
do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples. 
 
 
Hash 
 
Binária 
 
Seleção 
 
Inserção 
 Bolha 
 
 5a Questão (Ref.: 613242) Pontos: 0,5 / 0,5 
Nos métodos de ordenação interna, quais são aqueles classificados como tipo método simples? 
 
 Selection Sort, Insert Sort e Bubble Sort 
 
Insert Sort, Bubble Sort e Shell Sort 
 
Shell Sort, Quick Sort e Heap Sort 
 
Selection Sort, Shell Sort e Bubble Sort 
 
Insert Sort, Bubble Sort e Quick Sort 
 
 6a Questão (Ref.: 28095) Pontos: 0,5 / 0,5 
Ao remover um elemento armazenado em uma pilha é necessário a atualização da variável (Topo) indicadora de 
posição. Qual das alternativas abaixo está correta? 
 
 
Após a operação de remoção incrementa a variável indicadora de inicio. 
 
Após a operação de remoção incrementa a variável indicadora de posição. 
 
Antes da operação de remoção incrementa a variável indicadora de posição. 
 
Antes a operação de remoção decrementa a variável indicadora de posição. 
 Após a operação de remoção decrementa a variável indicadora de posição. 
 
 7a Questão (Ref.: 265981) Pontos: 0,5 / 0,5 
Tei Ping, estudante de computação, precisou implementar parte de um jogo que trabalhava com cartas 
especiais. Cada carta possui um número e uma letra. Alguns jogadores teriam que jogar as cartas na mesa, 
enquanto outros deveriam devolver as cartas na sequência inversa à jogada. Tei Ping estudou o mecanismo do 
jogo e decidiu usar a melhor estrutura de dados na sua implementação. Qual a estrutura escolhida ? 
 
 
grafo 
 
lista 
 pilha 
 
fila 
 
árvore 
 
 8a Questão (Ref.: 49194) Pontos: 0,5 / 1,5 
const int TAMMAX = 100; 
struct TipoLista{ 
int qtde; // descritor que representa a quantidade de elementos na lista 
int elemt[TAMMAX]; 
}; 
Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial. 
Construa um procedimento para adicionar um dado no final da lista. 
A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for 
necessário. 
 
 
Resposta: void insere(TipoListaint *lista, int elemt, int controlaTamanho) { if(controlaTamanho < TAMMAX) cout 
<< "Lista cheia!; lista.elemt[controlaTamanho] = elemt; controlaTamanho++; cout << "Dado inserido com 
sucesso!"; } 
 
 
Gabarito: 
void addFinalLista ( TipoLista &lista, int dado ){ 
if(lista.qtde == TAMMAX){cout << "Lista Cheia."; } 
else{ lista.elemt[lista.qtde] = dado; 
 lista.qtde++; 
 cout << "Dado adicionado com sucesso."; 
} } 
 
 9a Questão (Ref.: 49057) Pontos: 1,4 / 1,5 
Defina um tipo de dado (registro) capaz de armazenar as seguintes informações sobre um determinado cliente 
de um banco: nome, CPF, RG, número da conta, data de abertura da conta, e saldo. 
Com base neste tipo de dado, construa o trecho código em C++ que represente a leitura dos dados do cliente 
feita pelo usuário. 
 
 
Resposta: struct ClienteBanco{ string nome; int, cpf, rg, numeroConta; string dataAbertura; float saldo; }; 
ClienteBanco cliente; cin >> cliente.nome; cin >> cliente.cpf; cin >> cliente.rg; cin >> cliente.numeroConta; 
cin >> cliente.dataAbertura; cin >> cliente.saldo; 
 
 
Gabarito: 
struct ClienteBanco{ 
 string nome; 
 string cpf; 
 int rg; 
 int numConta; 
 double saldo; 
}; 
ClienteBanco cliente; 
cin >> cliente.nome; 
cin >> cliente.cpf; 
cin >> cliente.rg; 
cin >> cliente.saldo; 
 
 10a Questão (Ref.: 230409) Pontos: 0,0 / 1,0 
Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de 
diferentes naturezas, entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, 
são estes os ponteiros ant e prox, que apontam respectivamente para o nodo anterior e para o próximo 
nodo. Esta característica permite que a estrutura seja percorrida em ambos os sentidos. Assim 
analisando as operações a seguir: 
p->ant->prox=p->prox; 
p->prox->ant=p->ant; 
 
 Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que: 
 
 
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p. 
 
As operações possibilitam a busca de um nodo apontado pelo ponteiro p. 
 As operações possibilitam o percurso do ponteiro p da esquerda para direita. 
 As operações removem o nodo apontado pelo ponteiro p. 
 
As operações possibilitam o percurso do ponteiro p da direita para esquerda.

Outros materiais