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