Você está na página 1de 8

Aluno: DANIEL FRANCISCO ALVES FELICIANO Matrícula: 20182300254

Avaliação: A2- Data: 22 de Novembro de 2019 - 11:00 Finalizado


Local: AUDITÓRIO - EAD - Auditório / Andar / Polo Barra da Tijuca / POLO UVA BARRA MARAPENDI - RJ
Acadêmico: EAD-IL10301-20194A

Correto Incorreto Anulada  Discursiva  Objetiva Total: 7,00/10,00

1  Código: 35782 - Enunciado: No estudo da estrutura de dados árvore, uma operação comum é percorrer uma 1,50/ 1,50
á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) 23, 22, 36, 18, 69, 58, 52, 97, 88, 99, 76, 45.
b) 45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76.
 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.

Alternativa marcada:

c) 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.

Justificativa: Resposta correta: 45, 23, 22, 18, 36, 69, 58, 52, 97, 88, 76, 99.Refere-se à saída do percurso pré-
ordem (RED).
Distratores:45, 23, 69, 22, 36, 58, 97, 18, 52, 88, 99, 76. Errada, pois se refere à saída do percurso para busca em
largura (DFS).18, 22, 23, 36, 45, 52, 58, 69, 76, 88, 97, 99. Errada, pois se refere à saída do percurso em ordem
(ERD).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
(EDR).

2  Código: 35696 - Enunciado: As estruturas de dado têm uma forma peculiar de representação gráfica, forma de 0,00/ 0,50
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) Pilha.
b) Ponteiro.
c) Fila.
d) Lista.
 e) Vetor.

Alternativa marcada:

d) Lista.

Justificativa: 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.
3  Código: 35787 - Enunciado: Tomando como base as estruturas de dados complexas que abarcam o estudo das 1,50/ 1,50
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 desenfileiramento de elementos em uma estrutura de dados do tipo fila
circular, caracterizada pela linha de código f->nItens--.
b) Trata-se de uma operação de remoção de um nó em uma árvore binária, implementada por meio da
struct Atento.
c) Trata-se de uma operação de inclusão de um novo nó em uma árvore AVL, implementada por meio da
struct Atento.
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 inclusão de dados em lista duplamente encadeada, cujos encadeamentos
estão definidos na struct como primeiro e último.

Alternativa marcada:

a) 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--.

Justificativa: 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. 
Distratores: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.

4  Código: 35704 - Enunciado: A fila é uma estrutura de dados dinâmica que admite a inserção e remoção de 0,50/ 0,50
elementos, a partir da técnica conhecida como FIFO. A inserção ocorre no início da fila e a remoção ocorre no final
da fila. Neste contexto, assinale a afirmativa correta sobre a técnica FIFO.

 a) A técnica utilizada na estrutura de dados fila afirma que o primeiro elemento a entrar na fila será o
primeiro elemento a sair dela.
b) Os elementos de uma fila são ligados por uma linha denominada, tecnicamente, aresta.
c) Na estrutura de dados fila, tanto a inserção como a remoção de elementos ocorre pelo topo da fila.
d) O processo de inserção de elementos na fila é tecnicamente denominado push, e o processo de remoção
de elementos da fila é tecnicamente denominado pop.
e) FIFO é a técnica de fila em que o primeiro elemento a entrar na fila será o último elemento a ser removido
dessa fila.

Alternativa marcada:

a) A técnica utilizada na estrutura de dados fila afirma que o primeiro elemento a entrar na fila será o primeiro
elemento a sair dela.

Justificativa: Resposta correta: A técnica utilizada na estrutura de dados fila afirma que o primeiro elemento a
entrar na fila será o primeiro elemento a sair dela.FIFO significa First In First Out, ou seja, o primeiro a entrar será
o primeiro a sair.
Distratores:FIFO é a técnica de fila em que o primeiro elemento a entrar na fila será o último elemento a ser
removido dessa fila. Errada, pois refere-se à técnica LIFO.Os elementos de uma fila são ligados por uma linha
denominada, tecnicamente, aresta. Errada, pois as arestas são linhas que ligam as vértices da estrutura de dados
árvore.O processo de inserção de elementos na fila é tecnicamente denominado push, e o processo de remoção
de elementos da fila é tecnicamente denominado pop.  Errada, pois push e pop são termos técnicos usados na
estrutura de dados pilha, e referem-se aos processos de empilhamento e desempilhamento, respectivamente.Na
estrutura de dados fila, tanto a inserção como a remoção de elementos ocorre pelo topo da fila. Errada, pois a
inserção e remoção de elementos sempre ocorre no topo da estrutura de dados pilha, e não fila.

5  Código: 35695 - Enunciado: Existem inúmeras estruturas de dados, cada qual com um tipo peculiar de 0,50/ 0,50
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) Pilha.
b) Ponteiro.
c) Lista.
d) Matriz.
e) Fila.

Alternativa marcada:

a) Pilha.

Justificativa: Resposta correta: Pilha.A estrutura de dados apresenta topo e base, característicos da estrutura de
dados pilha.
Distratores: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.

6  Código: 35786 - Enunciado: Tomando como base uma estrutura de dados de pilha circular e suas respectivas 1,50/ 1,50
operações de empilhamento e desempilhamento, descritas no código de programa 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)

Alternativa marcada:

b)

Justificativa: 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.

7  Código: 35742 - Enunciado: Sabe-se que as pilhas são uma lista na qual é aplicada a disciplina de acesso 0,00/ 2,50
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.

Resposta:

Comentários: Questão em branco (sem resposta).


Justificativa: 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;}

8  Código: 35729 - Enunciado: De acordo com Mizrahi (2008), "o nome de uma variável indica o que será 1,50/ 1,50
armazenado nela. A isso dá-se o nome de variável significativa. O endereço de uma variável é dito como
ponteiro". (Fonte: MIZRAHI, V. V. Treinamento em Linguagem C. 2. ed. São Paulo: Pearson Education do Brasil,
2008.)
Com base nessa afirmativa, defina sucintamente ponteiro ou apontador.

Resposta:

Justificativa: Expectativa de resposta:Uma variável ponteiro, também conhecida tecnicamente como variável
apontadora, é aquela que, no lugar de armazenar conteúdo de dados, irá guardar o espaço, o endereço de
memória de outra variável, para posterior manipulação.
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/c45fc696-
0d62-11ea-a386-0242ac110002.jpg?
Signature=Wx0VT175253xpTCCpAxeKmBMnMs%3D&Expires=1574735638&AWSAccessKeyId=AKIAJ5OVDHP63TNW
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/c674efa6-
0d62-11ea-a386-0242ac110002.jpg?
Signature=J3FOkwubJRGY4mfSwrcPiV4Ig7E%3D&Expires=1574735638&AWSAccessKeyId=AKIAJ5OVDHP63TNWC

Você também pode gostar