Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0174_AV2_201107032962 » ESTRUTURA DE DADOS Tipo de Avaliação: AV2 Aluno: 201107032962 - DANIEL DIAS DOS SANTOS Professor: ALEXANDRE SOARES ALVES Turma: 9001/AA Nota da Prova: 4,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 17/11/2012 1 a Questão (Cód.: 95280) Pontos: 1,0 / 1,0 Assinale a opção certa. Quando não se escreve o protótipo de uma função ... É preciso definir a função antes do programa principal. A definição da função deverá ser escrita, obrigatoriamente, após o programa principal. A chamada da função não poderá ser feita em qualquer hipótese. A chamada da função poderá ser feita em qualquer hipótese. O programa não funcionará de forma alguma. 2 a Questão (Cód.: 56256) Pontos: 0,5 / 1,5 Os agentes Leo e Lia receberam sequências de números de seus contatos. Para saberem qual o próximo passo da missão, precisam descobrir que números se repetem nas sequências recebidas por cada um. Faça uma função que receba dois vetores v e w de inteiros como parâmetros e gere um vetor resultante da interseção entre v e w. Protótipo da função : bool intersecao(int v[ ], int w[ ], int z [ ], int nv , int nw , int &n); onde nv: quantidade de elementos em v nw : quantidade de elementos em w n : quantidade de elementos no vetor z Note : • Inicialmente n vale zero. • Deverá ser retornado true (sucesso na interseção) ou false (fracasso na interseção). Resposta: bool intersecao(int v[], int w[],int z[],int nv, int nw, int &n) { n = 0; if ( nv == tam) { cout<<"\nerro"; } Página 1 de 5BDQ Prova 21/11/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 3 a 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: desculpe nao sei como fazer essa. 4 a Questão (Cód.: 95248) Pontos: 0,5 / 0,5 Uma fila duplamente terminada, isto é, uma estrutura linear que permite inserir e remover de ambos os extremos é chamada de: Autômato. Deque. Shift-and. Boyer-Moore. Árvore. 5 a Questão (Cód.: 27775) Pontos: 0,5 / 0,5 Qual a importância de se entender a "ordenação" de dados ? A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas. A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas. A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. 6 a Questão (Cód.: 28130) Pontos: 1,0 / 1,0 As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado. Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado. São tipos de dados indivisíveis. Página 2 de 5BDQ Prova 21/11/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos. Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa. Também são denominados tipos primitivos, não é possível decompor em partes menores. 7 a Questão (Cód.: 77785) Pontos: 0,5 / 0,5 É um método de pesquisa ou busca, cujo algoritmo parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca, comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. A descrição apresentada trata-se do método denominado busca ...... por contagem. por comparação. binária. linear. randômica. 8 a Questão (Cód.: 27994) Pontos: 0,0 / 0,5 Imagine a seguinte estrutura em C/C++, para descrever um produto: struct Produto { int codigo; char descricao[40]; float preco; }; Considere a função que atribui o preço ao produto void atribui (struct Produto *pProd) { /* atribuição do preço */ ... } A forma correta para atribuir 2.99 ao campo preco dentro de função atribui é: pProd -> preco=2.99; *pProd.preco=2.99; pProd.preco=2.99; *pProd -> preco=2.99; (*pProd) -> preco=2.99; Página 3 de 5BDQ Prova 21/11/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 9 a Questão (Cód.: 27988) Pontos: 0,0 / 0,5 Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila: int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v. int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v. Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia: enfileirar (minhaFila[], 10, fim); enfileirar (minhaFila[], 20, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 30, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 40, fim); enfileirar (minhaFila[], 50, fim); enfileirar (minhaFila[], 60, fim); desenfileirar (minhaFila[], inicio, fim, valor); enfileirar (minhaFila[], 70, fim); Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último elemento inserido na fila? 6 5 4 1 7 10 a 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; Página 4 de 5BDQ Prova 21/11/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti... 12. } 13.} 1. int 3. int 7. v[i] > v[maior] 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] Página 5 de 5BDQ Prova 21/11/2012http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2166730&ti...
Compartilhar