Prévia do material em texto
Simulado AV
Teste seu conhecimento acumulado
Disc.: ESTRUTURA DE DADOS
Acertos: 10,0 de 10,0 28/09/2021
1a
Questão
Acerto: 1,0 / 1,0
Das estruturas de dados a seguir aquela que NÃO é uma estrutura linear é :
Grafo.
Lista.
Fila.
Pilha.
Vetor.
Respondido em 28/09/2021 18:29:42
Explicação:
Lineares : lista, pilha, fila, deque. Com ou sem vetor, que é linear.
Não lineares : árvore e grafo.
2a
Questão
Acerto: 1,0 / 1,0
Assinale a alternativa que apresenta duas formas de passagem de parâmetros para
uma rotina ou função:
Por valor e por referência
Por teste e por reforço.
Por reforço e por referência.
Por memória e por disco.
Por inferência e por valor.
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=simulado-av-estrutura-de-dados
Respondido em 28/09/2021 18:30:57
Explicação:
Questão super objetiva. Só pode ser por valor e por referência.
Gabarito
Comentado
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, 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;
}
}
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){
for (int i = 0; i < n; i++)
if (v[i] == valor)
return i;
return -1;
}
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;
}
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
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;
}
Respondido em 28/09/2021 18:32:21
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
Marque a afirmativa correta para a "Busca ou pesquisa binária".
É 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.
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 adicionar um valor no vetor, mantendo a ordem existente e
ajustando o total de elementos.
Respondido em 28/09/2021 18:34:21
Gabarito
Comentado
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=simulado-av-estrutura-de-dados
5a
Questão
Acerto: 1,0 / 1,0
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.
Lista Encadeada
Fila Sequencial
Pilha Encadeada
Pilha Sequencial
Lista Sequencial
Respondido em 28/09/2021 18:34:55
Gabarito
Comentado
6a
Questão
Acerto: 1,0 / 1,0
A estrutura de dados que segue a lógica LIFO (Last in First Out) é denominada :
Vetor
Pilha
Árvore
Lista duplamente encadeada
Fila
Respondido em 28/09/2021 18:35:22
Explicação:
Por definição, pilha é uma estrutura de dados que segue a lógica LIFO, em que o último a
entrar será o primeiro a sair.
7a
Questão
Acerto: 1,0 / 1,0
Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fi la
é usada, de acordo com o critério de inserções e remoções que rege tal estrutura.
Fila de arquivos para impressão e buffer para gravação de dados em fi la.
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
Fila de documentos para xerox e fi la de arquivos para impressão.
Fila de arquivos para impressão e fi la de pessoas no caixa de um supermercado.
Buffer para gravação de dados em mídia e fi la de pessoas para comprar o ticket do
metrô.
Fila de pessoas para tirar o visto e fi la de pessoas para usar o caixa eletrônico.
Respondido em 28/09/2021 18:35:50
Gabarito
Comentado
8a
Questão
Acerto: 1,0 / 1,0
Seja a seguinte seqüência de instruções em um programa C++: int *pti; int i = 10; pti = &i;
Qual afirmativa é falsa?
pti armazena o endereço de i
pti é igual a 10
ao se executar *pti = 20; i passará a ter o valor 20
*pti é igual a 10
ao se alterar o valor de i, *pti será modificado
Respondido em 28/09/2021 18:54:57
Explicação:
Analisando cada opção :
pti é igual a 10
cação : A afirmativaestá incorreta porque *pti é igual 10 e não pti é igual a 10. Note qu
ndereço de i. Logo, a afirmativa deve ser marcada.
pti armazena o endereço de i
cação : pti é um ponteiro que recebeu o endereço (&) de i. Logo, a afirmativa está corre
deve ser marcada.
*pti é igual a 10
cação : Afirmativa correta e não deve ser marcada, visto que * é o operador de indireção.
o pti aponta para i, logo *pti é i, que vale 10.
ao se executar *pti = 20; i passará a ter o valor 20
cação : Afirmativa correta e não deve ser marcada, visto que *pti acessa a área apontada
*pti recebeu 20 significa que i recebeu 20.
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=simulado-av-estrutura-de-dados
ao se alterar o valor de i, *pti será modificado
Explicação : Afirmativa correta e não deve ser marcada, visto que pti aponta para i e dessa
forma, *pti é i.
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;
};
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ó.
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ó .
Respondido em 28/09/2021 18:59:01
Gabarito
Comentado
10a
Questão
Acerto: 1,0 / 1,0
Geralmente em algumas situações é necessário fazer a desalocação do espaço utilizado
na memória. Porém, isso depende de como a reserva de uma quantidade de espaço de
memória é feita, pois em alguns casos, o próprio compilador faz a desalocação. Quando
o compilador não faz esta desalocação a memória foi reservada utilizando______.
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=267715933&cod_prova=4840172662&f_cod_disc=CCT0826
Declaração de matriz
Declaração de vetor
Alocação dinâmica de memória
Declaração de função
Alocação estática de memória
Respondido em 28/09/2021 18:59:46
Explicação:
Se for necessário liberar a memória ocupada por essas variáveis, é preciso recorrer à
função free.
A função free desaloca a porção de memória alocada por malloc.
A instrução free (ptr) avisa ao sistema que o bloco de bytes apontado por ptr está
disponível para reciclagem.
Baixado por Dayene Aguiar (dayenne.aguiar.cristina@gmail.com)
lOMoARcPSD|30707823
https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=simulado-av-estrutura-de-dados