Buscar

ESTRUTURA DE DADOS AV2

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

Disc.: ESTRUTURA DE DADOS 
Aluno(a): 
Acertos: 10,0 de 10,0 29/03/2021 
 
 
 
 
1a 
 Questão 
Acerto: 1,0 / 1,0 
 
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-1]; 
 
cout << v[ultimo]; 
 
cout << v[n]; 
 
cin >> v[-1]; 
Respondido em 07/05/2021 15:14:22 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
Funções são semelhantes aos procedimentos, exceto que uma função sempre retorna 
um valor. Um exemplo de função seria o conjunto de instruções para calcular o fatorial 
de um número e após a função ser executada, ela deve retornar o fatorial do número 
pedido. Marque a opção que representa um protótipo de função válido. 
 
 
tipo parametros(int a, int b); 
 
tipo parametros(parametros); 
 
nome tipo(parametros); 
 
void float(int a, int b); 
 retorno nomeFuncao(parametros); 
Respondido em 07/05/2021 15:16:01 
 
Explicação: 
Por definição, o protótipo de uma função é formado da seguinte forma : 
 nome_da_função ( ); 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a 
busca e a recuperação posterior de itens de conjuntos ordenados. Existem vários 
métodos de ordenação, por este motivo, marque corretamente a alternativa que 
apresenta o código do método de seleção. 
 
 void ordena(int v[], int n){ 
int i, j, menor, aux; 
for (j = 0; j < n-1; j++) { 
 for (i = j+1; i < n; i++) { 
 if (v[i] < v[j]) { 
 aux = v[j]; 
 v[j] = v[i]; 
 v[i] = aux; 
 } 
 } 
} 
} 
 
int ordena(float v[], float valor, int n) { 
 int ini = 0, fim = n -1, meio; 
 while (ini <= fim){ 
 meio = (ini + fim)/2; 
 if (v[meio] == valor) 
 return meio; 
 if (valor < v[meio]) 
 fim = meio -1; 
 else 
 ini = meio+1; 
 } 
 return -1; 
} 
 
int ordena(float v[], float valor, int n) { 
 int ini = 0, fim = n-1, meio; 
 while (ini >= fim){ 
 meio = ini/2; 
 if (v[meio] == valor) 
 return meio; 
 if (valor < v[meio]) 
 fim = meio -1; 
 else 
 ini = meio+1; 
} 
 
void ordena (int v[], int n){ 
 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; 
 } 
} 
 
int ordena(float v[], float valor, int n){ 
 for (int i = 0; i < n; i++) 
 if (v[i] == valor) 
 return i; 
 return -1; 
} 
Respondido em 07/05/2021 15:18:24 
 
Explicação: 
Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo 
no início do vetor. Procuramos o menor valor do vetor e colocamos ele em vetor. 
Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E 
assim vamos indo até termos todo o vetor ordenado. 
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura 
o menor elemento no vetor e o substitue pelo elemento i atual. 
É o que está ocorrendo na primeira opção! 
 
 
 
Gabarito 
Comentado 
 
 
 
 
 
4a 
 Questão 
Acerto: 1,0 / 1,0 
 
Considere a função misterio e o trecho abaixo. 
void misterio(int v[ ], int n) { //n é o número de elementos de v 
 int i, j, m, aux; 
 for (j = 0; j < n-1; j++) { 
 m = j; 
 for (i = j+1; i < n; i++) { 
 if (v[i] < v[m]) 
 m = i; 
 } 
 aux = v[j]; 
 v[j] = v[m]; 
 v[m] = aux; 
 } 
} 
Trecho na main : 
int v[4] = {40,30,10,20}; 
misterio(v, 4); 
Marque a opção correta. Como ficará o vetor após a execução da função misterio ? 
 
 
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
 
10 20 40 30 
 
10 30 20 40 
 
10 30 40 20 
 10 20 30 40 
 
5 10 20 30 
Respondido em 07/05/2021 15:21:08 
 
Explicação: 
O aluno precisa fazer um teste de mesa para achar a solução. 
A função implementa a ordenação por seleção, colocando o vetor de entrada em ordem 
crescente. 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
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.matricula << " " << L.titulo << 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[i] << " " << L.titulo[i] << endl; 
 for (int i = 0; i < n; i++) 
cout << L[i].matricula << " " << L[i].titulo << endl; 
Respondido em 07/05/2021 15:22:03 
 
Explicação: 
Como L é um vetor de n elementos do tipo professor. Então, para percorrer o vetor de 
índice i temos que fazer L[i] seguido do ponto seguido do campo, que pode ser matricula ou 
titulo. 
Assiim, a opção correta é 
for (int i = 0; i < n; i++) 
 cout << L[i].matricula << " " << L[i].titulo << endl; 
 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
 
 Navegadores para internet armazenam os últimos endereços visitados 
em uma estrutura de dados. Cada vez que um novo site é visitado, o 
endereço do site é adicionado na estrutura de endereços. Quando se 
aciona o retorno ("back"), o navegador permite que o usuário retorne no 
último site visitado e retira o endereço do site da estrutura de dados. 
Assinale a estrutura de dados mais adequada para este problema. 
 
 
fila 
 
grafo 
 
árvore 
 pilha 
 
lista 
Respondido em 07/05/2021 15:24:11 
 
 
Gabarito 
Comentado 
 
 
 
 
 
7a 
 Questão 
Acerto: 1,0 / 1,0 
 
 As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, 
tais como fila de processo, fila de impressão, sistemas de senha etc. 
Entretanto, nas aplicações onde há muita movimentação de dados, inserções e 
remoções de dados na fila, surgem espaços ociosos que podem levar ao 
fenômeno chamado de esgotamento de memória. Para sanar este problema 
pode-se substituir a fila sequencial por: 
 
 
lista sequencial 
 
lista circular 
 
pilha circular 
 
pilha sequencial 
 fila circular 
Respondido em 07/05/2021 15:25:27 
 
 
Gabarito 
Comentado 
 
 
 
 
 
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
8a 
 Questão 
Acerto: 1,0 / 1,0 
 
QUAL A SAÍDA DESTE PROGRAMA? 
 
#include 
main() 
{ 
 int i=10,*p; 
 p=&i; 
 
 cout << *p << " " << i + *p<< " " << *p**p << " " << 
i+**&p; 
 system("pause"); 
} 
 
 
10 24 102 25 
 
10 20 100 22 
 
10 25 100 30 
 
10 20 104 22 
 10 20 100 20 
Respondido em 07/05/2021 15:26:23 
 
 
9a 
 Questão 
Acerto: 1,0 / 1,0 
 
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a 
opção que, corretamente, indica as ações corretas para empilhar o resto da divisão 
gerado no processo de conversão, considerando uma lista simplesmente encadeada.Considere o tipo definido abaixo : 
 
struct no { 
int dado; 
struct no *link; 
}; 
 
 
Basta alocar memória com new, armazenar o resto da divisão do número por 2 
no campo dado do novo nó e aterrar o link do novo nó. 
 
É preciso armazenar o resto da divisão do número por 2 no campo dado do 
primeiro nó da lista e retornar o ponteiro para este nó. 
 
Basta alocar memória com new e armazenar o resto da divisão do número por 2 
no campo dado do novo nó . 
 
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, 
armazenar o resto da divisão número por 2 no campo dado e aterrar o campo 
link. 
 É preciso alocar memória com new, armazenar o resto da divisão do número 
por 2 no campo dado do novo nó, apontar o link do novo nó para o início da 
lista e enfim, retornar o ponteiro para o novo nó. 
Respondido em 07/05/2021 15:30:53 
 
 
Gabarito 
Comentado 
 
 
 
 
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=224973247&cod_prova=4564269437&f_cod_disc=
 
 
10a 
 Questão 
Acerto: 1,0 / 1,0 
 
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos 
para: 
 
 
Para trás, apenas. 
 
Para cima e para baixo ou para frente e para trás. 
 
Para frente, apenas. 
 Para frente e para trás, apenas. 
 
Para cima e para baixo, apenas.

Continue navegando