Buscar

AV2_ESTRUTURA DE DADOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fechar
Avaliação: CCT0174_AV2_201002141011 » ESTRUTURA DE DADOS
Tipo de Avaliação: AV2
Aluno: 201002141011 - WELLINGTON PEREIRA DE OLIVEIRA
Professor: ALEXANDRE SOARES ALVES Turma: 9002/AB
Nota da Prova: 2,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/11/2012
 1a Questão (Cód.: 56256) Pontos: 0,0 / 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 z, 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; for (int nv=v[i]; int nw=w[i];
int n=z[i]); if return true; else return false; }
 2a Questão (Cód.: 51756) Pontos: 0,0 / 1,0
Com base nos principais elementos fornecidos pela biblioteca C++ padrão, marque a opção correta que resume
todos os elementos dessa biblioteca:
Listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
Iteradores, vetores, listas, pilhas, filas, deques e filas com prioridade, mapas.
 Vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade,
 iteradores, vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
Iteradores, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
 3a Questão (Cód.: 56276) Pontos: 0,0 / 1,5
Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e o
tipo 
 struct no {
 int dado;
 struct no *link;
 };
Faça uma função para criar uma lista simplesmente encadeada não circular que seja
constituída pelos elementos comuns às duas listas passadas.
Protótipo : no *inter(no *x, no*y);
Resposta: no *inter(no *x, no*y) { }
 4a Questão (Cód.: 27753) Pontos: 1,0 / 1,0
Podemos dizer que estrutura de dados é:
É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma
solução do problema.
O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
A entrada, 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.
Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente
determinada.
 5a Questão (Cód.: 28115) Pontos: 0,5 / 0,5
A armazenagem de dados pode ocorrer temporariamente em uma variável, um vetor ou em uma estrutura
chamada Struct na linguagem C e C++. Como se procede a atribuição de valor a um determinado campo de
uma estrutura do tipo Struct?
Nome da estrutura vírgula tipo do campo
Nome da estrutura ponto tipo do campo
 Nome da estrutura ponto nome do campo
Nome da estrutura seta nome do campo
Nome da estrutura seta tipo do campo
 6a Questão (Cód.: 28365) Pontos: 0,0 / 0,5
Observe o trecho de código em C/C++ a seguir. O laço for preenche os dados dos candidatos no vetor de
selecionados. (adaptado para C/C++)
1.struct Candidato {
2. char nome[15];
3. double nota;
4. };
5.
6.int main(){
7. struct Candidato selecionados[5];
8. int i;
9. for (i=0; i<5; i++){
10. cout << "Nome: ";
11. cin.get();cin.get(***********,15);
12. cout << "Nota: ";
13. cin >> ***********;
14. }
15. ...
16.}
Observe que o código no interior dos comandos das linhas 11 e 13 foi substituido por ***********.
Para que este programa compile e execute sem erros, os asteriscos nas linhas 11 e 13 devem ser substituídos
respectivamente por:
Candidato.nome[i]
Candidato.nota[i]
 
selecionados.nome[i]
selecionados.nota[i]
 
selecionados[i].nome
selecionados[i].nota
Candidato[i].nome
Candidato[i].nota
nome[i]
nota[i]
 7a Questão (Cód.: 27935) Pontos: 0,5 / 0,5
Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da
direita.
 Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da
esquerda.
 8a 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;
}
Retorna -1 se o valor de vl estiver dentro de v.
Retorna o valor de vl se o valor n foi encontrado.
Retorna -1 se o valor de n foi encontrado.
 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.
 9a Questão (Cód.: 28104) Pontos: 0,0 / 0,5
Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as
posições iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1
(menos um):
Após a inserção deve-se fazer o decremento da variável final
 Antes da inserção deve-se fazer o incremento da variável final
Após a inserção deve-se fazer o incremento da variável final
 Antes da inserção deve-se fazer o decremento da variável final
Após a inserção deve-se fazer o incremento da variável inicio
 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. int 3. int 7. v[i] > v[maior]
 1. float 3. float 7. v[i] < v[maior]
1. struct Candidato 3. struct Candidato 7. v[i].nota < v[maior].nota

Outros materiais