Buscar

Simulado Estrutura de Dados

Prévia do material em texto

1a 
 Questão 
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 
 
listas encadeadas 
 grafos 
 
structs 
 
pilhas encadeadas 
 
 
 
2a 
 Questão 
Acerto: 1,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: 
 
 
Os Vetores 
 
Os Grafos 
 
As Estruturas de Dados 
 As funções 
 
As Filas 
 
 
 
3a 
 Questão 
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 : 
 
 
& (e comercial ou eitza). 
 
-> (seta). 
 
, (vírgula). 
 ∙ (ponto). 
 
* (asterisco). 
 
 
 
 
4a 
 Questão 
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 sequêncial 
 
Pesquisa de seleção 
 
Tabela Hash 
 
Pesquisa ordenada 
 Pesquisa binária 
 
 
 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
Considere as seguintes afirmações sobre Listas Sequenciais: 
I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de interesse. 
II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que indica a quantidade de dados armazenados. 
III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a quantidade de dados da mesma. 
IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem repetição). 
Marque a opção que contém apenas todas as afirmações verdadeiras: 
 
 
I, II, III, IV 
 
I, II, III 
 
I, III, IV 
 
I, II 
 I, II, IV 
 
 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
Tei Ping, estudante de computação, precisou implementar parte de um jogo que trabalhava com cartas especiais. Cada carta possui um número e uma letra. 
Alguns jogadores teriam que jogar as cartas na mesa, enquanto outros deveriam devolver as cartas na sequência inversa à jogada. Tei Ping estudou o 
mecanismo do jogo e decidiu usar a melhor estrutura de dados na sua implementação. Qual a estrutura escolhida ? 
 
 
árvore 
 
lista 
 pilha 
 
fila 
 
grafo 
 
 
 
 
7a 
 Questão 
Acerto: 0,0 / 1,0 
 
Ao treinar macacos, foi realizado um jogo para avaliar sua memória. O cientista fornecia sequências de cartas com figuras geométricas e o 
macaco devia reproduzir a mesma sequência usando figuras geométricas reais. Qual a estrutura de dados mais adequada para modelar esse 
jogo ? 
 
 
árvore 
 
lista 
 
grafo 
 fila 
 pilha 
 
 
 
 
8a 
 Questão 
Acerto: 1,0 / 1,0 
 
Dr. Pei Tam possui uma lista não ordenada de pacientes de seu consultório em que registra apenas o nome endereço e o telefone de cada 
paciente. Como não há limites para o crescimento de sua lista, como se pode implementar a inserção de um novo paciente na lista, sabendo 
que cada paciente é do tipo Paciente e a lista é do tipo List assim definidos : 
struct Paciente { 
 long int matricula; 
 string nome, endereco e tel; 
}; 
struct List { 
 Paciente p; 
 struct List *link; 
 }; 
 
 List * inserePac(List *i, Paciente pac) 
{ 
 List *novo = new List; 
 novo.p = pac; 
 novo.link = i; 
 return novo; 
} 
 List insereCliente(List *i, Paciente pac) 
{ 
 List novo[]; 
 novo[0].p = pac; 
 novo[0].link = i; 
 return novo; 
} 
 List * inserePac(List *i, Paciente pt){ 
 List *novo ; 
 novo->p = pt; 
 novo->link = i; 
 return novo; 
} 
 List * inserePac(List *i, Paciente pt) 
{ 
 List *novo = new List; 
 novo->p = pt; 
 novo->link =i; 
 return novo; 
} 
 List * inserePac(List *i) { 
 List *novo = new List; 
 Paciente pat; 
 novo->p = pat; 
 novo->link = i; 
 return novo; 
} 
 
 
 
 
9a 
 Questão 
Acerto: 1,0 / 1,0 
 
Tínhamos declarado um ponteiro de nome ptr e precisávamos construir uma estrutura de repetição que pudesse repetir enquanto o ponteiro não fosse 
nulo. Observe os trechos abaixo e assinale qual a afirmativa correta. 
 
I if (ptr !=NULL) 
II if( !ptr ) 
III if(ptr) 
IV while (ptr !=NULL) 
V while (ptr) 
 
 III está correta 
 I e II estão corretas. 
 IV e V estão corretas. 
 III e V estão corretas 
 I e IV estão corretas 
 
 
 
 
10a 
 Questão 
Acerto: 1,0 / 1,0 
 
As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento simplesmente ou encadeamento duplo. O que difere uma 
lista simplesmente encadeada de uma lista duplamente encadeada? 
 
 
Em uma lista duplamente encadeada cada nó aponta para nó seguinte. 
 
Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila. 
 Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente encadeada aponta para mais de um nó. 
 
Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior. 
 
Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta

Continue navegando