Buscar

Exercícios sobre pilhas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 1/11
Exercícios sobre pilhas
Entrega 8 mai em 23:59 Pontos 1,04 Perguntas 8
Disponível 2 mai em 20:50 - 16 mai em 19:00 14 dias Limite de tempo Nenhum
Instruções
Este teste foi travado 16 mai em 19:00.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 20 minutos 0,65 de 1,04
 As respostas corretas não estão mais disponíveis.
Pontuação deste teste: 0,65 de 1,04
Enviado 8 mai em 0:10
Esta tentativa levou 20 minutos.
Prezados alunos,
 
Esses exercícios devem ser realizados individualmente e encerrados até o dia 08/05, às 23:59. Essa
atividade tem o valor de 1 ponto.
Eveline
0,13 / 0,13 ptsPergunta 1
A maioria dos softwares de aplicação possui comandos de "Desfazer"
e "Refazer". O primeiro desfaz a última operação ou texto digitado,
https://pucminas.instructure.com/courses/91650/quizzes/288780/history?version=1
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 2/11
enquanto que, o segundo refaz uma operação ou texto desfeito,
conforme sugerem os nomes dos comandos.
Internamente, nos softwares, podem ser usadas duas estruturas de
dados que armazenam as sucessivas operações de "Desfazer" e
"Refazer", de modo que o próximo "Refazer" sempre recupera o último
"Desfazer". Os tipos de estrutura de dados que podem ser usados
para "Desfazer" e "Refazer" são, respectivamente:
 Fila e fila 
 Pilha e pilha 
 Fila e pilha 
 Pilha e fila 
0,13 / 0,13 ptsPergunta 2
O método abaixo deve ser implementado na classe Pilha, que
implementa o tipo abstrato de dados Pilha e suas típicas operações
básicas: pilhaVazia(), empilhar(item) e desempilhar().
 
Esse método deve ser capaz de fazer e retornar uma cópia exata da
pilha.
 // Método capaz de fazer e retornar uma cópia exata da pilha.
 public Pilha copiar() {
 Pilha pilhaCopia, pilhaAux;
 Celula aux;
 
 pilhaCopia = new Pilha();
 pilhaAux = new Pilha();
 
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 3/11
 if (!(pilhaVazia())) {
 I
 while (II) {
 pilhaAux.empilhar(new Item(aux.item.getId()));
 III
 }
 
 while (!pilhaAux.pilhaVazia()){
 IV
 }
 }
 V
 }
 
Analise as alternativas abaixo e indique a única que identifica
corretamente os comandos que devem preencher as lacunas,
numeradas de I a V.
 
I - aux = topo; II - aux != fundo III - aux = aux.proximo; IV -
pilhaCopia.empilhar(pilhaAux.desempilhar()); V - return (pilhaCopia);
 
I - aux = topo; II - aux != fundo III - aux = aux.proximo; IV -
pilhaAux.empilhar(pilhaCopia.desempilhar()); V - return (pilhaAux);
 
I - aux = topo.proximo; II - aux != fundo III – aux++; IV -
pilhaCopia.empilhar(pilhaAux.desempilhar()); V - return (pilhaCopia);
 
I - aux = topo; II - aux != fundo III - aux++; IV - pilhaAux.desempilhar();
V - return (aux);
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 4/11
 
I - aux = topo.proximo; II - aux != null III - aux = aux.proximo; IV -
pilhaCopia.empilhar(pilhaAux.desempilhar()); V - return (pilhaCopia);
0 / 0,13 ptsPergunta 3IncorretaIncorreta
Considere que os números 10, 11, 12, 13 e 14 foram inseridos, nessa
ordem, em uma fila. Esses mesmos números foram inseridos na
mesma ordem em uma pilha. Nesse caso,
 o primeiro elemento a ser removido da pilha é o número 10. 
 o último elemento a ser removido da fila é o número 14. 
 o topo da pilha é o número 10. 
 o número 14 é o primeiro elemento a ser removido da fila. 
0,13 / 0,13 ptsPergunta 4
Considere o tipo abstrato de dados Pilha e suas típicas operações
básicas: vazia(), empilhar(item) e desempilhar().
Considere também o tipo abstrato de dados Fila e suas operações
típicas: vazia(), enfileirar(item), desenfileirar().
Suponha que o TAD Pilha apresente também a operação
concatenar(p1, p2). Os parâmetros dessa operação correspondem às
duas pilhas que serão concatenadas.
A execução dessa operação retornará uma pilha cujo topo será o topo
de p1. Além disso, o topo de p2 ficará imediatamente abaixo do item
que estava no fundo de p1.
 
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 5/11
Qual pseudocódigo abaixo corresponde à descrição da operação
concatenar() conforme indicado acima?
 
// variáveis
var nova: Pilha;
var f: Fila;
 
enquanto (!p1.vazia()) faça
 f.enfileirar(p1.desempilhar());
fim_enquanto
enquanto (!p2.vazia()) faça
 f.enfileirar(p2.desempilhar());
fim_enquanto
enquanto (!f.vazia()) faça
 nova.empilhar(f.desenfileirar);
fim_enquanto
retorne(nova);
 
enquanto (!p1.vazia()) faça
 p2.empilhar(p1.desempilhar());
fim_enquanto
retorne(p2);
 
// variáveis
var nova: Pilha;
 
enquanto (!p1.vazia()) faça
 nova.empilhar(p1.desempilhar());
fim_enquanto
enquanto (!p2.vazia()) faça
 nova.empilhar(p2.desempilhar());
fim_enquanto
retorne(nova);
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 6/11
 
// variáveis
var nova: Pilha;
var f: Fila;
 
enquanto (!p2.vazia()) faça
 f.enfileirar(p2.desempilhar());
fim_enquanto
enquanto (!p1.vazia()) faça
 f.enfileirar(p1.desempilhar());
fim_enquanto
enquanto (!f.vazia()) faça
 nova.empilhar(f.desenfileirar);
fim_enquanto
retorne(nova);
 
// variáveis
var aux: Pilha;
 
enquanto (!p1.vazia()) faça
 aux.empilhar(p1.desempilhar());
fim_enquanto
enquanto (!aux.vazia()) faça
 p2.empilhar(aux.desempilhar());
fim_enquanto
retorne(p2);
0,13 / 0,13 ptsPergunta 5
A pilha é uma estrutura de dados que permite a inserção e a remoção
de dados sempre por meio de regras pré-definidas. Para que essas
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 7/11
operações sejam realizadas, são utilizados dois
métodos: push() e pop().
Com base nessas informações, considere que um programa possua
uma pilha p, inicialmente vazia, e que as seguintes operações foram
realizadas, nesta ordem: p.push(10); p.push(5); p.push(3); p.push(50);
p.pop(); p.push(11); p.push(9); p.push(20); p.pop(); p.pop().
Ao fim da execução desses comandos, quais serão o topo da pilha e o
somatório dos elementos ainda dentro da pilha, respectivamente?
 9 e 38 
 11 e 29 
 3 e 29 
 50 e 68 
 20 e 58 
0,13 / 0,13 ptsPergunta 6
Suponha as seguintes operações de empilhar e desempilhar
realizadas em uma pilha vazia: empilhar(10), empilhar(5), empilhar(7),
desempilhar(), empilhar(13), empilhar(4), desempilhar(), desempilhar(),
desempilhar(), empilhar(1), desempilhar(), desempilhar(). Assinale a
alternativa que contenha a sequência de números que foram
removidos da pilha pela operação de desempilhar na sequência que foi
executada.
 7 - 4 - 13 - 5 - 1 - 10 
 7 - 4 - 10 - 5 - 13 – 1 
 10 - 5 - 13 - 7 - 4 - 1 
 10 - 5 - 7 - 13 - 4 - 1 
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/2887808/11
 5 - 13 - 4 - 10 - 5 - 1 
0 / 0,13 ptsPergunta 7IncorretaIncorreta
Considere o tipo abstrato de dados Pilha e suas típicas operações:
criarPilha(), vazia(), empilhar(item), desempilhar() e copiar().
 
Analise o pseudocódigo abaixo e assinale a alternativa correta:
 
função func(A[]: inteiro; n: inteiro): booleano
// variáveis
var i: inteiro
var pilhaEntrada: Pilha
var pilhaCopia: Pilha;
var pilhaInverso: Pilha;
 
início
 
 pilhaEntrada = criarPilha();
 pilhaInverso = criarPilha();
 
 para i <- 0 até (n - 1), com passo 1, faça
 pilhaEntrada.empilhar(A[i]);
 fim_para
 
 pilhaCopia = pilhaEntrada.copiar();
 
 enquanto (!pilhaCopia.vazia()) faça
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 9/11
 pilhaInverso.empilhar(pilhaCopia.desempilhar());
 fim_enquanto
 
 enquanto (!pilhaEntrada.vazia()) faça
 se (pilhaInverso.desempilhar() != pilhaEntrada.desempilhar())
então
 return falso;
 fim_se
 fim_enquanto
 
 return verdadeiro;
fim
 
A função “func” verifica se o vetor de entrada “A” é simétrico em
relação à posição do meio, ou seja, se ele apresenta a mesma
sequência de inteiros quer seja percorrido de frente para trás ou de trás
para frente.
 
Se a variável “pilhaCopia”, do algoritmo descrito acima, fosse retirada,
juntamente com todo o pseudocódigo que a referencia; nenhuma
alteração seria observada na execução da função, pois pilhaCopia é
preenchida e, em seguida, esvaziada.
 
O TAD Pilha não é o mais adequado para a resolução desse problema.
Deveria ter sido utilizado o TAD Fila para a resolução mais eficaz do
problema proposto.
 
A execução da função “func” sempre retornará verdadeiro, quaisquer
que sejam os parâmetros de entrada.
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 10/11
 
A execução de “func” pode acessar posições de memória não alocadas
anteriormente.
0 / 0,13 ptsPergunta 8IncorretaIncorreta
Suponha uma estrutura de dados do tipo Pilha (“P”) e as operações
básicas desse tipo de estrutura de dados: empilhar(item) e
desempilhar().
Considere também uma estrutura de dados do tipo Fila (“F”) e as
operações básicas desse tipo de estrutura de dados: enfileirar(item) e
desenfileirar().
 
A pilha “P” e a fila “F” possuem originalmente n elementos cada (n >
5).
 
Seja o pseudocódigo abaixo:
 
para i = 1 até n, faça
 P.empilhar(P.desempilhar());
 F.enfileirar(F.desenfileirar());
fim-para
 
Ao final da execução do pseudocódigo acima, os estados finais de “P”
e “F” serão, respectivamente:
 elementos em ordem inversa e elementos em ordem original. 
 elementos em ordem inversa e elementos em ordem inversa. 
 elementos em ordem original e elementos em ordem original. 
18/05/2022 10:07 Exercícios sobre pilhas: ALGORITMOS E ESTRUTURAS DE DADOS II - Engenharia de Software - UNID. EDUC. PRAÇA D…
https://pucminas.instructure.com/courses/91650/quizzes/288780 11/11
 elementos em ordem original e elementos em ordem inversa. 
Pontuação do teste: 0,65 de 1,04

Continue navegando