예제 #1
0
class Restaurante:
    def __init__(self):
        self.entrada = Fila()
        self.mesas = [Mesa(), Mesa(), Mesa(), Mesa()]
        self.caixas = [Fila(), Fila()]
        self.tempo = 2

    def localiza_mesa_disponivel(self):
        for mesa in self.mesas:
            if (mesa.verificarSeDesocupada()):
                return mesa
        return

    def recepcionar_adicionar_clientes_mesa(self, clientes):
        for mesa in self.mesas:
            if (mesa.verificarSeDesocupada()):
                mesa.ocupar(clientes)
                return
        return clientes

    def remover_clientes_mesa(self, mesa):
        clientes = mesa.desocupar()
        self.adicionar_fila_caixa(clientes)

    def adicionar_fila_caixa(self, clientes):
        if self.caixas[0].obter_tamanho() <= self.caixas[1].obter_tamanho():
            self.caixas[0].adicionar(clientes)
        else:
            self.caixas[1].adicionar(clientes)

    def remover_fila_caixa(self):
        if (self.caixas[0].fim != -1):
            return self.caixas[0].remover()
        elif (self.caixas[1].fim != -1):
            return self.caixas[1].remover()
        else:
            return

    def adicionar_fila_entrada(self, clientes):
        self.entrada.adicionar(clientes)

    def remover_fila_entrada(self):
        return self.entrada.remover()
예제 #2
0
from fila import Fila
from pilha import Pilha
from listaencadeada import Lista_Encadeada

#Teste da fila
print('Teste da fila')
f = Fila()
f.inserir(10)
f.inserir(20)
f.inserir(30)
print(f.retornar_lista())
f.remover()
print(f.retornar_lista())

# Teste da pilha
print('Teste da pilha')
p = Pilha()
p.inserir(10)
p.inserir(20)
p.inserir(30)
print(p.retornar_lista())
p.remover()
print(p.retornar_lista())

#Teste da lista encadada
print('Teste da lista encadada')
e = Lista_Encadeada()
e.inserir(0, 10)
e.inserir(0, 20)
e.inserir(1, 30)
print(e.retornar_lista())
from fila import Fila

fila_sem_max = Fila()

# testando inserir em fila sem maximo de elementos definidos.
print("fila sem maximo de elementos definidos")
fila_sem_max.inserir("Joker")
fila_sem_max.inserir("Bruce Wayne")
fila_sem_max.inserir("James Gordon")
fila_sem_max.inserir("Selina")
print(fila_sem_max)

# testando inserir em fila com maximo de elementos definidos.
fila_com_max = Fila(max_tamanho=5)
fila_com_max.inserir("Comedian")
fila_com_max.inserir("Spectral")
fila_com_max.inserir("Sally Jupiter")
fila_com_max.inserir("Roschach")
fila_com_max.inserir("Night Owl")
print("fila com maximo de elementos definidos")
print(fila_com_max)

try:
    fila_com_max.inserir("Manhattan")
except Exception:
    print("A fila está cheia")

for i in range(fila_sem_max.tamanho()):
    print(fila_sem_max.remover())
예제 #4
0
from fila import Fila

fila1 = Fila()
fila1.inserirDado(0)
fila1.inserirDado(1)
fila1.inserirDado(2)
print(fila1.getFila())

fila1.remover()
print(fila1.getFila())
fila1.removerDado(2)

tam = fila1.tamanhoFila()
if (tam != 0):
    print(fila1.getFila())
else:
    print("Lista Vazia")