Baixe o app para aproveitar ainda mais
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.
Compartilhar