Você está na página 1de 5

BDQ Prova Página 1 de 5

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

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 19/12/2012
BDQ Prova Página 2 de 5

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

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 19/12/2012
BDQ Prova Página 3 de 5

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.

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 19/12/2012
BDQ Prova Página 4 de 5

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]

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 19/12/2012
BDQ Prova Página 5 de 5

http://bquestoes.estacio.br/prova_resultado_preview.asp?cod_hist_prova=2176166&ti... 19/12/2012