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 etiquetar as caixas que estão no tapete rolante circular, colocando uma etiqueta nas caixas que já foram validadas. Se a caixa escolhida não estiver validada, deve ocorrer primeiro a validação e depois a etiquetagem.

Passo 1

Beleza, vamos resumir o que a questão está pedindo. Temos uma fábrica que produz sumos e quer atualizar suas máquinas. Antes de comprar, os administradores querem fazer uma simulação para ver como está a produção. A tarefa aqui é criar um programa que etiqueta as caixas que estão passando por um tapete rolante circular. Mas só vamos colocar etiqueta nas caixas que já foram validadas. Se a caixa que escolhermos ainda não foi validada, primeiro a gente valida ela e depois coloca a etiqueta. Para resolver isso, vamos precisar entender como representar as caixas no programa, como verificar se elas estão validadas e como etiquetá-las.

Passo 2

Primeiro, vamos pensar em como representar as caixas. Podemos usar uma lista (ou array) onde cada posição representa uma caixa no tapete rolante. Cada caixa pode ter dois estados: “validada” ou “não validada” e “etiquetada” ou “não etiquetada”. Podemos usar objetos ou dicionários para isso, mas para simplificar, vamos usar uma lista de tuplas onde cada tupla tem dois valores: o primeiro indica se está validada e o segundo se está etiquetada.

Passo 3

Agora, precisamos de uma função para validar uma caixa. Validar significa, basicamente, marcar a caixa como “validada”. Vamos criar uma função chamada validar_caixa que recebe o índice da caixa na lista e muda o primeiro valor da tupla para True.
def validar_caixa(caixa):
    caixa[0] = True

Passo 4

Depois, precisamos de uma função para etiquetar uma caixa. Essa função vai verificar se a caixa está validada. Se estiver, coloca a etiqueta mudando o segundo valor da tupla para True. Se não estiver validada, primeiro chama a função de validar e depois etiqueta.
def etiquetar_caixa(caixa):
    if not caixa[0]:
        validar_caixa(caixa)
    caixa[1] = True

Passo 5

Agora, vamos criar o tapete rolante. Suponha que temos 10 caixas no tapete. Inicialmente, todas estão não validadas e não etiquetadas.
tapete_rolante = [[False, False] for _ in range(10)]

Passo 6

Por último, vamos etiquetar uma caixa específica. Vamos escolher a caixa de índice 3 (a quarta caixa, já que a lista começa em 0). Chamamos a função etiquetar_caixa passando essa caixa.
etiquetar_caixa(tapete_rolante[3])

Resposta

Após executar o programa, a quarta caixa no tapete rolante estará validada e etiquetada. O estado dela será [True, True].

Exercícios relacionados