Buscar

ESTRUTURA DE DADOS

Prévia do material em texto

Aluno(a): MARIANA BEATRIZ SILVA DOS SANTOS
	Matrícula: 
	Desempenho: 0,3 de 0,5
	Data:  (Finalizada)
	
	 1a Questão (Ref.: 201307264074)
	Pontos: 0,1  / 0,1
	Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes são caracteristicamente:
		
	
	Heterogêneos e com acesso indexado-sequencial.
	
	Heterogêneos e com acesso LIFO.
	
	Homogêneos e com acesso indexado-sequencial.
	 
	Homogêneos e de acesso aleatório por intermédio de índices.
	
	Heterogêneos e com acesso FIFO.
		 Gabarito Comentado.
	
	
	 2a Questão (Ref.: 201307921500)
	Pontos: 0,1  / 0,1
	As siglas e significados LIFO ¿ ¿Last In, First Out¿ e FIFO ¿ ¿First In, First Out¿ referem-se, respectivamente, às seguintes estruturas de dados.
		
	
	Fila e Função.
	 
	Pilha e Fila.
	
	Fila e Pilha.
	
	Pilha e Função.
		
	
	
	 3a Questão (Ref.: 201307841635)
	Pontos: 0,0  / 0,1
	1)      O que será impresso pela função Eureka ?  Assinale a opção correta.
 
void Eureka()
  {
              for (int i = 1; i <= 10; i++)
                              if (i % 2 == 0)
                                  cout << i << " ";
                              else
                                 if (i % 7 == 0)
                                     return;
  }
 
		
	
	2 4 6 8
	
	Nada é impresso, pois a função não compila. A função não deveria usar return, pois não está de acordo  com o uso de void.
	 
	2 4 6
	 
	2 4 6 8 10
	
	Nada é impresso, pois a função não compila. Para a função compilar, deveria ter int no lugar de void, já  que há return na função.
		
	
	
	 4a Questão (Ref.: 201307984094)
	Pontos: 0,0  / 0,1
	No programa abaixo em C++, que sequência de valores serão impressos ? int x; x = 15; if (x > 0) { int x; x = 25; cout << x << endl; } cout << x << endl;
		
	 
	25 e 15
	
	25 e 25
	
	15 e 15
	 
	15 e 25
	
	0 e 5
		
	
	
	 5a Questão (Ref.: 201307256156)
	Pontos: 0,1  / 0,1
	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.
		
	
	I e II.
	
	II e III.
	 
	somente a alternativa I.
	
	I e III.
	
	somente a alternativa e II.
	 1a Questão (Ref.: 201307990765)
	Pontos: 0,1  / 0,1
	Para uma aplicação em que deseja-se recuperar a ordem reversa de armazenamento dos dados em um vetor, a estrutura de dados mais apropriada a ser utilizada na implementação da aplicação é:
		
	
	Fila
	 
	Pilha
	
	Lista
	
	Grafo
	
	Árvore
		
	
	
	 2a Questão (Ref.: 201307827110)
	Pontos: 0,0  / 0,1
	Ling Tang, estudante de computação, precisou implementar parte de um jogo de cartões com figuras de animais.  Alguns jogadores teriam que jogar os cartões na mesa, enquanto outros deveriam devolver os cartões  na sequência inversa à jogada.  Ling Tang  estudou o mecanismo do jogo e decidiu usar a melhor estrutura de dados  na sua implementação. Qual a estrutura escolhida ?
		
	
	 árvore
	 
	 pilha
	 
	lista
	
	 grafo
	
	fila 
		
	
	
	 3a Questão (Ref.: 201307909041)
	Pontos: 0,1  / 0,1
	O vetor {5,4,6,3,1,2} quando ordenado através do Bubble Sort, possui quantas comparações e quantas trocas?
		
	
	10 comparações e 3 Trocas
	
	10 comparações e 8 Trocas
	
	10 comparações e 4 Trocas
	 
	10 comparações e 9 Trocas
	
	10 comparações e 10 Trocas
		
	
	
	 4a Questão (Ref.: 201307267654)
	Pontos: 0,1  / 0,1
	As estruturas de dados permitem o uso de certos algoritmos para a ordenação dos elementos de forma a facilitar a consulta de determinado elemento. Existem vários tipos de algoritmos para realizar a ordenação dos elementos, onde um algoritmo de ordenação deve rearranjar o vetor de forma a estabelecer uma ordem entre os elementos. O trecho de código abaixo descreve o algoritmo chamado:
algoritmo ordena (int a[], int n){
 Para i da primeira posição até a penúltima faca
  mínimo = i
  para j da posição seguinte a i até a ultima posição faça
   se (a[j] < a[mínimo])
    mínimo =j;
  fim para
 fim para
 troca(a[mínimo],a[i]);
fim algoritmo
		
	
	QuickSort
	
	Inserção
	
	MergeSort
	
	Bolha
	 
	Seleção
		
	
	
	 5a Questão (Ref.: 201307264225)
	Pontos: 0,1  / 0,1
	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.
	
	Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada.
	 
	O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
	
	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.
	 1a Questão (Ref.: 201307827119)
	Pontos: 0,0  / 0,1
	    Tei Ping , famosa  cabeleireira das estrelas,  possui uma lista não ordenada de clientes em que registra apenas o nome, endereço e o telefone de cada cliente. Como não se pode pré-definir um limite para o tamanho da lista, como se pode implementar a inserção de um novo cliente na lista ? Sabe-se  que cada  cliente é do tipo Cliente  e a lista é do tipo List assim definidos :
 
struct Cliente {
     long int matricula;
      string nome, endereco e tel;
};
struct List {
                           Cliente  p;
                           struct List *link;
                  };
		
	 
	List * insereCliente(List *i, Cliente c)
{
      List *novo = new List;
      novo->p = c;
      novo->link =i;
     return novo;
}
	 
	List  insereCliente(List *i, Cliente c)
{
      List  novo[];
      novo[0].p = c;
      novo[0].link = i;
     return novo;
}
	
	 List * insereCliente(List *i, Cliente c)
{
      List *novo = new List;
      novo.p = c;
      novo.link = i;
     return novo;
}
	
	List * insereCliente(List  *i, Cliente c){
      List *novo ;
      novo->p = c;
      novo->link = i;
     return novo;
}
	
	List * insereCliente(List *i)  {
      List *novo = new List;
     Cliente c;
      novo->p =  c;
      novo->link = i;
     return novo;
}
		
	
	
	 2a Questão (Ref.: 201307256145)
	Pontos: 0,1  / 0,1
	Uma fila dupla que se trata de uma lista linear na qual os elementos podem ser inseridos ou removidos de qualquer extremo denomina-se:
		
	
	lista aberta
	
	grafo
	
	hashing
	 
	deque
	
	lista fechada
		
	
	
	 3a Questão (Ref.: 201307990769)
	Pontos: 0,0  / 0,1
	A principal vantagem da alocação estática de memória sobre a alocação dinâmica de memória é:
		
	 
	Uso de ponteiros.
	 
	Velocidade de acesso.
	
	Possibilidade de alocação em tempo de compilação.
	
	Possibilidade de alocação em tempo de execução.
	
	Quantidade de armazenamento.
		
	
	
	 4a Questão (Ref.: 201307827113)
	Pontos: 0,1  / 0,1
	Ao treinar macacos,foi realizado um jogo para avaliar sua  memória. O cientista fornecia sequências de cartas com figuras geométricas e o macaco devia reproduzir a mesma sequência usando figuras geométricas reais.  Qual a estrutura de dados mais adequada para modelar esse jogo ?
		
	 
	fila
	
	pilha
	
	lista
	
	grafo
	
	árvore
		
	
	
	 5a Questão (Ref.: 201307841008)
	Pontos: 0,0  / 0,1
	"Percorre a lista a partir da primeira posição, encontra o menor elemento e o coloca na primeira posição. Em seguida, percorre a lista a partir da segunda posição, encontra o segundo menor elemento e o coloca na segunda posição. O processo é repetido até que não hajam mais elementos a serem percorridos." Qual método de busca funciona com base no funcionamento descrito acima?
		
	
	Merge Sort
	
	Insertion Sort
	 
	Selection Sort
	 
	Bubble Sort
	
	Quick Sort
	 1a Questão (Ref.: 201307267418)
	Pontos: 0,1  / 0,1
	O registro de ativação de uma sub-rotina é o conjunto das informações que devem/precisam ser alocadas em memória. Assinale abaixo a única opção que representa a composição destas informações.
		
	
	( ) endereço de ponteiro / variáveis locais / endereço inicial
	
	( ) parâmetros passados / endereço inicial / endereço de retorno
	
	( ) endereço de retorno / valor de retorno / endereço de ponteiro
	
	( ) variáveis locais / valor de retorno / endereço de ponteiro
	 
	( ) endereço de retorno / variáveis locais / parâmetros passados
		
	
	
	 2a Questão (Ref.: 201307267651)
	Pontos: 0,0  / 0,1
	As estruturas de dados possibilitam a implementação de operações de manipulação de dados, tais como: inserção, seleção e consulta. Se for feita uma remoção em uma lista duplamente encadeada, esta operação será afetada se a remoção for feita:
		
	
	Apenas no final da lista
	
	Apenas no início da lista
	 
	Em qualquer parte da lista
	 
	Apenas no início e no final da lista
	
	Apenas no meio da lista
		
	
	
	 3a Questão (Ref.: 201307265499)
	Pontos: 0,1  / 0,1
	Uma lista simplesmente encadeada pode ser transformada em uma lista duplamente encadeada em tempo O(1), porque para transformar uma lista simplesmente encadeada em duplamente encadeada basta fazer uma cópia invertida de cada ponteiro (o destino do novo ponteiro passa a ser a origem do ponteiro original e vice-versa) e existe um número constante e limitado de cópias a fazer. Analisando as afirmações acima, conclui-se que:
		
	
	A primeira afirmação é falsa e a segunda é verdadeira.
	
	Primeira afirmação é verdadeira e a segunda é falsa.
	 
	As duas afirmações são falsas.
	
	As duas afirmações são verdadeiras e a segunda não justifica a primeira.
	
	As duas afirmações são verdadeiras e a segunda justifica a primeira.
		
	
	
	 4a Questão (Ref.: 201307264466)
	Pontos: 0,1  / 0,1
	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;
		
	
	
	 5a Questão (Ref.: 201307288228)
	Pontos: 0,0  / 0,1
	Com base nos principais elementos fornecidos pela biblioteca C++ padrão, marque a opção correta que resume todos os elementos dessa biblioteca:
		
	 
	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.
	
	Listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade, mapas.
	
	Vetores, listas, pilhas, filas,conjuntos e multiconjuntos, deques e filas com prioridade,
	 
	Iteradores, vetores, listas, pilhas, filas, deques e filas com prioridade, mapas.

Continue navegando

Outros materiais