Pilhas – Python
Pilha
Definição de Pilha: Estrutura para armazenar um conjunto de dados, que funciona da seguinte forma:
- Novos elementos sempre entram no “topo” da pilha;
- O único elemento que pode ser retirado da pilha é o elemento do topo.
Comandos call:
- Empilhar (push);
- Desempilhar (pop).
Exemplo: Implemente um programa que realize a conversão de um número decimal para binário usando pilha.
Primeiramente você deverá criar a classe Pilha:
class Pilha():# definir a função init para inicialização de uma listadef __init__(self):self.data = []# definir a função push para adicionar elementosdef push(self, x):self.data.append(x)# definir a função pop para remover o último elemento da listadef pop(self):if len(self.data) > 0:return self.data.pop(-1)# consultar o elemento do topo da listadef top(self):if len(self.data) > 0:return self.data[-1]# verificar se a pilha está vaziadef empty(self):return not len(self.data) > 0
Depois de criar a classe Pilha, então deverá criar um Objeto “p” e nele empilhar os restos da divisão sucessiva do número decimal (Exemplo 25) por 2.
p = Pilha()
num = 25 # Número na base 10 que será convertido para binário
# Efetuar divisões sucessivas por 2 e empilhar os restos
while num > 0:
resto = num % 2
num = num // 2
p.push(resto)
# Enquanto a lista não for vázia mostar algarismos)
while not p.empty():
print (p.pop())
O resultado esperado será o número binário 11001.
1 1 0 0 1
Download: http://valci.com.br/download/notebook/Pilha-Converter_numero_decimal_em_binario.ipynb
