Uma fábrica de enchimento de sumos precisa de comprar novas máquinas para uma das fases finais da sua produção. Antes da compra, o concelho de administradores decidiu mandar desenvolver uma simulação para aferir o nível da produção. A simulação consiste no enunciado descrito na Visão Geral, tendo em conta as instruções, implementação, pontuação e penalizações descritas neste documento. Crie um programa que permita empilhar duas caixas de cada vez na pilha apropriada para cada sabor. Não é permitido empilhar sumo de laranja na pilha do sumo de ananás e vice-versa.
Passo 1
Beleza, vamos lá! O exercício fala sobre uma fábrica que produz sumos e precisa comprar novas máquinas. Antes disso, os administradores querem fazer uma simulação para ver como a produção vai fluir. A ideia é criar um programa que empilhe duas caixas de cada vez nas pilhas certas para cada sabor de sumo. Ah, e não dá pra misturar sumo de laranja na pilha de ananás, nem o contrário. Para resolver isso, vamos usar o conceito de estruturas de dados, mais especificamente pilhas.
Passo 2
Primeiro, vamos entender o que é uma pilha. Pense numa pilha de pratos: você coloca um prato de cada vez em cima e também retira o de cima primeiro. Em programação, uma pilha funciona assim: Last In, First Out (LIFO), ou seja, o último que entra é o primeiro a sair. Aqui, vamos usar pilhas para manter as caixas de cada sabor separadas.
Passo 3
Precisamos criar duas pilhas: uma para sumo de laranja e outra para sumo de ananás. Cada vez que tivermos duas caixas, vamos decidir a qual pilha elas vão para manter tudo organizado e evitar misturar os sabores. Se tentarmos empilhar um sabor na pilha errada, o programa deve impedir.
Passo 4
Vamos precisar de algumas ferramentas para isso:
- Estrutura de Pilha: pode ser implementada usando listas em Python, por exemplo.
- Funções de Push e Pop: para adicionar e remover caixas das pilhas.
- Condições: para verificar qual pilha usar e evitar misturas de sabores.
Passo 5
Agora, vamos colocar tudo em prática com um exemplo de código em Python:
# Definindo a classe Pilha
class Pilha:
def __init__(self):
self.itens = []
def push(self, item):
self.itens.append(item)
def pop(self):
if not self.esta_vazia():
return self.itens.pop()
else:
return None
def esta_vazia(self):
return len(self.itens) == 0
def tamanho(self):
return len(self.itens)
# Criando pilhas para cada sabor
pilha_laranja = Pilha()
pilha_ananas = Pilha()
# Função para empilhar caixas
def empilhar_caixas(sabor, caixas):
if sabor == 'laranja':
pilha = pilha_laranja
elif sabor == 'ananás':
pilha = pilha_ananas
else:
print("Sabor desconhecido!")
return
for caixa in caixas:
pilha.push(caixa)
print(f"Caixa {caixa} adicionada na pilha de {sabor}.")
# Exemplo de uso
empilhar_caixas('laranja', ['Caixa1', 'Caixa2'])
empilhar_caixas('ananás', ['Caixa3', 'Caixa4'])
Resposta
Com esse programa, você consegue empilhar duas caixas de cada vez no sabor correto, garantindo que não haja mistura entre sumo de laranja e ananás. Basta chamar a função
empilhar_caixas
com o sabor desejado e a lista das caixas que você quer adicionar. Se tentar adicionar um sabor diferente na pilha errada, o programa vai avisar que o sabor é desconhecido!