Prévia do material em texto
Date: Nov. 2019 1 Código: 35787 - Enunciado: Tomando como base as estruturas de dados complexas que abarcam o estudo das estruturas listas, filas, filhas e árvores em suas variações possíveis, de acordo com Tanenbaum (2014), analise o trecho de código de programa a seguir e marque a alternativa correta. struct Atento { int capacidade; float *dados; int primeiro; int ultimo; int nItens; }; [ . . . ] int operacao( struct Atento *f ) {int temp = f->dados[f->primeiro++]; if(f->primeiro == f->capacidade) f->primeiro = 0; f->nItens--; return temp;} a) Trata-se de uma operação de remoção de um nó em uma árvore binária, implementada por meio da struct Atento. b) Trata-se de uma operação de inclusão de um novo nó em uma árvore AVL, implementada por meio da struct Atento. c) Trata-se de uma operação de inclusão de dados em lista duplamente encadeada, cujos encadeamentos estão definidos na struct como primeiro e último. d) Trata-se de uma operação de desempilhamento de elementos em uma estrutura de dados pilha, identificada na linha de código int temp = f->dados[f->primeiro++];. e) Trata-se de uma operação de desenfileiramento de elementos em uma estrutura de dados do tipo fila circular, caracterizada pela linha de código f->nItens--. Justification: Resposta correta: Trata-se de uma operação de desenfileiramento de elementos em uma estrutura de dados do tipo fila circular, caracterizada pela linha de código f- >nItens--.Trata-se de uma operação de desenfileiramento de elementos em uma estrutura de dados do tipo fila circular, caracterizado pela linha de código f->nItens--. Refere-se à operação de remoção de elemento de uma fila circular. istratores:Trata-se de uma operação de inclusão de dados em lista duplamente encadeada, cujos encadeamentos estão definidos na struct como primeiro e último. Errada, pois a estrutura do programa apresentado refere-se a uma fila circular.Trata-se de uma operação de desempilhamento de elementos em uma estrutura de dados pilha, identificada na linha de código int temp = f->dados[f->primeiro++];. Errada, pois o programa reporta linhas de código que referenciam a estrutura de dados fila circular.Trata-se de uma operação de inclusão de um novo nó em uma árvore AVL, implementada por meio da struct Atento. Errada, pois não se trata de um código de árvore AVL, mas sim de um código tipicamente de fila circular.Trata-se de uma operação de remoção de um nó em uma árvore binária, implementada por meio da struct Atento. Errada, pois, embora seja um código de remoção, não condiz com remoção em árvore binária, mas, sim, remoção em fila circular. 1.50 2 Código: 35694 - Enunciado: No que tange ao estudo das estruturas de dados, segundo Forbellone e Eberspacher (2005), a partir dos tipos de dados primitivos, serão compostos os tipos de dados construídos, ora denominados estrutura de dados. Cada estrutura de dados tem um tipo peculiar de organização e forma de manipulação dos dados, o que teoricamente constituirá certa estrutura de dados especificamente.(FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall, 2005.) 0.50 Ilumno Indique o tipo de estrutura de dados representada pela figura exposta a seguir: a) Ponteiro. b) Matriz. c) Fila. d) Lista. e) Pilha. Justification: Resposta correta: Ponteiro.O conteúdo do endereço 188 refere-se ao endereço de memória 113, característica prima de ponteiros ou apontadores. istratores:Pilha. Errada, pois não mostra, em sua estrutura, base e topo, por onde são feitos os empilhamentos e desempilhamentos.Fila. Errada, pois não apresenta uma estrutura sequencial de entrada de dados que expresse o método FIFO.Matriz. Errada, pois a estrutura apresenta apenas uma dimensão de dados.Lista. Errada, pois não apresenta uma estrutura linear. 3 Código: 35782 - Enunciado: No estudo da estrutura de dados árvore, uma operação comum é percorrer uma árvore binária, ou seja, percorrer a árvore enumerando cada um de seus nós uma vez. Podemos simplesmente querer imprimir o conteúdo de cada nó ao enumerá-lo, ou podemos processá-lo de alguma maneira. Seja qual for o caso, falamos em visitar cada nó à medida que ele é enumerado. Evidentemente, a ordem na qual os nós de uma lista linear são visitados em um percurso é do primeiro para o último. Entretanto, não existe uma ordem "natural" para os nós de uma árvore. Sendo assim, são usados diferentes ordenamentos de percurso em diferentes casos. São definidos três desses métodos de percurso. Em cada um desses métodos, não é preciso fazer nada para percorrer uma árvore binária vazia. Todos os métodos são definidos recursivamente, de modo que percorrer uma árvore binária envolve visitar a raiz e percorrer suas subárvores esquerda e direita. A única diferença entre os métodos é a ordem na qual essas três operações são efetuadas, pré-ordem, em ordem e pós-ordem.(Tanenbaum, A. A.; Langsam, Y.; Augenstein, M. J. Estruturas de Dados Usando C. São Paulo: Makron Books, 1995.) Com base no texto apresentado, analise os elementos da tabela a seguir de forma a interpretá-los, identificando, por meio do percurso de pré-ordem, a ordem de visita de cada elemento. ( a) 45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76. b) 23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45. c) 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99. d) 18, 22, 23, 36, 45, 52, 58, 69, 76, 88, 97, 99. e) 18, 22, 36, 23, 52, 58, 76, 88, 99, 97, 69, 45. Justification: Resposta correta: 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.Refere-se à saída do percurso pré-ordem (RE ). istratores:45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76. Errada, pois se refere à saída do percurso para busca em largura ( FS).18, 22, 23, 36, 45, 52, 58, 69, 76, 88, 97, 99. Errada, pois se refere à saída do percurso em ordem (ER ).23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45. Errada, pois existe erro no processamento de saída, ao ser feita uma leitura na tentativa de um dos métodos aplicados (possivelmente o aluno confundiu o primeiro valor da esquerda com 23).18, 22, 36, 23, 52, 58, 76, 88, 99, 97, 69, 45. Errada, pois se refere à saída do percurso pós-ordem (E R). 1.50 4 Código: 35786 - Enunciado: Tomando como base uma estrutura de dados de pilha circular e suas respectivas operações de empilhamento e desempilhamento, descritas no código de programa 1.50 Ilumno abaixo, considerando o status inicial EMPTY STACK, faça uma análise do código em linguagem C e marque a alternativa que corresponda à pilha final depois das operações de empilhamento e desempilhamento. Para tanto, considere os seguintes valores de entrada: 44, 37, 24, 19, 11, 8, 4 e 1. // Código de Programa em Linguagem Ci = 1;MAX = 9;aux = 0; for (; i < MAX; i++){ scanf (“%d”, &aux); if ((( aux + i ) % 2) == 0) pop ( p -> topo ); else { P -> topo = aux; push ( p -> topo ); }} a) b) c) d) e) Ilumno Justification: Resposta correta: 1, 4, 37, 44.Após as operações de push e pop, o resultado final dos elementos empilhados, conforme teste chinês realizado, foram:i MAX aux Operação Pilha(Topo)1 9 44 push(44) 442 37 push(37) 373 24 push(24) 244 19 push(19) 195 11 pop(19) 246 8 pop(24) 377 4 push(4) 48 1 push(1) 1 9Logo: 1, 4, 37, 44 Distratores:1, 8, 23, 27, 37, 44. Errada, pois, após as operações de push e pop, o resultado final dos elementos empilhados é 1, 4, 37, 44, diferentemente daqueles apresentados por esta alternativa.4, 8, 23, 27, 39, 44. Errada, pois, após as operações de push e pop, o resultado final dos elementos empilhados é 1, 4, 37, 44, diferentemente daqueles apresentados por esta alternativa.11, 23, 27, 37, 44.Errada, pois, após as operações de push e pop, o resultado final dos elementos empilhados é 1, 4, 37, 44, diferentemente daqueles apresentados por esta alternativa.23, 27, 39, 44. Errada, pois, após as operações de push e pop, o resultado final dos elementos empilhados é 1, 4, 37, 44, diferentemente daqueles apresentados por esta alternativa. 5 Código: 35695 - Enunciado: Existem inúmeras estruturas de dados, cada qual com um tipo peculiar de organização e forma de manipulação dos dados, o que teoricamente constituirá certa estrutura. Nesse contexto, analise a figura a seguir e defina qual é o tipo de estrutura de dados apresentada. (Fonte: Elaborada pelo autor.) a) Fila. b) Matriz. c) Ponteiro. d) Lista. e) Pilha. Justification: Resposta correta: Pilha.A estrutura de dados apresenta topo e base, característicos da estrutura de dados pilha. istratores:Ponteiro. Errada, pois a figura não apresenta endereçamentos indiretos acerca de conteúdos e endereços de memória.Fila. Errada, pois a figura não representa uma estrutura sequencial com especificação da técnica FIFO.Matriz. Errada, pois a figura não apresenta uma estrutura multidimensional, característica prima de matrizes. Lista. Errada, pois a figura não se refere a uma estrutura linear de dados. 0.50 6 Código: 35696 - Enunciado: As estruturas de dado têm uma forma peculiar de representação gráfica, forma de organização e manipulação de dados que as diferenciam uma das outras. Neste viés, analise a figura a seguir e indique o tipo de estrutura de dados que representa. a) Vetor. b) Fila. c) Pilha. d) Ponteiro. e) Lista. 0.50 Ilumno Justification: Resposta correta: Vetor, pois refere-se a uma estrutura de dados unidimensional com apresentação explícita de índice. Distratores:Ponteiro. Errada, pois a figura não apresenta endereçamentos indiretos acerca de conteúdos e endereços de memória.Pilha. Errada, pois a estrutura de dados não apresenta os delimitadores de base e topo, por onde ocorrem os empilhamentos e desempilhamentos de dados.Fila. Errada, pois não representa uma estrutura sequencial com especificação da técnica FIFO.Lista. Errada, pois não se refere a uma estrutura linear de dados. 7 Código: 35742 - Enunciado: Sabe-se que as pilhas são uma lista na qual é aplicada a disciplina de acesso antagônica denominada UEPS (o último a entrar é o primeiro a sair, ou, em inglês, LIFO — Last In First Out). Isso significa que qualquer elemento que entrar na pilha somente sairá quando todos que entraram depois dele saírem.Escreva, em linguagem C, o trecho de programa que realize o processo de empilhar elementos na estrutura de dados pilha, descrevendo, também, a struct da pilha utilizada. Justification: Expectativa de resposta: /* Comentário: Declaração da Estrutura de Dados Pilha */struct Pilha { int topo; int capa; int *pElem;};/* Comentário: Inserir Elemento na Pilha - Empilhar */void empilhar ( struct Pilha *p, int v){ p->topo++; p->pElem [p->topo] = v;} 2.50 8 Código: 35726 - Enunciado: e acordo com Puga e Risseti (2009), "as estruturas indexadas, que necessitam de mais de um índice para identificar um de seus elementos, são chamadas de matriz de dimensão n, sendo que n representa o número de índices requeridos". (Fonte: PUGA, S.; RISSETI, G. Lógica de programação e estrutura de dados com aplicações em Java. 3. ed. São Paulo: Pearson Prentice Hall, 2009.) Neste contexto, defina matriz sucintamente. Justification: Expectativa de resposta:Uma matriz nada mais é que um vetor multidimensional caracterizado pelo uso de, pelo menos, duas dimensões do mesmo endereço de memória, com dados do mesmo tipo. 1.50 Ilumno