Lista 05 - Pilhas
Essa lista tem como objetivo fixar os conceitos de pilha, bem como a implementação de suas operações básicas.
Exercício 01
Seção intitulada “Exercício 01”Implementar em linguagem Python o pseudocódigo do algoritmo Pilha visto na Aula 04. Faça também:
- Teste o método
pilhaVazia()através do métododesempilhar(); - Demonstre o empilhamento de cada um dos caracteres que compõem o seu primeiro nome;
- Teste o método
pilhaCheia()através do métodoempilhar(valor); - Após executar as operações anteriores, demonstre qual elemento está no topo da Pilha;
- Execute o método
desempilhar()por três vezes e verifique qual elemento está no topo da Pilha.
Exercício 02
Seção intitulada “Exercício 02”Suponha que você insira a sequência S, A, T, C em uma Pilha. Então você desempilha três elementos. Qual o valor do atributo topo da Pilha?
Exercício 03
Seção intitulada “Exercício 03”- Qual critério é utilizado para saber se uma Pilha está vazia?
- Qual critério é utilizado para saber se uma Pilha está cheia?
- Qual é o valor do atributo
topoquando a Pilha está vazia? - Qual é o valor do atributo
topoquando a Pilha está cheia? - Qual é o valor do atributo
topoquando a Pilha contém apenas um elemento?
Exercício 04
Seção intitulada “Exercício 04”Durante as aulas, usamos as nomenclaturas em português para nos referirmos aos métodos da Pilha. No entanto, na literatura, é comum encontrar os nomes em inglês. Preencha a tabela abaixo com os nomes em inglês correspondentes aos nomes em português:
| Nome em Português | Nome comum usado em Inglês |
|---|---|
Pilha |
|
empilhar |
|
desempilhar |
|
esta_vazia |
|
esta_cheia |
|
topo |
|
capacidade |
Exercício 05
Seção intitulada “Exercício 05”Utilizando a classe Pilha implementada no Exercício 01, resolva os desafios abaixo:
-
Inversão de Palavra: receba uma palavra e utilize a Pilha para exibi-la invertida;
- Entrada:
COMPILADOR→ Saída:RODALIPMOC - Entrada:
BYTE→ Saída:ETYB
- Entrada:
-
Palíndromo: receba uma palavra e utilize a Pilha para verificar se ela é um palíndromo (palavra lida da mesma forma de trás para frente);
- Entrada:
ARARA→ Saída:É um palíndromo - Entrada:
PROGRAMA→ Saída:Não é um palíndromo
- Entrada:
-
Balanceamento de Parênteses: receba uma expressão matemática e utilize a Pilha para verificar se os parênteses estão balanceados;
- Entrada:
(a + b) * (c - d)→ Saída:Parênteses balanceados - Entrada:
((a + b) * (c - d)→ Saída:Parênteses desbalanceados
- Entrada: