Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Disc.: ESTRUTURA DE DADOS 
 
Acertos: 10,0 de 10,0 16/11/2020 
 
 
1a 
 Questão 
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. 
 
 
Grafo 
 
 Pilha 
 
Lista 
 
 Fila 
 
Árvore 
Respondido em 16/11/2020 19:27:48 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
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; } 
 
 
0 
 
20 
 
5 
 
10 
 
3 
Respondido em 16/11/2020 19:30:59 
 
Explicação: 
A função não retorna valor, então o valor de "n" não é alterado permanecendo igual a 5. 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
Marque a afirmativa correta para a "Inserção em lista linear sequencial ordenada". 
 
 
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, mantendo a ordem existente e ajustando o total de elementos. 
 
É 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 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. 
Respondido em 16/11/2020 19:34:49 
 
Explicação: 
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de 
elementos. 
Só pode ocorrer, no entanto, se a lista não estiver cheia. 
 
 
4a 
 Questão 
Acerto: 1,0 / 1,0 
 
Estude atentamente o código a segir: 
int deciframe(int v[ ], int tam, int e){ 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
m = ( i + f ) / 2; 
if ( v[m] == e ) { return m; } 
if ( e < v[m] ) { f = m - 1; } 
else { i = m + 1; } 
} 
return -1; 
} 
Sabendo que a chamada da mesma foi feita com os parâmetros: 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6 
É sabido que a mesma retornaria o valor -1, porque: 
 
 
Seria o retorno do while 
 
Seria o retorno do segundo if 
 
É a posição do elemento e no vetor v 
 
É o módulo do valor de e 
 
Porque ele não achou o elemento na coleção 
Respondido em 16/11/2020 19:43:40 
 
Explicação: 
 Veja que para retornar -1 o return m; não foi executado. E para o return m; não poder ser 
executado, o teste if ( v[m] == e ) foi sempre falso. Logo, retornar -1 é o caso do elemento e = -6 
não ser encontrado no vetor v. 
 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
Estude atentamente o código a segir: 
int deciframe(int v[ ], int tam, int e){ 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
m = ( i + f ) / 2; 
if ( v[m] == e ) { return m; } 
if ( e < v[m] ) { f = m - 1; } 
else { i = m + 1; } 
} 
return -1; 
} 
Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela 
retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6 
 
 
3 
 
6 
 
0 
 
-1 
 
4 
Respondido em 16/11/2020 19:43:21 
 
Explicação: 
Analisando 
int deciframe(int v[ ], int tam, int e) { 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
 m = ( i + f ) / 2; 
 if ( v[m] == e ) { return m; } 
 if ( e < v[m] ) 
 { f = m - 1; } 
 else 
 { i = m + 1; } 
} 
return -1; 
} 
 
Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que 
ela retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6 
Está procurando pelo valor e = -6. Como se sabe pelo estudo da busca binária e olhando o código 
dado, temos que -6 não existe na lista então a função irá retornar -1 (vide última linha da função). SE 
a busca tivesse sucesso, o teste do 1o. if no while seria verdadeiro e então o índice m de v seria 
retornado. Mas não é o caso, pois -6 não foi encontrado. 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
Em termos da estrutura de dados do tipo PILHA, a sequência de ações empilha(10), empilha(3), empilha(5), 
empilha(8), desempilha(), desempilha(), empilha(20), promoveria a configuração da estrutura a partir do 
topo : 
 
 
10 3 5 8 
 
20 3 10 
 
5 8 20 
 
20 10 3 
 
20 3 5 8 
Respondido em 16/11/2020 19:42:52 
 
Explicação: 
 
Ao empilharmos 10, 3, 5 e 8 temos a seguinte sequência 10 3 5 8, onde 8 está no topo da pilha e 10 
foi o primeiro valor empilhado. 
Ao ser executado desempilha(), o valor 8 é retirado da pilha, ficando o valor 5 no topo da pilha. 
Ao ser executado mais um desempilha(), o valor 5 é retirado da pilha, ficando o 3 no topo da pilha. 
Depois, a ser executado empilha(20), a pilha fica com a seguinte configuração : 
10 3 20, onde 20 está no topo da pilha. 
 
Para dar a sequência a partir do topo para baixo : 20 3 10 
 
 
7a 
 Questão 
Acerto: 1,0 / 1,0 
 
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D, 
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e 
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova 
operação de remoção, o elemento que será removido desta fila sera o: 
 
 
W 
 
X 
 
A 
 
D 
 
C 
Respondido em 16/11/2020 19:43:32 
 
 
Gabarito 
Comentado 
 
 
 
 
Gabarito 
Comentado 
 
 
 
 
Gabarito 
Comentado 
 
 
 
 
 
8a 
 Questão 
Acerto: 1,0 / 1,0 
 
Considere a função em C++ que manipula uma lista simplesmente encadeada : 
void imprime (Lista *l) { 
 Lista* p; 
 for (p = l; p != NULL; p = p->prox) 
 cout <<"Info = " << p->info; 
} 
sendo 
struct Lista { 
 int info; 
 struct Lista *prox; 
}; 
 
 
 
Função que retira um elemento da lista 
 
Função que percorre os elementos da lista 
 
Função que verifica se lista está vazia 
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
 
Função para liberar a lista 
 
Função de busca 
Respondido em 16/11/2020 19:48:16 
 
Explicação: 
Veja que existe um loop em que o ponteiro é inicializado e a cada rodada do for, imprime o dado da 
lista e passa a apontar para o próximo nó da lista. Logo, a função percorre a lista. 
 >> Não poderia ser verificar lista vazia porque para isso teríamos que testar se o ponteiro é NULL. 
>> Não pode ser busca, pois seria preciso testar cada elemento da lista. Se encontrasse deveria 
retornar o endereço do nó, caso contrário deveria retornar NULL. 
>> Para retirar elemento teríamos que usar delete, para liberar memória, entre outros. Logo, não pode 
ser. 
>> PAra liberar a lista teríamos que repetidamente usar delete, em um loop. Não pode ser. 
 
 
9aQuestão 
Acerto: 1,0 / 1,0 
 
Seja o seguinte exemplo de nodo de uma lista de encadeada: 
 
struct nodo{ 
 float valor; 
 string produto; 
 nodo * proximo; 
 }; 
Sabendo-se que nesta lista o último nó ou nodo possui o campo próximo nulo (null), 
marque a alternativa que representa corretamente a operação de busca do último 
nodo, a partir de um ponteiro pt apontado para o primeiro nodo da lista. 
 
 
while(pt != null)pt=pt->próximo; 
 
while(pt->próximo != null)pt=pt->próximo->proximo; 
 
while(pt->próximo->proximo)pt=pt->próximo; 
 
while(pt->próximo)pt=pt->próximo; 
 
while(próximo)pt=próximo; 
Respondido em 16/11/2020 19:48:25 
 
Explicação: 
O código será: 
while(pt->próximo)pt=pt->próximo; 
 
 
10a 
 Questão 
Acerto: 1,0 / 1,0 
 
Com relação à lista duplamente encadeada, é correto afirmar que : 
 
 
A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda, pois 
existem dois ponteiros. 
 
Consome menos memória do que uma lista simplesmente encadeada, se tivermos uma 
mesma aplicação. 
 
 A lista precisa ter sempre um ponteiro apontando para o 1º. nó 
 
Não pode ser vazia. 
 
Não pode haver remoções no meio da lista. 
Respondido em 16/11/2020 19:52:26 
 
 
Gabarito 
Comentado 
 
 
 
 
 
 
 
 
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=213769004&cod_prova=4321288880&f_cod_disc=
javascript:abre_colabore('38403','213769004','4321288880');

Mais conteúdos dessa disciplina