Buscar

ESTRUTURA DE DADOS SIMULADO

Prévia do material em texto

ESTRUTURA DE DADOS SIMULADO 
 
 
 Data: 05/05/2015 05:05:45 (Finalizada) 
 
 
 1a Questão (Ref.: 201308310110) 
No dia 20 de fevereiro de 2002(20022002), vivenciou-se um momento que só acontecerá novamente 
em 21 de dezembro de 2112(21122112). 
 
Acredito que muitas pessoas não tinham familiaridade com o termo capicua que, segundo o 
dicionário do Aurélio, se aplica a um grupo de algarismos que lidos da esquerda para direita, ou da 
direita para esquerda, representam o mesmo número. 
 
Construa uma função que receba um número inteiro longo e retorne o número escrito de trás para 
frente. Exemplo: recebe 123 e retorna 321. 
 
 
Sua Resposta: long long int espelha(long long int num ) //pode ser long long { long long int espelhado=0; 
//pode ser long long while (num > 0) { espelhado = 10 * espelhado + num % 10; num = num / 10; } return 
espelhado; } 
 
 
Compare com a sua resposta: 
long long int espelha(long long int num ) //pode ser long long 
{ 
 long long int espelhado=0; //pode ser long long 
 while (num > 0) 
 { 
 espelhado = 10 * espelhado + num / 10; 
 num = num / 10; 
 } 
 return espelhado; 
} 
 
 
 2a Questão (Ref.: 201308122991) 
const int TAMMAX = 100; 
struct TipoLista{ 
int qtde; // descritor que representa a quantidade de elementos na lista 
int elemt[TAMMAX]; 
}; 
Fundamento no tipo de dado(registro) acima que representa uma implementação de uma lista linear sequencial. 
Construa um procedimento para adicionar um dado no final da lista. 
A lista e o dado serão passados por parâmetro. Usar o mecanismo de passagem por referência se for 
necessário. 
 
 
Sua Resposta: void addFinalLista ( TipoLista &lista, int dado ){ if(lista.qtde == TAMMAX){cout << "Lista 
Cheia."; } else{ lista.elemt[lista.qtde] = dado; lista.qtde++; cout << "Dado adicionado com sucesso."; } } 
 
 
 
 
Compare com a sua resposta: 
void addFinalLista ( TipoLista &lista, int dado ){ 
if(lista.qtde == TAMMAX){cout << "Lista Cheia."; } 
else{ lista.elemt[lista.qtde] = dado; 
 lista.qtde++; 
 cout << "Dado adicionado com sucesso."; 
} } 
 
 
 3a Questão (Ref.: 201308101904) Pontos: 1,0 / 1,0 
Tanto a operação TOP (acessa topo), quanto à operação POP (remover), permite acessar o último elemento 
armazenado em uma Pilha. Quanto à diferença entre ambas as operações em relação ao estado da Pilha é 
correto afirmar: 
 
 
Nenhuma das operações altera o estado da Pilha 
 Somente a operação POP altera o estado da Pilha 
 
A operação TOP remove um elemento e altera o estado da Pilha 
 
Somente a operação TOP altera o estado da Pilha 
 
Ambas alteram o estado da Pilha 
 
 
 
 4a Questão (Ref.: 201308690212) Pontos: 0,0 / 1,0 
Analisando o trecho de código a seguir: 
inicio=0; 
fim= tamanho - 1; 
meio=(inicio+fim)/2; 
while(procura != nomeVetor[meio] && inicio != fim) 
{ 
 if(procura > nomeVetor[meio]) 
 inicio=meio+1; 
 else 
 fim=meio; 
 meio=(inicio+fim)/2; 
} 
if(nomeVetor[meio]==procura) 
 cout<<"\n....: "< < outroVetor[meio]<<endl; 
else 
 cout<<"\nDado nao encontrado\n";</endl; 
Pode-se afirmar que: 
 
 
trata-se da implementação do algortimo de ordenação por inserção. 
 
trata-se da implementação do algortimo de busca sequencial 
 
trata-se da implementação do algortimo de ordenação por seleção. 
 
trata-se da implementação do algortimo de ordenação bolha. 
 trata-se da implementação do algortimo de busca binária. 
 
 
 
 
 
 
 5a Questão (Ref.: 201308690210) Pontos: 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 menor valor v[j] que deve ser inserido em v[0..j-1]. 
 Encontrar o elmento a ser eliminado do vetor 
 
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 ponto onde v[j] deve ser inserido em v[0..j-1]. 
 
 
 6a Questão (Ref.: 201308690209) Pontos: 0,0 / 1,0 
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,4,2,5 
 
2,1,4,5 
 
4,1,2,5 
 
1,2,4,5 
 2,4,1,5 
 
 
 
 7a Questão (Ref.: 201308101363) Pontos: 1,0 / 1,0 
Em uma pesquisa sequencial a lista deve estar? 
 
 
ordenada somente o primeiro da lista. 
 
desordenada somente da metade da lista até o final. 
 
ordenada somente do início até a metade da lista. 
 ordenada ou desordenada. 
 
sempre desordenada. 
 
 8a Questão (Ref.: 201308101940) Pontos: 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: 
 
 
Tabela Hash 
 
Pesquisa de seleção 
 
Pesquisa ordenada 
 
Pesquisa sequêncial 
 Pesquisa binária 
 
 
 9a Questão (Ref.: 201308093472) Pontos: 1,0 / 1,0 
No contexto de estrutura de dados, uma pilha é: 
 
 um tipo de lista linear em que as operações de inserção e remoção são realizadas na extremidade 
denominada topo. 
 
uma lista do tipo FIFO. 
 
um tipo de lista linear em que as operações de inserção são realizadas em uma extremidade e as 
operações de remoção são realizadas em outra extremidade. 
 
uma lista do tipo LILO. 
 
um tipo de lista linear em que as operações de inserção e remoção são realizadas aleatoriamente. 
 
 
 
 10a Questão (Ref.: 201308715465) Pontos: 0,0 / 1,0 
Blocos únicos de códigos que realizam diversas tarefas distintas são de difícil manutenção. Portanto, utiliza-se a 
técnica da modularização de programas, a fim de facilitar a implementação e a manutenção dos programas. 
Esta técnica tem como principal elemento: 
 
 As Estruturas de Dados 
 As funções 
 
As Filas 
 
Os Grafos 
 
Os Vetores

Continue navegando

Outros materiais