Buscar

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

ESTRUTURA DE DADOS
	1a Questão (Ref.: 201409754050)
	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
	
	Fila Sequencial
	
	Pilha Encadeada
	 
	Lista Sequencial
	
	Pilha Sequencial
		
	
	
	 2a Questão (Ref.: 201409728795)
	Acerto:  / 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.
		
	
	Filas Encadeadas
	
	Vetores
	
	Pilhas Encadeadas
	
	Grafos
	
	Listas Encadeadas.
		
	
	
	 3a Questão (Ref.: 201409974879)
	Acerto: 1,0  / 1,0
	Considera a FUNÇÃO abaixo:
void inverte(int &x, int &y)
{ int aux = x;
x = y;
y = aux; }
Quais valores serão impressos na tela quando o seguinte programa principal for executado?
int main()
{ int a = 18, b = 28;
inverte(a, b);
cout << a <<" e "<< b;
return 0; }
		
	
	28 e 08
	
	08 e 18
	
	18 e 18
	
	18 e 28
	 
	28 e 18
		
se
	
	
	 4a Questão (Ref.: 201409140516)
	Acerto: 0,0  / 1,0
	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 n foi encontrado.
	 
	Retorna a posição de v se o valor vl foi encontrado.
	 
	Resulta em erro, se o valor de vl não estiver dentro de v.
	
	Retorna o valor de vl se o valor n foi encontrado.
	
	Retorna -1 se o valor de vl estiver dentro de v.
		 Gabarito Comentado.
	
	
	 5a Questão (Ref.: 201409710356)
	Acerto: 0,0  / 1,0
	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 media; }; Suponha ainda que exista um vetor desta estrutura, definido como: aluno vet [ 10]; Marque a alternativa em que é atribuída de forma correta a media 6.0 para o quarto elemento deste vetor.
		
	 
	vet[3].media=6.0;
	
	vet[3].aluno=6.0;
	
	aluno[10]=6.0;
	
	aluno[3].10=6.0;
	 
	aluno[3].media=6.0;
		
	
	
	 6a Questão (Ref.: 201409345195)
	Acerto: 1,0  / 1,0
	Com relação à struct,  é correto afirmar que :
		
	
	A struct é sempre definida dentro da main.
	
	Cada elemento da struct  é chamado componente.
	 
	Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não.
	
	Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo.
	
	Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
		 Gabarito Comentado.
	
	
	 7a Questão (Ref.: 201409728786)
	Acerto: 0,0  / 1,0
	Sabendo-se que o método de seleção também é um método de ordenação que baseia seu algoritmo em trocas entre os elementos de um vetor, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente na seguinte ordem : 13, 23, 3, 8, 1. Pode-se dizer que quando o menor elemento do vetor alcançar sua posição final, a ordenação apresentada no vetor é:
		
	 
	1,23,13,8,3
	
	1,13,23,8,3
	
	1,8,3,23,13
	 
	1,23,3,8,13
	
	1,3,23,8,13
		 Gabarito Comentado.
	
	
	 8a Questão (Ref.: 201409140401)
	Acerto: 1,0  / 1,0
	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.
		
	
	Quicksort
	 
	Inserção
	
	Heapsort
	
	Seleção
	
	Bolha
		 Gabarito Comentado.
	
	
	 9a Questão (Ref.: 201409140486)
	Acerto: 0,0  / 1,0
	As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma dimensão é:
		
	
	Matriz
	 
	Registro
	 
	Vetor
	
	Variável
	
	Função
		 Gabarito Comentado.
	
	
	 10a Questão (Ref.: 201409704210)
	Acerto: 1,0  / 1,0
	__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer.
		
	 
	Lista Linear Sequencial
	
	Lista Linear Não Sequencial
	
	Lista Não Linear
	
	Lista Linear de Alocação de Memória
	
	Lista Linear Não Alocada
	1a Questão (Ref.: 201409678568)
	Acerto: 1,0  / 1,0
	Leia com atenção as afirmativas abaixo e assinale a resposta correta.
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. 
II A estrutura de dados FILA é não linear assim como o Grafo. 
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, 
IV O grau de uma árvore é definido pelo número de subárvores de um nó. 
V O grafo é uma estrutura de dados que tem limitação para o número de vértices. 
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. 
		
	
	I, II, III e VI são afirmativas verdadeiras
	
	II, IV, V e VI são afirmativas verdadeiras
	 
	I, III, IV e VI são afirmativas verdadeiras
	
	II, IV e V são afirmativas verdadeiras
	
	I, II e V são afirmativas verdadeiras
		 Gabarito Comentado.
	
	
	 2a Questão (Ref.: 201409731401)
	Acerto: 1,0  / 1,0
	           Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma.
		
	
	Grafo
	
	          Pilha
	 
	Lista
	
	Árvore
	
	         Fila
		
	
	
	 3a Questão (Ref.: 201409140519)
	Acerto: 0,0  / 1,0
	Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de:
		
	 
	Ponteiros.
	
	Passagem por valor.
	 
	Registro.
	
	Envio de inteiro.
	
	Envio de valor.
		 Gabarito Comentado.4a Questão (Ref.: 201409380300)
	Acerto: 0,0  / 1,0
	 
		
	 
	O programa não executa corretamente, pois o protótipo da função media( ) não apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos.
	
	O programa não executa corretamente, pois os protótipos estão fora da ordem em que as funções são descritas.
	 
	O programa executa perfeitamente independente da ordem das funções já que existem os seus protótipos.
	
	O programa não executa corretamente pois as funções devem ser descritas antes da função main(), para que o compilador consiga reconhecê-las.
	
	O programa executa perfeitamente, mas não mostra o valor da media já que esta função não foi chamada na função main( ).
		 Gabarito Comentado.
	
	
	 5a Questão (Ref.: 201409139980)
	Acerto: 1,0  / 1,0
	Qual das seguintes estruturas de dados é classificada como heterogênea?
		
	 
	Registro
	
	Fila
	
	Pilha
	
	Vetor
	
	Loop
		 Gabarito Comentado.
	
	
	 6a Questão (Ref.: 201409779834)
	Acerto: 0,0  / 1,0
	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 primeiro elemento deste vetor.
		
	
	aluno.vet[10].nota=5.7;
	 
	vet[10].nota=5.7;
	
	vet[10].aluno.nota=5.7 ;
	 
	aluno.vet[10]=5.7;
	
	vet[10]=aluno.5.7;
		
	
	
	 7a Questão (Ref.: 201409140515)
	Acerto: 0,0  / 1,0
	Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento do meio do vetor, é chamado de:
		
	
	Tabela Hash
	 
	Pesquisa binária
	
	Pesquisa ordenada
	
	Pesquisa de seleção
	 
	Pesquisa sequêncial
		 Gabarito Comentado.
	
	
	 8a Questão (Ref.: 201409140305)
	Acerto: 1,0  / 1,0
	É correto afirmar sobre o funcionamento da busca sequencial.
		
	
	Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do meu vetor.
	
	Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu vetor.
	
	Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do meu vetor.
	
	Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
	 
	Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu vetor.
		 Gabarito Comentado.
	
	
	 9a Questão (Ref.: 201409704210)
	Acerto: 1,0  / 1,0
	__________________________ é uma lista linear em que a alocação de memória pode ser estática, e que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando se tem em mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer.
		
	
	Lista Não Linear
	 
	Lista Linear Sequencial
	
	Lista Linear de Alocação de Memória
	
	Lista Linear Não Sequencial
	
	Lista Linear Não Alocada
		
	
	
	 10a Questão (Ref.: 201409140343)
	Acerto: 0,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 e III estão corretas.
	
	Apenas a afirmação I está correta.
	 
	Apenas as afirmações I e III estão corretas.
	
	Apenas as afirmações II está corretas.
	 
	Apenas as afirmações I e II estão corretas.
	 1a Questão (Ref.: 201409379512)
	Acerto: 1,0  / 1,0
	Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?
		
	
	lista
	
	pilha
	
	grafo
	
	fila
	 
	árvore
		 Gabarito Comentado.
	
	
	 2a Questão (Ref.: 201409140125)
	Acerto: 0,0  / 1,0
	Podemos dizer que estrutura de dados é:
		
	
	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.
	
	O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
	
	É a saída, que satisfaz a quaisquer restrições impostas pelo problema, necessária para se calcular uma solução do problema.
		 Gabarito Comentado.
	
	
	 3a Questão (Ref.: 201409728793)
	Acerto: 0,0  / 1,0
	Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal elemento:
		
	 
	As funções
	 
	Os Vetores
	
	As Estruturas de Dados
	
	As Filas
	
	Os Grafos
		
	
	
	 4a Questão (Ref.: 201409722206)
	Acerto: 0,0  / 1,0
	Considere a função:
void dobro(int x) {
      x = 10 * x;
}
Qual será o valor impresso na tela quando o programa principal for executado?
int main() {
int n;
n = 5;
dobro(n);
cout << n;
return 0;
} 
 
		
	
	50
	 
	5
	
	0
	 
	10
	
	Haverá um erro de compilação
		 Gabarito Comentado.
	
	
	 5a Questão (Ref.: 201409754045)
	Acerto: 1,0  / 1,0
	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 primeiro elemento deste vetor.
		
	
	vet[10].aluno.nota=5.7 ;
	
	vet[10]=aluno.5.7;
	
	aluno.vet[10].nota=5.7;
	
	aluno.vet[10]=5.7;
	 
	vet[10].nota=5.7;
		
	
	
	 6a Questão (Ref.: 201409812084)
	Acerto: 0,0  / 1,0
	Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
		
	
	Livro->liv.codigo = 12345;
	
	Livro.liv.codigo = 12345;
	
	Livro.codigo = 12345;
	 
	liv->preco = 30.70;
	 
	liv.preco = 30.70;
		
	
	
	 7a Questão (Ref.: 201409728785)
	Acerto: 0,0  / 1,0
	Qual papel do for mais interno na função ordena abaixo ?
void ordena( int n, int v[])
{
   int i, j, x;
   for (j = 1; j < n; ++j) {
      x = v[j];
      for (i = j-1; i >= 0 && v[i] > x; --i) 
         v[i+1] = v[i];
      v[i+1] = x;
   }
}
		
	 
	Encontrar o ponto onde v[j] deve ser inserido em v[0..j-1].Encontrar o valor de v[j] deve em v[0..j-1].
	
	Encontrar o maior valor de x que deve ser inserido em v[0..j-1].
	
	Encontrar o menor valor v[j] que deve ser inserido em v[0..j-1].
	
	Encontrar o elmento a ser eliminado do vetor
		 Gabarito Comentado.
	
	
	 8a Questão (Ref.: 201409140147)
	Acerto: 0,0  / 1,0
	Qual a importância de se entender a "ordenação" de dados ?
		
	 
	A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
	 
	A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.
	
	A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.
	
	A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
	
	A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas.
		 Gabarito Comentado.
	
	
	 9a Questão (Ref.: 201409345244)
	Acerto: 0,0  / 1,0
	
		
	
	for (int i = 0; i < n; i++)
   cout << L[i] << endl;
	 
	for (int i = 0; i < n; i++)
   cout << L[i].matricula << "  "  << L[i].nome << endl;
	
	for (int i = 0; i < n; i++)
   cout << L.matricula << "  "  << L.nome << endl;
	
	for (int i = 0; i < n; i++)
   cout << L[i].matricula << "  "  << L[i].nome[30] << endl;
	 
	for (int i = 0; i < n; i++)
   cout << L.matricula[i] << "  "  << L.nome[i] << endl;
		 Gabarito Comentado.
	
	
	 10a Questão (Ref.: 201409788029)
	Acerto: 0,0  / 1,0
	Considere uma lista com n  livros, em que cada livro é modelado pela struct :
 
struct Livro {
                            string titulo,  editora, autor;
                            float preco;
};
 
A função X abaixo
 
void X (Livro v[ ], int &n, Livro L)
{
     v[n] = L;
     n++;
    cout << "Operação realizada com sucesso.";
}
 
implementa a operação de :
		
	
	Busca
	 
	Inserção
	
	Substituição
	 
	Ordenação por inserção
	
	Inicialização
		1.
		           Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma.
		
	
	
	
	
	         Fila
	
	
	          Pilha
	
	
	Árvore
	
	 
	Lista
	
	
	Grafo
	
	
	
		2.
		Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
		
	
	
	
	
	É um modo de deleção de dados em um computador.
	
	
	São os nomes dados as variáveis na montagem de uma rotina.
	
	 
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
	
	
	É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
	
	
	É um modo de utilização de dados nos programas de computador.
	 Gabarito Comentado
	
	
		3.
		Sobre estrutura de dados, identifique o que está correto afirmar.
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in first out).
		
	
	
	
	
	I, III e V.
	
	
	II, IV e V.
	
	 
	I, II e III.
	
	
	I, III, IV e V.
	
	
	II, III, IV e V.
	 Gabarito Comentado
	
	
		4.
		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:
		
	
	
	
	 
	As alternativas I e II estão corretas
	
	
	As alternativas III e IV estão corretas.
	
	
	As alternativas I e III estão corretas.
	
	
	As alternativas II e IV estão corretas.
	
	
	Todas as alternativas estão corretas.
	 Gabarito Comentado
	
	
		5.
		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.
		
	
	
	
	
	Vetores
	
	
	Listas Encadeadas.
	
	
	Filas Encadeadas
	
	 
	Grafos
	
	
	Pilhas Encadeadas
	
	
	
		6.
		Podemos dizer que estrutura de dados é:
		
	
	
	
	
	A entrada, 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 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.
	
	
	Uma sequência de passos computacionais que transforma uma entrada em uma saída previamente determinada.
	 Gabarito Comentado
	
	
		7.
		Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados.
 
 
A correta associação entre os elementos das duas tabelas é:
 
 
 
 
 
 
 
 
 
 
		
	
	
	
	
	a2, b2, c1, d2.
	
	
	a1, b1, c2, d2.
	
	
	a2, b1, c2, d1.
	
	
	a1, b2, c1, d1.
	
	 
	a1, b1, c2, d1
	 Gabarito Comentado
	
	
		8.
		A forma correta para imprimir o valor do último elemento de um vetor v com n posições é:
		
	
	
	
	
	cout << v[n];
	
	 
	cout << v[n-1];
	
	
	cout << v[ultimo];
	
	
	cin >> v[-1];
	
	
	cout << v[n+1];
	 1a Questão (Ref.: 201409754050)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a otimizaçãodo 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
	
	Fila Sequencial
	 
	Lista Sequencial
	
	Pilha Sequencial
	
	Pilha Encadeada
	
	
	
	
	 2a Questão (Ref.: 201409811966)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	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
	
	structs
	
	pilhas encadeadas
	
	listas encadeadas
	 
	grafos
	
	
	
	
	 3a Questão (Ref.: 201409140132)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Estão entre algumas das possíveis formas de se estruturar dados:
		
	 
	Grafos, lista ordenada, vetores.
	
	Algoritmos, lista ordenada, vetores.
	
	Grafos, lista ordenada, algoritmos.
	
	Grafos, algoritmos, fila.
	
	Lista encadeada, vetores, algoritmos.
	
	 Gabarito Comentado
	
	
	 4a Questão (Ref.: 201409731393)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	          Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade a cidade.  Qual a estrutura de dados mais adequada para modelar este problema ?
		
	
	              Árvore
	
	Fila
	
	             Pilha
	
	 Lista
	 
	Grafo
	
	
	
	
	 5a Questão (Ref.: 201409140502)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado.
		
	
	Também são denominados tipos primitivos, não é possível decompor em partes menores.
	
	São tipos de dados indivisíveis.
	
	Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa.
	
	Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
	 
	Permitem agregar mais do que um valor em uma variável, existindo uma relação estrutural entre seus elementos.
	
	 Gabarito Comentado
	
	
	 6a Questão (Ref.: 201409678568)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Leia com atenção as afirmativas abaixo e assinale a resposta correta.
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. 
II A estrutura de dados FILA é não linear assim como o Grafo. 
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, 
IV O grau de uma árvore é definido pelo número de subárvores de um nó. 
V O grafo é uma estrutura de dados que tem limitação para o número de vértices. 
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica. 
		
	
	II, IV, V e VI são afirmativas verdadeiras
	
	I, II, III e VI são afirmativas verdadeiras
	 
	I, III, IV e VI são afirmativas verdadeiras
	
	II, IV e V são afirmativas verdadeiras
	
	I, II e V são afirmativas verdadeiras
	
	 Gabarito Comentado
	
	
	 7a Questão (Ref.: 201409379512)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Na maioria dos sistemas operacionais, os arquivos são organizados hierarquicamente em um esquema de diretórios (pastas) e sub-diretórios. Qual a estrutura mais adequada para representar este problema ?
		
	
	fila
	 
	árvore
	
	pilha
	
	grafo
	
	lista
	
	 Gabarito Comentado
	
	
	 8a Questão (Ref.: 201409817457)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
		
	
	Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
	 
	Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
	
	Após a impressão dos valores pela ordem teremos duas filas.
	
	Após a impressão dos valores pela ordem teremos duas pilhas.
	
	Após a impressão dos valores pela ordem teremos uma fila e um grafo.
		1.
		Uma função possui um valor de retorno inteiro, recebe por valor um inteiro como primeiro parâmetro e por referência um inteiro como segundo parâmetro. Qual das respostas abaixo poderia representar o protótipo dessa função:
		
	
	
	
	
	int func (int &a, int b);
	
	
	int func (&int, int);
	
	
	void func (int &a, int &b);
	
	 
	int func (int a, int &b);
	
	
	void func (int a, int &b);
	 Gabarito Comentado
	
	
		2.
		Informe qual deverá ser a saída do programa abaixo:
#include 
void func(int *x)
{
 do{
 cout << *x << " ";
 (*x)--;
 }while(*x>0);
}
main()
{
 int x=5;
 func(&x);
 cout << x;
 system("pause");
}
		
	
	
	
	 
	5 4 3 2 1 0
	
	
	5 3 4 2 1 0
	
	
	5 4 3 2 1 5
	
	
	5 3 4 2 1 4
	
	
	5 4 3 2 1 6
	
	
	
		3.
		Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a função chamada e, dessa forma, o valor poderá ser alterado, ou não.
		
	
	
	
	 
	referência
	
	
	número
	
	
	caracter
	
	
	valor
	
	
	void
	
	
	
		4.
		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 o valor de vl se o valor n foi encontrado.
	
	
	Retorna -1 se o valor de vl estiver dentro de v.
	
	
	Resulta em erro, se o valor de vl não estiver dentro de v.
	
	
	Retorna -1 se o valor de n foi encontrado.
	
	 
	Retorna a posição de v se o valor vl foi encontrado.
	 Gabarito Comentado
	
	
		5.
		As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração desta forma estamos declarando uma variável do tipo:
		
	
	
	
	
	Constante
	
	
	Real
	
	
	Local
	
	
	Inteiro
	
	 
	Global
	 Gabarito Comentado
	
	
		6.
		Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de:Envio de valor.
	
	
	Registro.
	
	
	Passagem por valor.
	
	
	Envio de inteiro.
	
	 
	Ponteiros.
	 Gabarito Comentado
	
	
		7.
		 
		
	
	
	
	
	Auxiliar = 100  Numero1 = 900  Numero2 = 20
	
	
	Auxiliar = 111  Numero1 = 1000  Numero2 = 80
	
	 
	Auxiliar = 100  Numero1 = 900  Numero2 = 80
	
	
	Auxiliar = 100  Numero1 = 1000  Numero2 = 20
	
	
	Auxiliar = 101  Numero1 = 900  Numero2 = 20
	 Gabarito Comentado
	
	
		8.
		Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal elemento:
		
	
	
	
	
	As Filas
	
	
	Os Vetores
	
	
	As Estruturas de Dados
	
	 
	As funções
	
	
	Os Grafos
	 1a Questão (Ref.: 201409380300)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	 
		
	
	O programa não executa corretamente, pois o protótipo da função media( ) não apresenta a identificação dos parâmetros, mas apenas os tipos dos mesmos.
	
	O programa não executa corretamente, pois os protótipos estão fora da ordem em que as funções são descritas.
	 
	O programa executa perfeitamente independente da ordem das funções já que existem os seus protótipos.
	
	O programa executa perfeitamente, mas não mostra o valor da media já que esta função não foi chamada na função main( ).
	
	O programa não executa corretamente pois as funções devem ser descritas antes da função main(), para que o compilador consiga reconhecê-las.
	
	 Gabarito Comentado
	
	
	 2a Questão (Ref.: 201409728793)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Blocos únicos de códigos que realizam diversas tarefas distitintas são de dificil manutenção. Portanto, utiliza-se a tecnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. Esta técnica, também chamada de modularização, tem como principal elemento:
		
	
	As Estruturas de Dados
	
	Os Grafos
	 
	As funções
	
	Os Vetores
	
	As Filas
	
	
	
	
	 3a Questão (Ref.: 201409722206)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Considere a função:
void dobro(int x) {
      x = 10 * x;
}
Qual será o valor impresso na tela quando o programa principal for executado?
int main() {
int n;
n = 5;
dobro(n);
cout << n;
return 0;
} 
 
		
	
	0
	
	Haverá um erro de compilação
	 
	5
	
	10
	
	50
	
	 Gabarito Comentado
	
	
	 4a Questão (Ref.: 201409140516)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	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 o valor de vl se o valor n foi encontrado.
	 
	Retorna a posição de v se o valor vl foi encontrado.
	
	Retorna -1 se o valor de vl estiver dentro de v.
	
	Resulta em erro, se o valor de vl não estiver dentro de v.
	
	Retorna -1 se o valor de n foi encontrado.
	
	 Gabarito Comentado
	
	
	 5a Questão (Ref.: 201409704310)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	Na passagem por ____________________ , o endereço da variável da função chamadora é passado para a função chamada e, dessa forma, o valor poderá ser alterado, ou não.
		
	
	caracter
	
	número
	
	void
	
	valor
	 
	referência
	
	
	
	
	 6a Questão (Ref.: 201409140519)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de:
		
	
	Envio de inteiro.
	 
	Ponteiros.
	
	Envio de valor.
	
	Registro.
	
	Passagem por valor.
	
	 Gabarito Comentado
	
	
	 7a Questão (Ref.: 201409140485)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	As variáveis em programação são utilizadas para armazenar um valor de determinado tipo em um espaço reservado na memória. Em algumas linguagens de programação podemos declarar, ou seja, reservar um espaço na memória, fora do escopo da função principal, e fora do escopo de qualquer outra função. Ao fazer a declaração desta forma estamos declarando uma variável do tipo:
		
	
	Local
	
	Constante
	
	Inteiro
	 
	Global
	
	Real
	
	 Gabarito Comentado
	
	
	 8a Questão (Ref.: 201409345165)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	 
		
	
	Auxiliar = 100  Numero1 = 900  Numero2 = 20
	
	Auxiliar = 111  Numero1 = 1000  Numero2 = 80
	
	Auxiliar = 101  Numero1 = 900  Numero2 = 20
	 
	Auxiliar = 100  Numero1 = 900  Numero2 = 80
	
	Auxiliar = 100  Numero1 = 1000  Numero2 = 20
	 1a Questão (Ref.: 201409754022)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	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 de 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:
		
	 
	As alternativas I e II estão corretas
	
	As alternativas III e IV estão corretas.
	 
	As alternativas I e III estão corretas.
	
	Todas as alternativas estão corretas.
	
	As alternativas II e IV estão corretas.
	
	
	
	
	 2a Questão (Ref.: 201409140503)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	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.
	
	Acesso, representação, compartilhamento de memória.
	
	Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
	
	Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
	
	Proteção de memória, transferência de dados, estruturas simples.
	
	 Gabarito Comentado
	
	
	 3a Questão (Ref.: 201409140125)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	Podemos dizer que estrutura de dados é:
		
	 
	Uma sequência de passos computacionais que transformauma 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 que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo.
	 
	O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
	
	 Gabarito Comentado
	
	
	 4a Questão (Ref.: 201409132040)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados.
 
 
A correta associação entre os elementos das duas tabelas é:
 
 
 
 
 
 
 
 
 
 
		
	
	a1, b1, c2, d2.
	
	a1, b2, c1, d1.
	
	a2, b2, c1, d2.
	 
	a1, b1, c2, d1
	
	a2, b1, c2, d1.
	
	 Gabarito Comentado
	
	
	 5a Questão (Ref.: 201409718090)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	A forma correta para imprimir o valor do último elemento de um vetor v com n posições é:
		
	 
	cout << v[n-1];
	
	cout << v[n];
	
	cout << v[ultimo];
	
	cin >> v[-1];
	
	cout << v[n+1];
	
	
	
	
	 6a Questão (Ref.: 201409132032)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
		
	
	É um modo de utilização de dados nos programas de computador.
	 
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
	
	É um modo de deleção de dados em um computador.
	
	É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
	
	São os nomes dados as variáveis na montagem de uma rotina.
	
	 Gabarito Comentado
	
	
	 7a Questão (Ref.: 201409731401)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	           Preciso cadastrar todos os interessados em meu novo curso de programação. Qual a estrutura de dados mais adequada para modelar este problema, visto que não há qualquer preocupação com ordem de chegada ou saída de aluno da turma.
		
	 
	Lista
	
	Grafo
	
	          Pilha
	
	Árvore
	
	         Fila
	
	
	
	
	 8a Questão (Ref.: 201409207616)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Sobre estrutura de dados, identifique o que está correto afirmar.
I. Pilha é uma estrutura de dados com acesso restrito aos seus elementos, uma vez que eles são colocados e retirados por um único lado e são ordenados pelo princípio LIFO (last in first out). Assim, sempre que um elemento é adicionado ou retirado seu topo é alterado. 
II. Pilha é o tipo de estrutura usada, por exemplo, na avaliação de expressões numéricas, na recursividade e pelos compiladores, na passagem de parâmetros para as funções. 
III. Registro é uma estrutura básica que permite guardar coleções de dados de diferentes tipos, sendo normalmente utilizado quando um objeto tem diferentes atributos, isto é, contém campos de diferentes tipos. 
IV. Lista pode conter um número qualquer de elementos, expandindo-se ou contraindo-se conforme o elementos são inseridos ou retirados. Nesse tipo de estrutura, os acessos tanto podem ser feitos sequencialmente como diretamente. 
V. Fila, assim como a pilha , é uma versão especial de lista, e como tal, seus elementos são ordenados pelo princípio LIFO (last in first out).
		
	
	I, III e V.
	 
	I, II e III.
	
	II, III, IV e V.
	
	II, IV e V.
	
	I, III, IV e V.
	1a Questão (Ref.: 201409342743)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	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 III estão corretas.
	 
	As alternativas I e II estão corretas
	
	As alternativas II e IV estão corretas.
	
	As alternativas III e IV estão corretas.
	
	 Gabarito Comentado
	
	
	 2a Questão (Ref.: 201409728795)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	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.
		
	
	Pilhas Encadeadas
	
	Filas Encadeadas
	
	Listas Encadeadas.
	 
	Grafos
	
	Vetores
	
	
	
	
	 3a Questão (Ref.: 201409731393)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	          Os irmãos Silva irão viajar por vários países da Europa e por isso, traçaram no mapa o percurso que farão, de cidade a cidade.  Qual a estrutura de dados mais adequada para modelar este problema ?
		
	
	              Árvore
	
	 Lista
	
	             Pilha
	 
	Grafo
	
	Fila
	
	
	
	
	 4a Questão (Ref.: 201409817457)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	Observe o trecho do programa em C++ abaixo e, após, entrar com os valores sugeridos para sua execução assinale a alternativa que representa a resposta final.
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cout << a;
cout << b;
cout << c;
cout << d;
cout << d;
cout << c;
cout << b;
cout << a;
		
	 
	Após a impressão dos valores pela ordem teremos uma fila e uma pilha.
	
	Após a impressão dos valores pela ordem teremos duas filas.
	
	Após a impressão dos valores pela ordem teremos duas pilhas.
	
	Após a impressão dos valores pela ordem teremos uma fila e um grafo.
	 
	Após a impressão dos valores pela ordem teremos uma pilha e uma fila.
	
	
	
	
	 5a Questão (Ref.: 201409140132)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	Estão entre algumas das possíveis formas de se estruturar dados:
		
	
	Grafos, lista ordenada, algoritmos.
	 
	Grafos, lista ordenada, vetores.
	
	Algoritmos, lista ordenada, vetores.
	
	Lista encadeada, vetores, algoritmos.
	
	Grafos, algoritmos, fila.
	
	 Gabarito Comentado
	
	
	 6a Questão (Ref.: 201409140502)
	 Fórum de Dúvidas (1 de 1)       Saiba  (1 de 1)
	
	As estruturas de dados são importantes para a programação porque facilitam a pesquisa, pois permitem a ordenação dos dados de forma crescente ou decrescente. Dessa forma, assinale a alternativa correta que define um tipo de dado estruturado.
		
	
	Consiste da definição do conjunto de valores (denominado domínio) que uma variável pode assumir ao longo da execução de um programa.
	
	São tipos de dados indivisíveis.
	
	Podem armazenar apenas um valor de cada vez, se algum valor for atribuído o anterior é apagado.
	 
	Permitem agregar mais do que um valor em uma variável, existindo uma relação estruturalentre seus elementos.
	
	Também são denominados tipos primitivos, não é possível decompor em partes menores.
	
	
	
	
	 7a Questão (Ref.: 201409754050)
	 Fórum de Dúvidas (1)       Saiba  (1)
	
	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.
		
	
	Pilha Encadeada
	 
	Lista Sequencial
	
	Fila Sequencial
	 
	Pilha Sequencial
	
	Lista Encadeada
	
	
	
	
	8a Questão (Ref.: 201409678568)
	
	
	Leia com atenção as afirmativas abaixo e assinale a resposta correta.
I A estrutura de dados que melhor representa os diretórios ou pastas de arquivos do computador é a árvore. 
II A estrutura de dados FILA é não linear assim como o Grafo. 
III O termo folha em uma estrutura de dados é usado para um nó sem filhos e que tem grau 0, 
IV O grau de uma árvore é definido pelo número de subárvores de um nó. 
V O grafo é uma estrutura de dados que tem limitação para o número de vértices. 
VI Uma das aplicações da estrutura de dados grafo é a Computação Gráfica.
		
	
	I, II, III e VI são afirmativas verdadeiras
	
	II, IV e V são afirmativas verdadeiras
	
	I, II e V são afirmativas verdadeiras
	
	I, III, IV e VI são afirmativas verdadeiras
	
	II, IV, V e VI são afirmativas verdadeiras
		5.
	
		Analise as afirmativas abaixo e selecione a alternativa correta.
I Algumas aplicações da estrutura de dados grafo são: Diagrama de Entidade Relacionamento e Redes de computadores.
II Árvore e lista duplamente encadeada são estruturas não lineares.
III A Fila é uma estrutura não linear e a inserção de um elemento acontece ao final.
IV A Lista é uma das estruturas de dados mais simples, mas não se pode ordená-la.
V O uso de ponteiros é fundamental para construção de listas encadeadas.
		
	
	
	
	
	II E IV são verdadeiras
	
	
	I , II e IV são verdadeiras
	
	 
	I e V são verdadeiras
	
	 
	II e V são verdadeiras
	
	
	III e V são verdadeiras
	
	
		5.
		Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
		
	
	
	
	
	São os nomes dados as variáveis na montagem de uma rotina.
	
	
	É um modo de deleção de dados em um computador.
	
	 
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
	
	
	É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
	
	
	É um modo de utilização de dados nos programas de computador.
	
	
	
		8.
		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."
		
	
	
	
	 
	grafos
	
	
	listas encadeadas
	
	
	filas encadeadas
	
	
	pilhas encadeadas
	
	
	structs
		1.
		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.
		
	
	
	
	
	Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
	
	
	Acesso, representação, compartilhamento de memória.
	
	 
	Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
	
	
	Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
	
	
	Proteção de memória, transferência de dados, estruturas simples.
		7.
		Diferentes tipos de estrutura de dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas específicas. Dessa forma a definição de Estrutura de Dados está expressa na alternativa:
		
	
	
	
	
	São os nomes dados as variáveis na montagem de uma rotina.
	
	
	É um modo de deleção de dados em um computador.
	
	 
	É um modo de distribuição e organização de dados em uma rede de computador de modo que possam ser usados de modo eficiente.
	
	 
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados de modo eficiente.
	
	
	É um modo de utilização de dados nos programas de computador.
	
	
		2.
		Funções são instrumentos de modularização de programas, que tem como finalidade tornar o código mais legível, isto é mais fácil de entender, evita replicação de instruções e permite o reuso das funções em outros programas. Então considere o seguinte código:
#include< iostream >
using namespace std;
 
int main( )
{
   float a=10.0;
   float b=4.0;
   cout < < media(a,b);
   return 0;
}
float media(float x, float y) { return (x+y)/2;}
 
Marque a alternativa CORRETA:
		
	
	
	
	 
	O código não compila, pois há necessidade de se declarar float media(float, float) como protótipo da função float media(float x, float y)antes da função principal.
	
	
	O código compila normalmente e apresenta como resultado o valor 7.0
	
	
	O código não compila, pois os parâmetros usados na chamada da função deveriam ser "x" e "y"; porém a chamada se deu com identificadores "a" e "b".
	
	
	O código não compila, pois a função float media(float x, float y) retorna um valor que seria ser armazenado em uma variável do tipo float e só então poderia ser usado o comando cout para exibir o resultado.
	
	
	O código compila normalmente, pois como a descrição da função float media(float x, float y)está posicionada após a função int main ( ), não há necessidade do uso de protótipos.
		Assinale a opção certa.
 Quando não se escreve o protótipo de uma função ...
		
	
	
	
	
	A definição da função deverá ser escrita, obrigatoriamente, após o programa principal.
	
	 
	É preciso definir a função antes do programa principal.
	
	 
	O programa não funcionará de forma alguma.
	
	
	A chamada da função não poderá ser feita em qualquer hipótese.
	
	
	A chamada da função poderá ser feita em qualquer hipótese.
	
	A declaração de variáveis na programação é o ato de reservar um espaço na memória para poder armazenar valores de um determinado tipo. Essas variáveis podem ser classificadas como variáveis locais e globais. Sendo assim, qual das situações abaixo representa melhor o conceito das variáveis globais.
		
	
	
	
	
	Se modificarmos o valor da variável 'Y' na função "soma", e depois imprimirmos na tela esta variável em outra função, onde tambem está declarada a variável 'Y', será acusado um erro de compilação.
	
	 
	Em duas funções diferentes temos duas variáveis também diferentes com o mesmo nome apresentando o mesmo valor.
	
	 
	Ao modificar o valor da variável 'X' na função "modifica" seu valor modificado poderá ser apresentado em qualquer outra funçãodo programa.
	
	
	Em uma função "resul" tem-se uma variável ali declarada por 'T' que recebe o valor inteiro 5. Ao tentar chamar esta variável em outra função é mencionado um warning.
	
	
	Se dentro de uma função "mostra" declararmos uma variável 'R' com um determinado valor poderemos imprimir esta variável em qualquer outra função do programa mostrando o valor atribuído na função "mostra"
		3.
		Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:
		
	
	
	
	 
	Por memória e por disco.
	
	
	Por inferência e por valor.
	
	
	Por teste e por reforço.
	
	 
	Por valor e por referência
	
	
	Por reforço e por referência.
		4.
		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 seta tipo do campo
	
	
	Nome da estrutura seta nome do campo
	
	 
	Nome da estrutura vírgula tipo do campo
	
	
	Nome da estrutura ponto tipo do campo
	
	 
	Nome da estrutura ponto nome do campo
		Qual das seguintes estruturas de dados é classificada como heterogênea?
	
	
	
	
	 
	Registro
	
	
	Loop
	
	
	Fila
	
	
	Pilha
	
	 
	Vetor
	
	
		1.
		Marque a afirmativa correta para a "inserção incremental".
		
	
	
	
	
	É um tipo de sequenciação por intercalação.
	
	 
	Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
	
	
	É um tipo de ordenação por intercalação
	
	
	A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
	
	
	Os pivôs são escolhidos aleatoriamente.
	
	
		2.
		Entre os diversos algoritmos de pesquisa existentes, certamente os mais famosos são os da pesquisa sequencial e o da pesquisa binária. A busca ou pesquisa sequencial pode ser aplicada em vetores independente destes estarem ordenados, entretanto a busca binária só se aplica em vetores ordenados.
Seja o vetor A= {10,35,41,55,69,70,98}, suponha que o número 70 foi pesquisado pelo algoritmo da busca sequencial e também pelo algoritmo da busca binária, ambos algoritmos realizam testes nos elementos do vetor até achar o que procuram ou definirem que o elemento não se encontra no vetor. Sendo assim marque a alternativa que expressa o número de testes realizados pela busca sequencial e o número de testes realizados pela busca binária, respectivamente, até encontrarem o 70.
		
	
	
	
	
	6 e 1
	
	 
	6 e 2
	
	
	5 e 5
	
	 
	7 e 1
	
	
	6 e 4
	
	
		4.
		O processo de rearranjar um conjunto de dados em uma ordem crescente ou decrescente é chamado de ordenação. Existem várias técnicas de ordenação, entretanto a técnica que procura o menor valor entre todos os elementos do vetor e troca-o pelo primeiro elemento; para os n - 1 elementos restantes, determinação do elemento de menor valor e troca pelo segundo elemento e assim sucessivamente, é chamado de:
		
	
	
	
	 
	Seleção
	
	
	Inserção
	
	
	Bolha
	
	 
	Binária
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:
 Errado	Inserção
	Quicksort
	Bolha
	Heapsort
 Certo	Seleção
		6.
		Os algoritmos de busca são muito utilizados em estrutura de dados. Sendo assim, o algoritmo que realiza a busca em vetores e que exige acesso aleatório aos elementos do mesmo e que parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento que se deseja com o elemento do meio do vetor, é chamado de:
		
	
	
	
	
	Pesquisa ordenada
	
	
	Pesquisa sequêncial
	
	 
	Pesquisa binária
	
	
	Tabela Hash
	
	
	Pesquisa de seleção
	
	
	
		1.
		Sabendo-se que o método de seleção também é um método de ordenação que baseia seu algoritmo em trocas entre os elementos de um vetor, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente na seguinte ordem : 13, 23, 3, 8, 1. Pode-se dizer que quando o menor elemento do vetor alcançar sua posição final, a ordenação apresentada no vetor é:
		
	
	
	
	 
	1,23,3,8,13
	
	
	1,8,3,23,13
	
	
	1,13,23,8,3
	
	 
	1,23,13,8,3
	
	
	1,3,23,8,13
	
	
		2.
		É correto afirmar sobre o funcionamento da busca sequencial.
		
	
	
	
	 
	Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no último índice do meu vetor.
	
	
	Os elementos são pesquisados aleatoriamente. Pior caso: o elemento está no último índice do meu vetor.
	
	
	Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no primeiro índice do meu vetor.
	
	
	Os elementos são pesquisados de acordo com o índice. Melhor caso: o elemento está no meio do meu vetor.
	
	 
	Os elementos são pesquisados de acordo com o índice. Pior caso: o elemento está no último índice do meu vetor.
	
	
		3.
		Existem vários algoritmos de busca em estruturas de dados, um destes realiza a busca em vetores, e requer acesso aleatório aos elementos desta estrutura e parte do pressuposto de que os dados do vetor estejam ordenados e utiliza a técnica de divisão e conquista comparando o elemento desejado com o elemento do meio do vetor. Esta técnica ainda verifica se o elemento do meio do vetor for o desejado, a busca termina. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor. O algoritmo que utiliza esta metodologia é:
		
	
	
	
	
	Inserção
	
	
	Bolha
	
	
	Pesquisa sequencial
	
	
	Seleção
	
	 
	Pesquisa binária
	
	
		4.
		Sabendo-se que o método de ordenção bolha ou bubble sort realiza a troca de elementos adjacentes até que todos os elementos de um vetor esteja ordenado. Então, se submetermos a sequencia de inteiros armazenada em um vetor inicialmente na seguinte ordem : 4, 2, 5, 1.
Pode-se dizer que quando o maior elemento do vetor alcançar sua posição final, a ordenação apresentada no vetor é:
		
	
	
	
	 
	1,2,4,5
	
	
	4,1,2,5
	
	 
	2,4,1,5
	
	
	1,4,2,5
	
	
	2,1,4,5
		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.
		
	
	
	
	
	Quicksort
	
	
	Heapsort
	
	
	Bolha
	
	 
	Seleção
	
	 
	Inserção6.
		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. Marque a alternativa correta que cita o algoritmo cuja descrição é: "considera cada elemento uma vez inserindo-o em seu lugar correto entre os elementos que já estão em ordem". E o seu passo a passo pode ser descrito como: "o elemento é inserido entre os ordenados movendo-se os elementos maiores que ele uma posição para a direita e posteriormente inserindo-o na posição vaga".
		
	
	
	
	
	MergeSort
	
	 
	Inserção
	
	 
	Bolha
	
	
	Seleção
	
	
	QuickSort
	
	
		7.
		Marque a afirmativa correta para a "Busca ou pesquisa binária".
		
	
	
	
	
	Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
	
	
	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.
	
	
	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.
	 8a Questão (Ref.: 201409140406)
	 Fórum de Dúvidas (1)       Saiba  (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 número de inscrição, o nome e a nota obtida pelo candidato. Este vetor está ordenado pelo número de inscrição. Para realização de uma consulta que, dado um número de inscrição, apresenta o nome e nota do candidato, um programador utilizou um algoritmo de busca que realiza sucessivas divisões no vetor, comparando o número de inscrição procurado com o número de inscrição do candidato posicionado no meio do vetor. Se o candidato posicionado do meio do vetor tiver o número de inscrição igual ao número de inscrição procurado, a busca termina com sucesso. Caso contrário, se candidato posicionado do meio do vetor tiver número de inscrição menor que o procurado, então a busca continua na metade posterior do vetor. E finalmente, se candidato posicionado do meio do vetor tiver número de inscrição maior que o procurado, a busca continua na metade anterior do vetor. O algoritmo utilizado pelo programador trata-se do método denominado busca:
		
	 
	randômica.
	
	por contagem.
	
	por comparação.
	 
	binária.
	
	linear.

Outros materiais