Buscar

AV Estrutura de Dados 23.08.2014

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

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 6, do total de 6 páginas

Prévia do material em texto

Parte superior do formulário
		
		
	 
	 Fechar
	
	Tipo de Avaliação: AV
	Professor:
	ANITA LUIZA MACIEL LOPES
	Turma: 9001/AA
	
	 1a Questão (Ref.: 201311078367)
	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 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){ bool teste; int x, i; n = 0; for (i = 0; i < nv; i++){ teste = false; for (x = 0; x < nw; x++){ if (v[i] == w[x]){ teste = true; break; } if (teste = false) z[n++] = v[i]; } } if (n > 0) return true; else return false; }
	
Gabarito:
bool intersecao(int v[], int w[], int inter[], int nv , int nw , int &n) {
bool achou = false;
for (int i = 0; i < nv; i++)
for (int j = 0; j < nw; j++)
if (v[i] == w[j]) {
inter[n] = v[i];
achou = true;
n++;
}
return achou;
}
	
	
	 2a Questão (Ref.: 201311252522)
	Pontos: 0,0  / 1,5
	Listas encadeadas são estruturas cujos nodos são alocados dinamicamente, isto é em tempo de execução, na medida em que se necessite de mais espaço. Sendo um nodo representado por:
struct elemento{
            string nome;
            int idade;
            elemento *prox;
};
 
Escreva em linguagem C++ uma função de nome criaNodo( ),  que crie um novo nodo para ser inserido no final da lista, e forneça um ponteiro com o endereço do nodo criado.
		
	
Resposta: elemento * criaNodo(){ elemento el = new elemento; el.prox = null; return el; }
	
Gabarito:
elemento * criaNodo ( )
{
            elemento *p=new elemento;
            p->prox=null;
            return p;
}
	
	
	 3a Questão (Ref.: 201311252482)
	Pontos: 0,0  / 0,5
	As estruturas de dados podem ser caracterizadas como sendo uma forma organizada de armazenar dados ou informações na memória, de modo a otimizar o acesso a estes. Muitas vezes existem algoritmos de manipulação dados associados a estas estruturas. Verifique as seguintes sentenças:
I-Filas são estruturas que recuperam os dados na ordem direta em que estes foram  armazenados.
II-As Pilhas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
III-As Pilhas são estruturas que recuperam os dados na ordem direta em que estes foram armazenados.
IV-As Filas são estruturas que recuperam os dados na ordem reversa em que estes foram armazenados.
Marque a alternativa CORRETA:
		
	
	Todas as alternativas estão corretas.
	 
	As alternativas I e II estão corretas
	
	As alternativas I e III estão corretas.
	
	As alternativas II e IV estão corretas.
	 
	As alternativas III e IV estão corretas.
	
	
	 4a Questão (Ref.: 201311041795)
	Pontos: 0,0  / 0,5
	Analise as seguintes afirmações: I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo valor. III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita local quando esta passagem se dá apenas por valor. Indique a opção que contenha todas as afirmações verdadeiras.
		
	 
	somente a alternativa I.
	 
	I e II.
	
	I e III.
	
	II e III.
	
	somente a alternativa e II.
	
	
	 5a Questão (Ref.: 201311252492)
	Pontos: 0,5  / 0,5
	Pode-se definir uma estrutura heterogênea como sendo um conjunto de elementos, geralmente, agrupados sob uma lógica e associados por um nome.
Esses elementos podem ser variáveis simples, matrizes ou ainda outras estruturas. Seja a definição de uma estrutura como:
 
 struct  aluno {
              string nome;
              float   nota;
};
 
Suponha ainda que exista um vetor desta estrutura, definido como:
 aluno vet [ 100];
 
Marque a alternativa em que é atribuída de forma correta a nota 5.7 para o décimo elemento deste vetor.
		
	 
	vet[10].nota=5.7;
	
	aluno.vet[10].nota=5.7;
	
	aluno.vet[10]=5.7;
	
	vet[10].aluno.nota=5.7 ;
	
	vet[10]=aluno.5.7;
	
	
	 6a Questão (Ref.: 201311050140)
	Pontos: 0,0  / 0,5
	Analise o seguinte trecho de algoritmo de ordenação de dados, cujos elementos estão dispostos em um vetor de nome v com n elementos.
...
{
int i, j, aux;
for (j = 1; j < n; j++)
for (i=j; i > 0 && v[i-1]> v[i]; i--) {
aux = v[i-1];
v[i-1] = v[i];
v[i] = aux;
}
}
...
Assinale o método ao qual o trecho de algoritmo pertence.
		
	 
	Bolha
	 
	Inserção
	
	Quicksort
	
	Heapsort
	
	Seleção
	
	
	 7a Questão (Ref.: 201311252499)
	Pontos: 0,0  / 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 Sequencial
	
	Fila Sequencial
	
	Pilha Encadeada
	 
	Lista Encadeada
	
	Pilha Sequencial
	
	
	 8a Questão (Ref.: 201311255005)
	Pontos: 0,0  / 0,5
	   Considere uma pilha sequencial P com capacidade para n elementos.
   Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na inicialização.
 
struct Pilha {
                   int v[n], topo;
                 };
 
		
	 
	void empilhar(Pilha &P, int valor) {
       if (P.topo == n - 1)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
	
	void empilhar(Pilha &P, int valor) {
       if (P.topo == n - 1)
          cout << "Pilha cheia.";
      else
             P.v[P.topo] = valor;
}
 
	 
	void empilhar(Pilha P, int valor) {
       if (P.topo == n - 1)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
	
	void empilhar(Pilha &P, int valor) {
       if (topo == n - 1)
          cout  <<  "Pilha cheia.";
      else       {
           topo++;
           v[topo] = valor;
       }
}
	
	void empilhar(Pilha P, int valor) {
       if (P.topo == n)
          cout << "Pilha cheia.";
      else      {
          P.topo++;
          P.v[P.topo] = valor;
       }
}
	
	
	 9a Questão (Ref.: 201311050200)
	Pontos: 1,0  / 1,0
	Qual das alternativas a seguir pode definir uma estrutura de fila?
		
	
	Entrada e saída de dados pelo início.
	 
	Entrada de dados pelo final e saída pelo início.
	
	Entrada de dados pelo início e saída pelo final.
	
	Entrada e saída de dados pelo final.
	
	Entrada e saída de dados em qualquer local.
	
	
	 10a Questão (Ref.: 201311050242)Pontos: 1,0  / 1,0
	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.
		
	
	Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
	
	Proteção de memória, transferência de dados, estruturas simples.
	 
	Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
	
	Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
	
	Acesso, representação, compartilhamento de memória.
	
	
	Período de não visualização da prova: desde 19/08/2014 até 04/09/2014.
Parte inferior do formulário

Outros materiais