Buscar

ESTRUTURA DE DADOS 6º AULA

Prévia do material em texto

1.
		Algoritmo Pilha
Inicio
IniciarPilha(s)
enquanto (não for o final das entradas) faca
leia (num)
se (num !=  3) então
   Empilhar (s, num)
senão
   Desempilhar(s)
   x := ElementoTopo(s)
fimse
fimenquanto
fimalgoritmo
Considere que, no trecho do algoritmo acima, representado por seu pseudocódigo, seja fornecido para num, sucessivamente, os valores inteiros 1, 2, 3, 4, 5, 3 e 6. Nesse caso, ao final da execução do algoritmo, o valor de x será igual a ...
	
	
	
	5 e a pilha terá os valores 6, 4 e 1.
	
	
	3 e a pilha terá os valores 6, 5, 4, 2 e 1.
	
	
	3 e a pilha terá os valores 6, 4 e 1.
	
	
	5 e a pilha terá os valores 6, 3, 5, 4, 3, 2 e 1.
	
	
	2 e a pilha terá os valores 6, 4 e 1.
	
Explicação:
Seguindo o fluxo do algoritmo, serão empilhados 1 e 2. Ao chegar no 3, o valor 2 será desempilhado e armazenado em x.
Continuando o loop, 4 é mepilhado, depois 5 é empilhado e ao chegar novamente em 3, o 5 é deempilhado e armazenado em x. Continuando o loop enquanto existe entrada, empilha-se o 6.
Dessa forma temos que o valor em 5 é 5 e a pilha possui os valors 6, 4 e 1, sendo 6 no topo da pilha.  
Logo, a opção correta é 5 e a pilha terá os valores 6, 4 e 1.
	
	
	
	 
		
	
		2.
		Sobre as pilhas, marque a alternativa correta:
	
	
	
	Pilhas são estruturas de dados do tipo FIFO e permitem que os dados sejam manipulados diretamente no meio da estrutura.
	
	
	Pilhas são menos restritivas do que Listas, pois esta última impõe mais restrições às operações de inserção/remoção do que as primeiras.
	
	
	A operação de desempilhar um item de uma pilha e logo em seguida empilha-lo em outra pilha mantem a mesma ordem dos dados da primeira pilha na segunda pilha.
	
	
	A característica principal que define uma Pilha diz respeito às operações de inserção e remoção, que devem ser realizadas exclusivamente na mesma extremidade.
	
	
	Pilhas não podem ser implementadas usando vetores, pois não será possível reproduzir a inserção e remoção pela mesma extremidade.
	
Explicação:
Analisando cada item.
	
	Pilhas são estruturas de dados do tipo FIFO e permitem que os dados sejam manipulados diretamente no meio da estrutura.
	Falso. Pilha segue a lógica LIFO e as operações de inserção e remoção ocorrem apenas em uma extremidade, o topo da pilha 
	
	A operação de desempilhar um item de uma pilha e logo em seguida empilhá-lo em outra pilha mantém a mesma ordem dos dados da primeira pilha na segunda pilha.
	FAlso. Por exemplo, o elemento do topo da primeira pilha, será o 1o. elemento empilhado na 2a. pilha.  
	
	Pilhas não podem ser implementadas usando vetores, pois não será possível reproduzir a inserção e remoção pela mesma extremidade.
	Falso. É possível usar vetor ou lista encadeada para implementar pilha.
	
	Pilhas são menos restritivas do que Listas, pois esta última impõe mais restrições às operações de inserção/remoção do que as primeiras.
	FAlso. Em uma lista podemos inserir ou retirar de  qualquer posição. Em pilha, não.
	
	A característica principal que define uma Pilha diz respeito às operações de inserção e remoção, que devem ser realizadas exclusivamente na mesma extremidade.
	Vedadeiro.
	 
	
	
	
	 
		
	
		3.
		Observar os quadros abaixo e reponder o que se pede:
O que aparecerá no topo da PILHA apos os comandos do quadro II?
	
	
	
	SANTOS_AGOSTINHO
	
	
	SANTA_CATARINA
	
	
	SANTO_ESPEDITO
	
	
	SANTO_ANTONIO
	
	
	SANTA_GENOVEVA
	
Explicação:
FAzendo passo a passo...
empilha SANTO_ANTONIO e depois, SANTA_FILOMENA. Fica SANTA_FILOMENA no topo.
No item c) desempilha. Então, sai SANTA_FILOMENA da pilha.
No item d) empilha SANTO_AGOSTINHO. Então, fica SANTO_ANTONIO e logo no topo, SANTO_AGOSTINHO.
No item e) temos o elemento do topo que é SANTO_AGOSTINHO.
No item f) empilhamos SANTA_CATARINA.  Então, a sequência é SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA (NO TOPO DA PILHA)
No item g, destaca-se o elemento do topo que é  SANTA_CATARINA.
No item h) empilha-se SANTO_EXPEDITO .  Então, a pilha fica assim : SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA -> SANTO_EXPEDITO (este último no topo da pilha).
No item i) Desempilha-se o item do topo, ou seja, SANTO_EXPEDITO. Então, a pilha fica assim : SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA
No item j) empilha-se o valor do topo . Então, a pilha fica assim : 
SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA -> SANTA_CATARINA
No item k) Desempilha-se um valor e este valor é empilhado. Sai SANTA_CATARINA, mas o mesmo é empilhado. Então : 
SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA -> SANTA_CATARINA (no topo)
No item l)  empilha-se SANTA_GENOVEVA. Então, a pilha fica assim : SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA -> SANTA_CATARINA -> SANTA_GENOVEVA
No item m) É desempilhado SANTA_GENOVEVA. A pilha fica : SANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA -> SANTA_CATARINA
No item n) Pega-se o elemento do topo e o mesmo é empilhado. Então : 
ANTO_ANTONIO -> SANTO_AGOSTINHO - >SANTA_CATARINA -> SANTA_CATARINA - > SANTA_CATARINA  (no topo)
Logo, no topo da pilha temos SANTA_CATARINA
 
	
	
	
	 
		
	
		4.
		Quando executado, um programa tem acesso à áreas de memória. A área de memória que se destina, principalmente, à alocação dos registros de ativação denomina-se:
	
	
	
	( ) área de registro
	
	
	( ) área de código
	
	
	( ) área de dados
	
	
	( ) área de pilha
	
	
	( ) área de heap
	
Explicação:
Chamamos área de pilha uma espaço de memória especialmente reservado para organização de uma pilha de dados. Esta pilha é usada como memória auxiliar durante a execução de uma aplicação.
As operações sobre esta área são push (empilha) e pop (desempilha).
	
	
	
	 
		
	
		5.
		Inseriu-se em uma pilha os valores A,B,C e D, seguindo essa ordem. Se logo após são executadas duas operações de remoção, pode-se dizer que:
	
	
	
	Os valores removidos serão D e C, nessa ordem
	
	
	Os valores removidos serão A e B, nessa ordem
	
	
	A resposta depende da chave de busca, pois a remoção depende da chave fornecida
	
	
	Os valores removidos serão C e D, nessa ordem
	
	
	Nenhuma das alternativas anteriores
	
Explicação:
Inseriu-se em uma pilha os valores A,B,C e D, seguindo essa ordem.
Analisando .... Daí temos que A está na posição 0, B na posição 1, C na posição 2 e D na posição 3, ficando no topo da pilha. 
Se logo após são executadas duas operações de remoção
Analisando .... Daí temos será removido primeiro o D, que está no topo da pilha e depois será removido o C, que terá ficado no topo logo após a saída do D.
Logo, saem D e C, nesta ordem.
	
	
	
	 
		
	
		6.
		Ling Tang, estudante de computação, precisou implementar parte de um jogo de cartões com figuras de animais.  Alguns jogadores teriam que jogar os cartões na mesa, enquanto outros deveriam devolver os cartões  na sequência inversa à jogada.  Ling Tang  estudou o mecanismo do jogo e decidiu usar a melhor estrutura de dados  na sua implementação. Qual a estrutura escolhida ?
	
	
	
	fila 
	
	
	 pilha
	
	
	 árvore
	
	
	 grafo
	
	
	lista
	
Explicação:
Pelas características do problema temos uma estrutura linear.  Como menciona-se que deve-se devolver os cartões na ordem inversa à jogada, temos caracterizada a estrutura de dados pilha.  Na pilha o último elemento a entrar será o primeiro a sair.
 
 
	
	
	
	 
		
	
		7.
		As pilhas sequenciais são estruturas que guardam a ordem reversa dos dados nelas armazenados, e isto em muitas ocasiões é muito vantajoso. A operação usada para inserir um elemento X numa pilha é conhecida na literatura como PUSH (X). Para remover um elemento de uma pilha a operação é o POP( ). Assim estas duas funções devem implentar o algoritmo LIFO (Last In - First Out ) ou o último a entrar é o primeiro a sair. Sendo assim se aplicarmos as seguintes operações em uma PILHA vazia:
PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ).
Quais valores restarão na pilha?Apenas o 10
	
	
	10 e 2
	
	
	Nenhum, a pilha estará vazia.
	
	
	Apenas o 2
	
	
	7 e 2
	
Explicação:
Empilhando e Desempilhando
PUSH(10),PUSH(5),POP(),PUSH(7),POP(),PUSH(2),POP(),POP( ).
10  PUSH(10)
5 10 PUSH(5), PUSH(10)
10 POP() PUSH(10)
7 10 PUSH(7) PUSH(10)
10 POP() PUSH(10)
2 10 PUSH(11)PUSH(10)
10  POP() PUSH(10)
  POP() VAZIA Resposta CORRETA
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		8.
		Respeitando as ordens de inserção e de retirada dos dados, uma estrutura de:
	
	
	
	fila é também denominada LIFO ou LILO.
	
	
	pilha é também denominada FIFO ou FILO.
	
	
	pilha é também denominada LIFO ou FILO.
	
	
	fila é também denominada FIFO ou FILO.
	
	
	fila é também denominada FIFO ou LIFO.

Continue navegando

Outros materiais