Buscar

prova de estrura 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 15 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 15 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 9, do total de 15 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

Disc.: ESTRUTURA DE DADOS   
	Aluno(a): GILBERTO DA SILVA BORGES
	Matrícula: 201502300001
	Acertos: 7,0 de 10,0
	Início: 17/04/2019 (Finaliz.)
	
	
	1a Questão (Ref.:201502357761)
	Acerto: 1,0  / 1,0 
	Estão entre algumas das possíveis formas de se estruturar dados: 
		
	
	Grafos, algoritmos, fila. 
	
	Grafos, lista ordenada, vetores. 
	
	Lista encadeada, vetores, algoritmos.
	
	Algoritmos, lista ordenada, vetores. 
	
	Grafos, lista ordenada, algoritmos. 
	
	
	Gabarito
Coment.
	
	
	
	
	2a Questão (Ref.:201503480354)
	Acerto: 0,0  / 1,0 
	Estão entre algumas das possíveis formas de estruturas de dados: 
		
	
	Grafos, funções, fila
	
	Árvores binárias, pilhas, vetores
	
	cout, Funções, vetores
	
	Árvores binárias, pilhas, algoritmos
	
	Listas, vetores, cin
	
	
	
	3a Questão (Ref.:201502971669)
	Acerto: 1,0  / 1,0 
	Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica tem como principal elemento: 
		
	
	As Filas 
	
	Os Vetores 
	
	As Estruturas de Dados 
	
	As funções 
	
	Os Grafos 
	
	
	
	4a Questão (Ref.:201503514212)
	Acerto: 1,0  / 1,0 
	Considere o trecho de um programa escrito em C++.
 int func1 (int n1, int n2) {
     int aux = n1 % n2;
     while ( aux != 0) {
         n1 = n2;
         n2 = aux;
         aux = n1 % n2;
     }
     return n2;
}
int main() {
    cout << func1 (27, 18);
}
Marque a opção correta que mostra o que é impresso na tela.
		
	
	9
	
	27
	
	18
	
	3
	
	6
	
	
	
	5a Questão (Ref.:201503400690)
	Acerto: 0,0  / 1,0 
	Dadas as afirmativas abaixo, identifique as corretas e marque a alternativa verdadeira.
I- Vetores e matrizes servem apenas para construir agregados de dados heterogêneos.
II- Registros em C++ são tipos de dados compostos formados por mais de um tipo  de dados.
III- Na Linguagem C++, "struct" é uma palavra reservada que serve para definir registros.
IV- Registros são tipos de dados heterogêneos.
		
	
	todas as afirmativas estão corretas.
	
	estão corretas apenas as afirmativas II, III e IV.
	
	estão corretas apenas as afirmativas I, II e IV.
	
	estão corretas apenas as afirmativas I, III e IV.
	
	estão corretas apenas as afirmativas I, II e III.
	
	
	
	6a Questão (Ref.:201503082557)
	Acerto: 0,0  / 1,0 
	o programa de computador necessita preencher uma lista de alunos (nome e nota) até que a lista esteja cheia. Sabe-se que a lista tem capacidade para 25 alunos. Utilizando agregados heterogêneos, qual o trecho de código que exibe a melhor forma de solucionar este problema?
		
	
	for (int i = 0; i < 25; i++) { cin >> lista[i]->nome; cin >> lista[i]->nota; }
	
	for (int i = 0; i < 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
	
	for (int i = 0; i < 25; i++) { cin >> lista->nome; cin >> lista->nota; }
	
	int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; } 
	
	for (int i = 0; i <= 25; i++) { cin >> lista[i].nome; cin >> lista[i].nota; }
	
	
	
	7a Questão (Ref.:201503313142)
	Acerto: 1,0  / 1,0 
	Considere a função misterio e o trecho abaixo.
void misterio(int v[ ], int n) {     //n é o número de elementos de v
   int i, j, m, aux;
   for (j = 0; j < n-1; j++) {
        m = j;
        for (i = j+1; i < n; i++) {
             if (v[i] < v[m])
                    m = i;
        }
        aux  = v[j];
        v[j] = v[m];
        v[m] = aux;
	
   }
}
Trecho na main :        
int v[4] = {40,30,10,20};
misterio(v, 4);
Marque a  opção correta.  Como ficará o vetor após a execução da função misterio ?
 
		
	
	10  30  40  20 
	
	10  30  20 40
	
	5  10  20  30 
	
	10  20  40  30  
	
	10  20  30  40  
	
	
	
	8a Questão (Ref.:201502357781)
	Acerto: 1,0  / 1,0 
	Marque a afirmativa correta para a "inserção incremental". 
		
	
	Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
	
	Os pivôs são escolhidos aleatoriamente. 
	
	É um tipo de ordenação por intercalação 
	
	A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. 
	
	É um tipo de sequenciação por intercalação. 
	
	
	Gabarito
Coment.
	
	
	
	
	9a Questão (Ref.:201502357972)
	Acerto: 1,0  / 1,0 
	Com relação as listas lineares sequenciais:
I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.
III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
		
	
	Apenas as afirmações II está corretas.
	
	Apenas a afirmação I está correta.
	
	Apenas as afirmações I e III estão corretas.
	
	Apenas as afirmações I e II estão corretas.
	
	Apenas as afirmações II e III estão corretas.
	
	
	Gabarito
Coment.
	
	
	
	
	10a Questão (Ref.:201503211514)
	Acerto: 1,0  / 1,0 
	Considere uma lista sequencial L com n fichas de professores, sendo que cada ficha de professor é modelada pela struct : 
struct professor { 
int matricula; 
char titulo[30]; 
}; 
e a lista L é assim declarada : professor L[n]; 
Assinale o trecho que corretamente exibe todas as matrículas e titulações de todos os n professores de L . 
		
	
	for (int i = 0; i < n; i++) 
cout << L[i] << endl; 
	
	for (int i = 0; i < n; i++) 
cout << L.matricula[i] << " " << L.titulo[i] << endl;
	
	for (int i = 0; i < n; i++) 
cout << L.matricula << " " << L.titulo << endl;
	
	for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].titulo << endl;
	
	for (int i = 0; i < n; i++) 
cout << L[i].matricula << " " << L[i].titulo[30] << endl;
		Disc.: ESTRUTURA DE DADOS   
	Aluno(a): GILBERTO DA SILVA BORGES
	Matrícula: 201502300001
	Acertos: 8,0 de 10,0
	Início: 28/04/2019 (Finaliz.)
	
	
	1a Questão (Ref.:201503029595)
	Acerto: 1,0  / 1,0 
	A que estrutura pertence a definição: " Uma estrutura não linear que é um conjunto de nós e suas conexões entre eles e não há limitação de vértices. Muito utilizada para representação de percursos em mapas." 
		
	
	filas encadeadas 
	
	grafos 
	
	listas encadeadas 
	
	structs
	
	pilhas encadeadas 
	
	
	
	2a Questão (Ref.:201503480354)
	Acerto: 1,0  / 1,0 
	Estão entre algumas das possíveis formas de estruturas de dados: 
		
	
	cout, Funções, vetores
	
	Grafos, funções, fila
	
	Listas, vetores, cin
	
	Árvores binárias, pilhas, vetores
	
	Árvores binárias, pilhas, algoritmos
	
	
	
	3a Questão (Ref.:201503494915)
	Acerto: 1,0  / 1,0 
	Caso uma estrutura homogênea (vetor) seja passada como parâmetro para uma função, então:
		
	
	Haverá um erro de compilação, pois vetores não podem ser parâmetros de funções
	
	Todos os valores contidos no vetor são copiados para a função
	
	Essa passagem é "por referência"
	
	Essa passagem é "por valor"
	
	Essa passagem pode ser "por valor" ou "por referência"
	
	
	
	4a Questão (Ref.:201505163991)
	Acerto: 0,0  / 1,0 
	Diga, para o trecho do programa abaixo, qual a opção que representa a saída em tela.  Considere que o programa será compilado sem erros e irá executar também sem problemas .
void troca (int x, int y){
   int tmp;
   tmp = y;
   y = x;
   x = tmp;
}
int main( ) {
   inta = 13, b = 10;
   troca( a, b );
   cout<<"Valores: "<< a<<"\t"<< b<<< endl;
   system("pause");
}
		
	
	Valores: 31 01
	
	Valores: 10 13
	
	Valores: 13 10
	
	Valores: 13 13
	
	Valores: 10 10
	
	
	
	5a Questão (Ref.:201503029713)
	Acerto: 0,0  / 1,0 
	Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
		
	
	Livro.liv.codigo = 12345;
	
	Livro.codigo = 12345;
	
	liv->preco = 30.70;
	
	Livro->liv.codigo = 12345;
	
	liv.preco = 30.70;
	
	
	
	6a Questão (Ref.:201502357783)
	Acerto: 1,0  / 1,0 
	Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada". 
		
	
	Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
	
	Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos. 
	
	É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. 
	
	Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. 
	
	Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando se o dado está no meio ou, antes do meio ou depois do meio. 
	
	
	
	7a Questão (Ref.:201503176353)
	Acerto: 1,0  / 1,0 
	"Algoritmo de ordenação por trocas  que varre um vetor um certo número de vezes, comparando os elementos vizinhos dois a dois. A cada varredura, se o par de elementos está em ordem crescente, nada é feito, caso contrário os elementos do par são permutados". Esta definição está descrevendo o algoritmo de ordenação conhecido por :
		
	
	QuickSort
	
	BubbleSort
	
	MergeSort
	
	SelectionSort
	
	InsertionSort
	
	
	
	8a Questão (Ref.:201502358036)
	Acerto: 1,0  / 1,0 
	O resultado do concurso para o cargo de uma empresa está armazenado em um vetor, que contém em cada um de seus elementos o nome e a nota obtida pelo candidato. Deseja-se que este vetor seja ordenado pela nota, em ordem decrescente. Sendo o vetor pequeno (poucos elementos), o programador responsável por desenvolver este algoritmo, escolheu um método de ordenação que executa os seguintes passos: 
Selecione candidato com maior nota entre todos e troque-o com o candidato que está na primeira posição do vetor;
Selecione o segundo maior e troque-o com o candidato que está na segunda posição;
Os passos descritos anteriormente são seguidos para a terceira nota, quarta nota e assim por diante até que reste apenas um candidato. 
O algoritmo utilizado pelo programador trata-se do método de ordenação denominado:
		
	
	Heapsort
	
	Quicksort 
	
	Inserção 
	
	Bolha 
	
	Seleção 
	
	
	Gabarito
Coment.
	
	
	
	
	9a Questão (Ref.:201502921205)
	Acerto: 1,0  / 1,0 
	Estude atentamente o código a segir: 
int deciframe(int v[ ], int tam, int e){ 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
m = ( i + f ) / 2; 
if ( v[m] == e ) { return m; } 
if ( e < v[m] ) { f = m - 1; } 
else { i = m + 1; } 
} 
return -1; 
} 
Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6 
		
	
	-1
	
	6
	
	4
	
	0
	
	3
	
	
	
	10a Questão (Ref.:201502560389)
	Acerto: 1,0  / 1,0 
	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 Encadeada 
	
	Pilha Encadeada 
	
	Pilha Sequencial 
	
	Lista Sequencial 
	
	Fila Sequencial 
		Disc.: ESTRUTURA DE DADOS   
	Aluno(a): GILBERTO DA SILVA BORGES
	Matrícula: 201502300001
	Acertos: 10,0 de 10,0
	Início: 29/04/2019 (Finaliz.)
	
	
	1a Questão (Ref.:201502946424)
	Acerto: 1,0  / 1,0 
	Qual estrutura de dados não linear que é utilizada na implementação de Redes de Computadores, na Computação Gráfica, em modelagem de circuitos digitais e etc. E que se caracteriza por apresentar um conjunto de nós e conexões entre eles. 
		
	
	Grafos 
	
	Filas Encadeadas 
	
	Pilhas Encadeadas 
	
	Vetores 
	
	Listas Encadeadas.
	
	
	
	2a Questão (Ref.:201503204996)
	Acerto: 1,0  / 1,0 
	Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema operacional?
		
	
	Pilha
	
	Lista
	
	Árvore
	
	Fila
	
	Grafo
	
	
	
	3a Questão (Ref.:201503514240)
	Acerto: 1,0  / 1,0 
	Considere o trecho de um programa escrito em C++ : 
int func1 (long num) {
    int n, na=1;
    while (num / 10 != 0){
          na += 1;
          num /= 10;
    }
    return na;
}
main() {
     cout << func1 (132041);
}
Marque a opção correta que mostra o que é impresso na tela.
		
	
	2
	
	1
	
	4
	
	6
	
	3
	
	
	
	4a Questão (Ref.:201503355881)
	Acerto: 1,0  / 1,0 
	Considere as seguintes afirmativas :
I) Os vetores em C++, quando passados como parâmetros de funções,  são obrigatoriamente passados "por valor" e não "por referência".
II) Variáveis globais são um recurso adequado para troca de informações entre funções distintas.
III) Caso uma função necessite retornar mais de um valor ao programa que a chamou, deve fazê-lo usando parâmetros passados "por valor".
As afirmativas corretas são:
		
	
	Apenas I e II
	
	Nenhuma está correta
	
	Apenas II
	
	Apenas III
	
	Apenas I
	
	
	
	5a Questão (Ref.:201503400690)
	Acerto: 1,0  / 1,0 
	Dadas as afirmativas abaixo, identifique as corretas e marque a alternativa verdadeira.
I- Vetores e matrizes servem apenas para construir agregados de dados heterogêneos.
II- Registros em C++ são tipos de dados compostos formados por mais de um tipo  de dados.
III- Na Linguagem C++, "struct" é uma palavra reservada que serve para definir registros.
IV- Registros são tipos de dados heterogêneos.
		
	
	estão corretas apenas as afirmativas I, II e IV.
	
	estão corretas apenas as afirmativas I, III e IV.
	
	todas as afirmativas estão corretas.
	
	estão corretas apenas as afirmativas II, III e IV.
	
	estão corretas apenas as afirmativas I, II e III.
	
	
	
	6a Questão (Ref.:201502562824)
	Acerto: 1,0  / 1,0 
	Com relação à struct, é correto afirmar que :
		
	
	Cada elemento da struct é chamado componente.
	
	Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo.
	
	A struct é sempre definida dentro da main.
	
	Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
	
	Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não.
	
	
	Gabarito
Coment.
	
	
	
	
	7a Questão (Ref.:201503496454)
	Acerto: 1,0  / 1,0 
	Considere a seguinte função busca escrita em linguagem C++ :
bool busca(int vetor[ ], int n, int tam)
{
    int ini=0, mid;
    while (ini <= tam)
    {
         cout << " x ";
         mid = (ini + tam)/2;
         if (vetor[mid] == n)
             return true;
         else if(n > vetor[mid])
             ini = mid+1;
         else
             tam = mid-1;
    }
    return false;
}
Qual a quantidade total de impressões da letra x nas buscas pelos números n = 4, n = 2 e n = 0 no vetor [1,2,3,4,5,6,7,8], sendo tam = 7 ?
int vetor[] = {1,2,3,4,5,6,7,8};
busca(vetor, 4, 7);
busca(vetor, 2, 7);
busca(vetor, 0, 7);
		
	
	6
	
	8
	
	4
	
	5
	
	9
	
	
	
	8a Questão (Ref.:201503199025)
	Acerto: 1,0  / 1,0 
	
Este vetor foi ordenado pelo método:
		
	
	Quicksort.  
	
	Ordenação por seleção (selection sort).  
	
	Ordenação por inserção (insertion sort). 
	
	Método da bolha (bubble sort).  
	
	Mergesort.  
	
	
	
	9a Questão (Ref.:201502921205)
	Acerto: 1,0  / 1,0 
	Estude atentamente o código a segir: 
int deciframe(int v[ ], int tam, int e){ 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
m = ( i + f ) / 2; 
if ( v[m] == e ) { return m; } 
if ( e < v[m] ) { f = m - 1; } 
else { i = m + 1; } 
} 
return -1; 
} 
Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6 
		
	
	3
	
	0
	
	-1
	
	4
	
	6
	
	
	
	10a Questão (Ref.:201503394777)
	Acerto: 1,0  / 1,0 
	Em relação às listas sequenciais, considere as seguintes afirmações:
I - são estruturas lineares que utilizam vetores para armazenamento dos dados;
II - os componentes da lista são os dados que se deseja armazenar e um valor inteiro com a quantidade de dados da lista;
III - os dados são sempre inseridos ou removidos no final da lista, tomando-se sempre o cuidado de atualizar a quantidade de dados da lista;
IV - listas podem apresentar dados repetidos ou não admitir repetição (listas com e sem repetição).
Assinale a opção que contém apenas todas as afirmativas corretas:
		
	
	I, II, III, IV
	
	II, III, IV
	
	I, II, IV
	
	I, II
	
	I, II, III

Outros materiais