Buscar

Estrutura de Dados - Avaliando Aprendizado - Todas as Questões

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 14 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 14 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 14 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 
Exercício: CCT0260_EX_A1_A10 Voltar
 
Aluno(a): Matrícula: 
 Data: 03/06/2014 22:23:41 (Finalizada) 
AULA 1 
 1a Questão (Ref.: 201201883210) 
Estão entre algumas das possíveis formas de se estruturar dados: 
 
 
 
Grafos, lista ordenada, algoritmos. 
 Grafos, lista ordenada, vetores. 
 
Lista encadeada, vetores, algoritmos. 
 
Grafos, algoritmos, fila. 
 
Algoritmos, lista ordenada, vetores. 
 
 
 
 
 2a Questão (Ref.: 201202085821) 
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 III e IV estão corretas. 
 
As alternativas I e III estão corretas. 
 
As alternativas II e IV estão corretas. 
 As alternativas I e II estão corretas 
 
 
 
 
 3a Questão (Ref.: 201201883209) 
Podemos dizer que um container é: 
 
 
 
Uma sequência de passos computacionais que transforma uma 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 meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. 
 O que permite o armazenamento e a recuperação de dados independentemente de seu conteúdo. 
 
AULA 2 
 
 1a Questão (Ref.: 201201883421) 
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 I e II estão corretas. 
 Apenas as afirmações II e III estão corretas. 
 
Apenas as afirmações II está corretas. 
 
Apenas a afirmação I está correta. 
 
Apenas as afirmações I e III estão corretas. 
 
 
 
 
 2a Questão (Ref.: 201201950730) 
Assinale a opção certa. 
 Quando não se escreve o protótipo de uma função ... 
 
 
 
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 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. 
 
 
 
 
 3a Questão (Ref.: 201201883563) 
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: 
 
 
 
Inteiro 
 
Constante 
 
Local 
 Global 
 
Real 
 
AULA 3 
 
 1a Questão (Ref.: 201201883067) 
O seguinte trecho de programa abaixo representa qual tipo de estrutura de ordenação? 
void ordenar(float v[], int n) // n é o no. de elementos em v 
{ 
 int i , // índice 
 aux, // auxiliar para troca 
trocou = true, 
fim = n - 1; 
while (trocou) 
{ 
 trocou = false; // sinaliza que é falso que trocou 
 for (i = 0; i < fim; i++) 
 { 
 if (v[i] > v[i+1]) 
 { 
 aux = v[i]; 
 v[i] = v[i+1]; 
 v[i+1] = aux; 
 // sinaliza que é verdadeiro que trocou 
 trocou = true; 
 } // fim if 
 } // fim for 
 fim--; // decrementa o fim 
} // fim while 
} // fim da função 
 
 
 
Mergesort 
 
Shellsort 
 Bublesort 
 
Heapsort 
 Quicksort 
 
 
 
 
 2a Questão (Ref.: 201201883232) 
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada". 
 
 
 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 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. 
 
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. 
 Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. 
 
 
 
 
 3a Questão (Ref.: 201201883593) 
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 
 
Tabela Hash 
 
Pesquisa sequêncial 
 
Pesquisa de seleção 
 
Pesquisa ordenada 
 
AULA 4 
 
 1a Questão (Ref.: 201201883485) 
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: 
 
 
 Seleção 
 
Heapsort 
 
Inserção 
 
Quicksort 
 
Bolha 
 
 
 
 
 2a Questão (Ref.: 201201886634) 
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". 
 
 
 
Seleção 
 
Bolha 
 
QuickSort 
 Inserção 
 
MergeSort 
 
 
 
 
 3a Questão (Ref.: 201201883235) 
Marque a afirmativa correta para a "Ordenação em Listas Lineares Sequenciais". 
 
 
 
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. 
 É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente. 
 
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. 
 
 
 
 
AULA 5 
 
 
 1a Questão (Ref.: 201202085838) 
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. 
 
 
 
Fila Sequencial 
 Lista Sequencial 
 
Pilha Encadeada 
 
Pilha Sequencial 
 Lista Encadeada 
 
 
 
 
 2a Questão (Ref.: 201201883568) 
Existem vários tipos de estruturas de dados do tipo dinâmicas, entretanto, uma estrutura considerada simples 
são as listas. Pode-se implementar vários tipos de listas, entretanto, a estrutura que apresenta o conceito de 
LIFO é: 
 
 
 Pilha 
 
Fila 
 
Struct 
 
Matriz 
 
Ponteiro 
 
 
 
 
 3a Questão (Ref.: 201201950689) 
Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de 
dados denominada. 
 
 
 
Lista circular. 
 Pilha. 
 
Vetor. 
 
Fila. 
 
Lista encadeada. 
 
 
AULA 6 
 
 
 1a Questão (Ref.: 201202091785) 
Sabemos que podemos representar uma expressão de três formas, sendo que uma 
delas é chamada de notação polonesa reversa ( pós-fixa). 
Suponha que um professor de Estrutura de Dados desejasse compor a nota do 
bimestre com uma prova e um trabalho oral, usando pesos diferenciados para as 
notas. Sendo assim, usaria a média ponderada como a expressão abaixo. 
 
A única calculadora que encontrou disponível foi uma com representação pós fixa. 
Assinale a alternativa que apresenta a sequência que deveria ser digitada pelo 
professor para conseguir calcular a média de um aluno. 
 
 
 
 nota1 peso1 * nota2 peso2 * + peso1 peso2 + / 
 / + * nota1 peso1 * nota2 peso2 + peso1 peso2 
 nota1 peso1 nota2 peso2 peso1 peso2 * * + + / 
 nota1 peso1 * nota2 peso2 * peso1 peso2 + + / 
 / * nota1 peso1 + * nota2 peso2 + peso1 peso2 
 
 
 
 
 2a Questão (Ref.: 201202105161) 
Um programador recebeu a tarefa de construir um programa que receba uma cadeia de caracteres e verifique 
se esta cadeia de caracteres é um PALÍNDROME, sabendo-se que um PALÍNDROME apresenta a mesma 
sequência de caracteres da esquerda pra direita, quanto da direita para esquerda, marque a opção que possui a 
estrutura de dados mais adequada a este programa. 
 
 
 
Árvores 
 
Grafos 
 
Fila Sequencial 
 Lista Sequencial 
 Pilha Sequencial 
 
 
 
 
 3a Questão (Ref.: 201202088344) 
 Considere uma pilha sequencial P com capacidade para n elementos. 
 Sabendo que P é do tipo Pilha definido a seguir, marque a opção que corretamente 
implementa a operação de empilhamento, considerando que o topo da pilha recebeu -1 na 
inicialização. 
 
struct Pilha { 
 int v[n], topo; 
 }; 
 
 
 
 void empilhar(Pilha &P, int valor) { 
 if (P.topo == n - 1) 
 cout << "Pilha cheia."; 
 else 
 P.v[P.topo] = valor; 
} 
 
 void empilhar(Pilha P, int valor) { 
 if (P.topo == n) 
 cout << "Pilha cheia."; 
 else { 
 P.topo++; 
 P.v[P.topo] = valor; 
 } 
} 
 void empilhar(Pilha &P, int valor) { 
 if (topo == n - 1) 
 cout << "Pilha cheia."; 
 else { 
 topo++; 
 v[topo] = valor; 
 } 
} 
 void empilhar(Pilha &P, int valor) { 
 if (P.topo == n - 1) 
 cout << "Pilha cheia."; 
 else { 
 P.topo++; 
 P.v[P.topo] = valor; 
 } 
} 
 void empilhar(Pilha P, int valor) { 
 if (P.topo == n - 1) 
 cout << "Pilha cheia."; 
 else { 
 P.topo++; 
 P.v[P.topo] = valor; 
 } 
} 
 
AULA 7 
 
 1a Questão (Ref.: 201201883586) 
Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado. 
 
 
 
 
Matriz 
 Fila 
 
Pilha 
 
Hash 
 
Struct 
 
 
 
 
 2a Questão (Ref.: 201201883554) 
Para a criação de uma Fila seqüencial basta iniciar as variáveis de início e final, ou seja, apontá-las para as 
posições iniciais do vetor. O que alteraria na rotina de inserir se a variável final fosse inicializada com o valor -1 
(menos um): 
 
 
 Após a inserção deve-se fazer o incremento da variável final 
 
Após a inserção deve-se fazer o decremento da variável final 
 Antes da inserção deve-se fazer o incremento da variável final 
 
Após a inserção deve-se fazer o incremento da variável inicio 
 
Antes da inserção deve-se fazer o decremento da variável final 
 
 
 
 
 3a Questão (Ref.: 201202088486) 
 
 
 
 void enfileirar(Fila F, int valor) { 
 if (F.fim == n - 1) 
 cout << "Fila cheia\n"; 
 else { 
 F.fim++; 
 F.v[F.fim] = valor; 
 } 
} 
 void enfileirar(Fila &F, int valor) { 
 if (F.fim == n - 1) 
 cout << "Fila cheia\n"; 
 else { 
 F.fim++; 
 F.v[F.fim] = valor; 
 } 
} 
 void enfileirar(Fila &F, int valor) { 
 if (F.fim == n - 1) 
 cout << "Fila cheia\n"; 
 else 
 F.v[F.fim] = valor; 
 } 
 void enfileirar(Fila F, int valor) { 
 if (F.fim == n) 
 cout << "Fila cheia\n"; 
 else { 
 F.fim++; 
 F.v[F.fim] = valor; 
 } 
} 
 void enfileirar(Fila &F, int valor) { 
 if (fim == n - 1) 
 cout << "Fila cheia\n"; 
 else { 
 fim++; 
 v[fim] = valor; 
 } 
} 
AULA 8 
 
 1a Questão (Ref.: 201201883597) 
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. 
 
Envio de inteiro. 
 
Passagem por valor. 
 
Registro. 
 Ponteiros. 
 
 
 
 
 2a Questão (Ref.: 201202088496) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 3a Questão (Ref.: 201202095516) 
Observe o trecho de um código abaixo 
struct no 
{ 
 int dado; 
 struct no *proximo; 
}; 
 
int main() 
{ 
 no *lista=new no; 
 no *pt= new no; 
 lista->dado=1989; 
 lista->proximo=NULL; 
... 
 
 //Nesse ponto, assuma que cinco nós foram alocados em uma lista simplesmente encadeada e valores 
atribuídos aos membros dado na sequência: 1989 2014 2011 1962 2002 e, que através do comando 
abaixo, o ponteiro pt passou a apontarpara um nó da lista. 
 
 pt->proximo=lista->proximo->proximo; 
 
 Assinale a alternativa que apresenta o comando equivalente a: 
cout << " \nValor do ?o no: " << pt->proximo->proximo->dado; 
 
 
 cout << " \nValor do ?o no: " << lista->dado; 
 cout << " \nValor do ?o no: " << lista->proximo->dado; 
 cout << " \nValor do ?o no: " << lista->proximo->proximo->proximo->dado; 
 cout << " \nValor do ?o no: " << lista->proximo->proximo->proximo-> proximo-
>dado; 
 cout << " \nValor do ?o no: " << lista->proximo->proximo->dado; 
 
 
AULA 9 
 
 1a Questão (Ref.: 201202096006) 
Um aluno, sempre que tinha um tempo sobrando, estudava o conteúdo da disciplina 
de Estrutura de Dados. 
 
Ao pesquisar sobre as funções usadas por Pilhas e Filas dinâmicas, percebeu que 
existe uma função que tanta pode ser usada com Pilha quanto por Fila. 
 
Assinale a alternativa onde se encontra a finalidade dessa função. 
 
 
 Ordenar os elementos 
 Inserir um elemento 
 Remover um elemento 
 Exibir um elemento 
 Listar todos os elementos 
 
 
 
 
 2a Questão (Ref.: 201201883058) 
Qual das seguintes estruturas de dados é classificada como heterogênea? 
 
 
 Registro 
 
Fila 
 
Pilha 
 
Loop 
 Vetor 
 
 
 
 
 3a Questão (Ref.: 201201883023) 
Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em 
parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque, 
normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o 
uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C 
se for certo. 
( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração 
de seus conteúdos de memória na função. 
( ) Com apontadores, é possível criar funções que retornem estruturas de dados complexas. 
( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo 
tipo. 
( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável 
de cadeias de caracteres. 
( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se 
adicionar ao ponteiro o número de bytes que o elemento ocupa em memória. 
 
 
 
b) C - C - E - E - E 
 
c) E - E - C - C - E 
 
d) E - C - E - C - C 
 a) E - C - E - C - E 
 
e) C - E - C - E - C 
AULA 10 
 
 
 1a Questão (Ref.: 201201883243) 
Em uma lista linear simplesmente encadeada. 
 
 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando 
um ciclo. 
 O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
Cada ponteiro possui um só endereço que referencia o primeiro nó da lista. 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros, 
 Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
 
 
 
 2a Questão (Ref.: 201201883380) 
Marque a afirmativa que represente uma Lista Circular Simplesmente Encadeada: 
 
 
 O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros, 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "último" nó da lista, formando 
um ciclo. 
 
Cada ponteiro possui um só endereço que referencia o "primeiro" nó da lista. 
 
 
 
 
 3a Questão (Ref.: 201201875116) 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: 
 
 
 cima e para baixo ou para frente e para trás. 
 
cima e para baixo, apenas. 
 
trás, apenas. 
 frente e para trás, apenas. 
 
frente, apenas.

Outros materiais