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!

Exercícios relacionados