Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fechar Avaliação: CCT0260_AV_201201777682 (AG) » ESTRUTURA DE DADOS Tipo de Avaliação: AV Aluno: Professor: JANE TAVARES ALVAREZ DA SILVA Turma: 9005/AD Nota da Prova: 5,0 Nota de Partic.: 2 Data: 07/06/2014 14:02:47 1a Questão (Ref.: 201202098614) Pontos: 0,0 / 1,5 Considere uma lista não ordenada de códigos espiões usados por Sherlock Silva. Ajude- o a encontrar um determinado código c, realizando uma busca de acordo com o seguinte protótipo: int pesquisar(int v[ ], int c, int n); Note : v é o vetor de códigos, c é o código a ser procurado e n é a quantidade de códigos existentes em v. Resposta: Branco. Gabarito: 2a Questão (Ref.: 201201911720) 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: Branco. 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 */ 3a Questão (Ref.: 201202088262) Pontos: 0,5 / 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. pilha lista grafo fila árvore 4a Questão (Ref.: 201202089228) Pontos: 0,5 / 0,5 Observe o programa abaixo e escolha a alternativa que apresenta o retorno da função chamada pela função main(). Retorna 0 porque o nome do vetor da função main(...) é diferente do nome do vetor da função descobre(...) O valor retornado corresponde ao índice da variável que contem o maior número O menor número é retornado O maior número é retornado O valor retornado corresponde ao índice mais um da variável que contem o menor número 5a Questão (Ref.: 201201883067) Pontos: 0,5 / 0,5 O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação? void ordenar(float v[], int n) // n é o no. de elementos em v { int i , // índice aux, // auxiliar para troca trocou = true, fim = n - 1; while (trocou) { trocou = false; // sinaliza que é falso que trocou for (i = 0; i < fim; i++) { if (v[i] > v[i+1]) { aux = v[i]; v[i] = v[i+1]; v[i+1] = aux; // sinaliza que é verdadeiro que trocou trocou = true; } // fim if } // fim for fim--; // decrementa o fim } // fim while } // fim da função Heapsort Mergesort Quicksort Bublesort Shellsort 6a Questão (Ref.: 201201875125) Pontos: 0,5 / 0,5 No contexto de estrutura de dados, uma pilha é: uma lista do tipo LILO. um tipo de lista linear em que as operações de inserção e remoção são realizadas na extremidade denominada topo. 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. uma lista do tipo FIFO. 7a Questão (Ref.: 201202093073) Pontos: 0,5 / 0,5 Observe a função e o vetor abaixo e acompanhe no teste de mesa até que i seja 0, j seja 5 e a instrução vet[i]=temp; tiver sido executada. Assinale a alternativa onde estão presentes os valores corretos de v[i], aux etemp. 6 , 4 e 6 67, 3 e 15 23 , 4, e 6 18, 2 e 67 67, 4 e 23 8a Questão (Ref.: 201202088344) Pontos: 0,5 / 0,5 Considere uma pilha sequencial P com capacidade para n elementos. Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na inicialização. struct Pilha { int v[n], topo; }; void empilhar(Pilha &P, int valor) { if (P.topo == n - 1) cout << "Pilha cheia."; else P.v[P.topo] = valor; } void empilhar(Pilha P, int valor) { if (P.topo == n) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } void empilhar(Pilha P, int valor) { if (P.topo == n - 1) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } void empilhar(Pilha &P, int valor) { if (topo == n - 1) cout << "Pilha cheia."; else { topo++; v[topo] = valor; } } void empilhar(Pilha &P, int valor) { if (P.topo == n - 1) cout << "Pilha cheia."; else { P.topo++; P.v[P.topo] = valor; } } 9a Questão (Ref.: 201201875131) Pontos: 1,0 / 1,0 Um órgão público adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende os não idosos. O sistema II atende os idosos. Nessa situação: tanto o sistema I, quanto o II, adotam o esquema FIFO de organização de dados. tanto o sistema I, quanto o II, adotam o esquema vetor de organização de dados. o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema FIFO. tanto o sistema I, quanto o II, adotam o esquema LIFO de organização de dados. o sistema I, adota o esquema LIFO de organização de dados e o II, o esquema LIFO. 10a Questão (Ref.: 201201886628) Pontos: 1,0 / 1,0 Um tipo de estrutura de dados é declarada em C como: typedef struct no *apontador; struct no{ int valor; apontador esq, dir; } onde esq e dir representam ligações para os dados da esquerda e direita, respectivamente. Qual das seguintes alternativas é uma implementação correta da operação que inverte as posições dos dados da esquerda e da direita uma estrutura p, onde t é um apontador auxiliar. t=p->dir; p->dir = p->esq; p->esq = t; t=p; p->esq = p->dir; p->dir = p->esq; t=p->dir; p->esq = p->dir; p->dir = t; p->dir=t; p->esq = p->dir; p->dir = t; p->esq = p->dir; t = p->esq; p->dir = t;
Compartilhar