Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Avaliação: CCT0174_AV2_201107083061 » ESTRUTURA DE DADOS Tipo de Avaliação: AV2 Aluno: 201107083061 - GERALDO LUCAS GOMES Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA Nota da Prova: 3,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 21/11/2012 1a Questão (Cód.: 58562) Pontos: 1,5 / 1,5 Qual a diferença entre pilha e fila? Resposta: A diferença é que na pilha inserção e remoção de um elemento acontecem sempre na mesma extremidade, ja na Fila a inserção aconteça em uma extremidade e remoção na outra. Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura. Essa lógica é chamada de FIFO. 2a Questão (Cód.: 56270) 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: int funcao(float v[], float vl, int n) { for (int i = 0; i < n; i++) if (v[i] == vl) return i; return -1; } 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 (Cód.: 27966) Pontos: 0,0 / 0,5 Página 1 de 5BDQ Prova 19/12/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... Qual o valor da variável a ao final da execução do trecho de programa a seguir? int main() { int a, b, *p; a=4; b = 2; p = &a; a++; *p = a + b; (*p)++; (*p) += a; cout << "\n a = " << a << endl; return(0); } 5 16 4 8 7 4a Questão (Cód.: 27620) Pontos: 0,0 / 0,5 Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações: ENQUEUE(1) ENQUEUE(2) DEQUEUE() ENQUEUE(3) ENQUEUE(4) DEQUEUE() DEQUEUE() ENQUEUE(5) Ao final da sequencia, a soma dos elementos de que (Q) será? 0 6 Página 2 de 5BDQ Prova 19/12/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 9 5 15 5a Questão (Cód.: 27753) Pontos: 1,0 / 1,0 Podemos dizer que estrutura de dados é: O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada. A entrada, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema. O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. 6a Questão (Cód.: 28126) Pontos: 0,0 / 0,5 As funções em programação permitem que se possa realizar a modularização do código diminuindo assim sua complexidade. Analise a função abaixo e assinale alternativa que descreve corretamente o tipo de função: int funcao (int x){ if(x == 0) return 0; else funcao(x-1); } Condicional de seleção Sequencial Igual a zero Passagem por referência Recursiva 7a Questão (Cód.: 28144) Pontos: 0,0 / 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; } Resulta em erro, se o valor de vl não estiver dentro de v. Retorna a posição de v se o valor vl foi encontrado. Retorna -1 se o valor de n foi encontrado. Retorna o valor de vl se o valor n foi encontrado. Retorna -1 se o valor de vl estiver dentro de v. Página 3 de 5BDQ Prova 19/12/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 8a Questão (Cód.: 28131) Pontos: 0,0 / 0,5 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. Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes. Proteção de memória, transferência de dados, estruturas simples. Acesso, representação, compartilhamento de memória. Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos. Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos. 9a Questão (Cód.: 27932) Pontos: 1,0 / 1,0 Marque a afirmativa que represente uma separação. Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante. Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da necessidade. Intercalar a ordem dos dados da lista do final para o início, atualizando a lista. Organizar os dados da lista em ordem crescente ou decrescente. Alterar a ordem dos dados da lista do final para o início, atualizando a lista. 10a Questão (Cód.: 27963) Pontos: 0,0 / 0,5 O resultado de um concurso foi armazenado por um programador em um vetor, onde cada elemento (descrito pela struct Candidato) possui a informação da matrícula e nota de cada candidato, conforme descrito a seguir. Deseja-se que o vetor com os resultados fique ordenado em ordem decrescente pela nota. O programador pretende usar o algoritmo de busca descrito a seguir, porém precisa de ajuda no trecho contendo ********. Indique a opção que contém a solução que completa as linhas 1, 3 e 7 do algoritmo. ... struct Candidato { char mat[10]; float nota; }; ... 1.void ordenaSelecao (******** v[], int n) { 2. int i, j, maior; 3. ******** aux; 4. for (j = 0; j < n-1; j++) { 5. maior = j; 6. for (i = j+1; i < n; i++) 7. if (********) 8. maior = i; 9. aux = v[j]; 10. v[j] = v[maior]; 11. v[maior] = aux; 12. } 13.} 1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota 1. int 3. int 7. v[i] < v[maior] 1. struct Candidato 3. struct Candidato 7. v[i].nota > v[maior].nota 1. float 3. float 7. v[i] < v[maior] 1. int 3. int 7. v[i] > v[maior] Página 4 de 5BDQ Prova 19/12/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... Página 5 de 5BDQ Prova 19/12/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti...