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...