Buscar

ESTRUTURA DE DADOS aula 1 a 5

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 22 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 22 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 22 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.:201709058810)
	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.
	
	
	
	 
	Lista
	
	
	2a Questão (Ref.:201708459449)
	Acerto: 1,0  / 1,0
	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, d1
		
	
	
	
	
	3a Questão (Ref.:201708467928)
	Acerto: 1,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.
	
	
	
	4a Questão (Ref.:201708700902)
	Acerto: 1,0  / 1,0
	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
	
	
	
	5a Questão (Ref.:201708672604)
	Acerto: 1,0  / 1,0
	Com relação à struct,  é correto afirmar que :
		
	 
	Cada elemento da struct é denominado membro ou campo, sendo que a struct pode armazenar elementos de tipos diferentes ou não.
	
	
	
	6a Questão (Ref.:201709510468)
	Acerto: 1,0  / 1,0
	Em C++, quando uma variável é declarada como uma struct, o acesso para atribuição e leitura dos membros (campos) deste registro se dá pelo operador :
		
	 
	∙ (ponto).
	
		
	
	7a Questão (Ref.:201709037756)
	Acerto: 1,0  / 1,0
	
		
	 
	if(vet[j-1] < vet[j] )
    { 
         aux=vet[j];
         vet[j]= vet[j-1];
         vet[j-1]=aux;      
     }
	
	
	
	
	8a Questão (Ref.:201708467924)
	Acerto: 1,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:
		
	 
	Pesquisa binária
	
	
	9a Questão (Ref.:201709590145)
	Acerto: 1,0  / 1,0
	Considere as seguintes afirmações: I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100]. II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa correta:
		
	 
	Nenhuma afirmação está correta.
	
	
	10a Questão (Ref.:201709504557)
	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, IV
	 ESTRUTURA DE DADOS
	
		1.
		Estão entre algumas das possíveis formas de estruturas de dados:
	
	
	
	 
	Árvores binárias, pilhas, vetores
	
		2.
		Qual estrutura de dados é mais adequada para armazenar a estrutura do diretório do sistema de arquivos de um sistema operacional?
	
	
	
	 
	Árvore
	
		3.
		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 ?
	
	
	
	 
	árvore
	
		4.
		          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 ?
	
	
	 
	Grafo
	
		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.
	
	
	
	 
	Grafos
	
		6.
		           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
	
	
		7.
		O que é estrutura de dados?
	
	
	
	 
	É um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente.
	
	
		8.
		Podemos dizer que estrutura de dados é:
	
	
	
	 
	O meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações.
	
		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.
	
	
	
	 
	Lista Sequencial
	
	
		5.
	
		Estão entre algumas das possíveis formas de se estruturar dados:
	
	
	
	
	 
	Grafos, lista ordenada, vetores.
	
		6.
		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.
	
Escreva em uma linguagem de C++ uma função de nome achaMaior( ), que receba como parâmetros um vetr de inteiros e um outro parâmetro do tipo inteiro que represente o tamanho deste vetor. A função deve também, bscar e retomaro maior elemento do vetor.
Resposta 
int achaMaior(int v[ ], int t)
{
	Int maior=v[0];
	For( int i=1; i < t; i++)
	{
	If ( maior < v[i] ) maior=v [i];
	}
	Return maior;
}
COMO É A LÓGICA DO LIFO
Resposta: O primeiro que entra na pilha é o ultimo que sai
QUAL A DIFRENÇA ENTRE PILHA E FILA
Resposta: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura.Essa lógica é chamada de FIFO.
 
ESTRUTURA DE DADOS – FUNÇÕES
		
	
		1.
		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( ) {
   int a = 13, b = 10;
   troca( a, b );
   cout<<"Valores: "<< a<<"\t"<< b<<< endl;
   system("pause");
}
	
	
	 
	Valores: 13 10
	
	
		
	
		2.
		Sobre funções, é correto afirmar:
	
	
	
	 
	São blocos de instruções que são executados quando são chamadas em alguma parte do programa.
	
	
		
	
		3.
		Considere a função abaixo:
void func (int a, int &b) {
    a++;
    b = a*2;
}
e o seguinte trecho de código na função  main :
int x=2, y=3;
func (x,y);
func (y,x);
cout << x << "  ;  " << y;
Após a execução do cout o que será impresso  ? 
	
	
	
	 
	14; 6
	
	
		
	
		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 a posição de v se o valor vl foi encontrado.
	
	Gabarito Coment.
	
	
	
		
	
		5.
		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.
	
	
	
	 
	6
	
	
	
	
	
	
		
	
		6.
		Considere a função abaixo:
int func (int a, int& b){
   a = b - a;
   b = a * 2;
   a = b * 2;
   return a;
}
Considere o seguinte código na função main:
    int x = 2, y = 3, z;
    z = func (x, y);
    cout << x << "; " << y << "; " << z;
O que será impresso?
	
	
	
	 
	2; 2; 4
	
	
	
		
	
		7.
		Considere a seguinte função: void dobro(int x) { x = 2 * x; } Qual valor será impresso na tela quando o seguinte programa principal for executado? int main() { int n = 3; n = n + 2; dobro(n); cout << n; return 0; }
	
	
	
	 
	5
	
	
	
		
	
		8.
		Considere o trecho de um programa escrito em C++.
void func1 (bool x, int ini, int fim) {
    for ( int y=ini; y != fim ; y++) {
        x = !x;
        if (x)
            cout << y << endl;
        else
            cout << -y << endl;
    }
}
int main() {
    func1(false, 1, 7);
}
Marque a opção correta que mostra o que é impresso na tela.
	
	
	
	 
	1, -2, 3, -4, 5, -6
ESTRUTURA HETERÔGENEAS - ESTRUTURA 
	1a Questão
	
	
	
	Qual das seguintes estruturas de dados é classificada como heterogênea?
		
	 
	Registro
	
	 
	Ref.: 201709081454
		
	
	 2a Questão
	
	
	
	
	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].nota=5.7;
	
	 
	Ref.: 201709139493
		
	
	 3a Questão
	
	
	
	
	Marque a opção correta, considerando 
struct Livro { 
int codigo; 
float preco; 
} liv; 
		
	 
	liv.preco = 30.70;
	
	Livro.liv.codigo = 12345;
	
	liv->preco = 30.70;
	
	Livro.codigo = 12345;
	
	Livro->liv.codigo = 12345;
	
	 
	Ref.: 201709037765
		
	
	 4a Questão
	
	
	
	
	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.
		
	
	aluno[3].media=6.0;
	
	vet[3].aluno=6.0;
	
	aluno[10]=6.0;
	
	aluno[3].10=6.0;
	 
	vet[3].media=6.0;
	
	 
	Ref.: 201709107243
		
	
	 5a Questão
	
	
	
	
	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 ;
	
	aluno.vet[10]=5.7;
	
	aluno.vet[10].nota=5.7;
	
	vet[10]=aluno.5.7;
	 
	vet[10].nota=5.7;
	
	 
	Ref.: 201708672604
		
	
	 6a Questão
	
	
	
	
	Com relação à struct,  é correto afirmar que :
		
	
	Não é possível criar um vetor de structs, pois o vetor trabalha apenas com dados do mesmo tipo.
	
	A struct é sempre definida dentro da main.
	
	Cada elemento da struct é chamado campo e cada campo deve ser, obrigatoriamente, de um tipo de dados distinto de outro campo.
	 
	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 componente.
	
	 
	Ref.: 201709510470
		
	
	 7a Questão
	
	
	
	
	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 III.
	
	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 IV.
	
	 
	Ref.: 201709192337
		
	
	 8a Questão
	
	
	
	
	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; }
	
	int i = 0; while( i < 25) { cin >> lista[i].nome; cin >> lista[i].cargo; i ++; }
	
	for (int i = 0; i < 25; i++) { cin >> lista->nome; cin >> lista->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[i].nome; cin >> lista[i].nota; }
ESTRUTURA DE DADOS - ORDENAÇÃO E PESQUISA
		
		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 é:
	
	
	
	
	Pesquisa sequencial
	
	
	Inserção
	
	
	Bolha
	
	
	Seleção
	
	 
	Pesquisa binária
	
	Gabarito Coment.
	
	
	
		
	
		2.
		Qual a importância de se entender a "ordenação" de dados ?
	
	
	
	
	A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter 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 sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas.
	
	
	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.
	
	Gabarito Coment.
	
	
	
		
	
		3.
		Marque a afirmativa correta para a "Busca ou pesquisa binária".
	
	
	
	 
	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.
	
	
	É 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 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.
	
	Gabarito Coment.
	
	
	
		
	
		4.
		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);
	
	
	
	
	9
	
	
	4
	
	 
	6
	
	
	5
	
	
	8
	
	
	
		
	
		5.
		Os métodos de ordenação são muito utilizados para facilitar a recuperação posterior de itens ordenados. Existem vários métodos de ordenação, por esse motivo, assinale corretamente a alternativa que mostra o nome do método que utiliza a estratégia de ordenação por trocas de vizinhos e é considerado o método mais simples.
	
	
	
	
	Seleção
	
	
	Hash
	
	
	Binária
	
	
	Inserção
	
	 
	Bolha
	
	Gabarito Coment.
	
	
	
		
	
		6.
		Sobre o funcionamento da busca binária, é correto afirmar que dividindo seu vetor em duas metades.
	
	
	
	
	Se o item for menor que o item que está na metade do vetor, o item foi encontrado.
	
	
	Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
	
	 
	Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
	
	
	Se o item for menor que o item que está na metade do vetor, procure na segunda metade, ou seja, a da direita.
	
	
	Se o item for maior que o item que está na metade do vetor procure na primeira metade, ou seja, a da direita.
	
	Gabarito Coment.
	
	
	
		
	
		7.
		Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais".
	
	
	
	 
	É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
	
	
	Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
	
	
	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 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 adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
	
	Gabarito Coment.
	
	
	
		
	
		8.
		É correto afirmar sobre o funcionamento da busca sequencial.
	
	
	
	 
	Os elementos são pesquisados de acordo com o índice. Pior 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 ú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. 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.
ESTRUTURA DE DADOS – LISTA
	
		
	
		1.
		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 :
	
	
	
	 
	Inserção
	
	
	Busca
	
	
	Ordenação por inserção
	
	
	Inicialização
	
	
	Substituição
	
	Gabarito Coment.
	
	
	
		
	
		2.
		Analisando o trecho do algoritmo abaixo,
pode-se afirmar que se trata de uma operação de:
	
	
	
	
	Exibição de um elemento em uma estrutura LIFO
	
	 
	Inserção de um elemento em uma estrutura FIFO
	
	 
	Inserção de um elemento em uma estrutura LIFO
	
	
	Remoção de um elemento de uma estrutura LIFO
	
	
	Remoção de um elemento de uma estrutura FIFO
	
	Gabarito Coment.
	
	
	
		
	
		3.
		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[i].matricula << " " << L[i].titulo[30] << 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.matricula[i] << " " << L.titulo[i] << endl;
	
	
	
		
	
		4.
		O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?
	
	
	
	
	inclusão
	
	
	overflow
	
	
	ordenação
	
	
	remoção
	
	
	underflow
	
	
		
	
		5.
		__________________________ é 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 Não Alocada
	
	 
	Lista Linear Sequencial
	
	
	Lista Não Linear
	
	
	Lista Linear Não Sequencial
	
	
	Lista Linear de Alocação de Memória
	
	
	
		
	
		6.
		As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma determinada aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como requisitos principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.
	
	
	
	 
	Lista Sequencial
	
	
	Pilha Encadeada
	
	
	Pilha Sequencial
	
	
	Lista Encadeada
	
	
	Fila Sequencial
	
	Gabarito Coment.
	
	
	
		
	
		7.
		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 a afirmação I está correta.
	
	
	Apenas as afirmações II e III estão corretas.
	
	
	Apenas as afirmações II está corretas.
	
	
	Apenas as afirmações I e III estão corretas.
	
	
	Apenas as afirmações I e II estão corretas.
	
	
		
	
		8.
		
	
	
	
	
	for (int i = 0; i < n; i++)
   cout << L.matricula << "  "  << L.nome << endl;
	
	
	for (int i = 0; i < n; i++)
   cout << L.matricula[i] << "  "  << L.nome[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[i].matricula << "  "  << L[i].nome[30] << endl;
	
	
	for (int i = 0; i < n; i++)
   cout << L[i] << endl;
	
	Gabarito Coment.

Outros materiais