8. Terminar simulação
a. No final da simulação deve ser gerada a seguinte informação em ficheiros:
i. quantidade de caixas etiquetadas por cada sabor e o total;
ii. quantidade de caixas descartadas de cada tipo e total;
iii. lucro previsto por cada sabor;
iv. prejuízo por cada sabor.
b. Depois de gerar os relatórios, as estruturas criadas serão destruídas. Se o utilizador desejar, pode iniciar uma nova simulação.
i. quantidade de caixas etiquetadas por cada sabor e o total;
ii. quantidade de caixas descartadas de cada tipo e total;
iii. lucro previsto por cada sabor;
iv. prejuízo por cada sabor.
b. Depois de gerar os relatórios, as estruturas criadas serão destruídas. Se o utilizador desejar, pode iniciar uma nova simulação.
Passo 1
Beleza, vamos entender o que a questão está pedindo. A gente precisa terminar uma simulação e, no fim, gerar alguns relatórios em arquivos com informações específicas sobre as caixas etiquetadas, descartadas, lucro e prejuízo por sabor. Depois disso, vamos limpar as estruturas usadas na simulação e, se o usuário quiser, permitir iniciar uma nova simulação. Para resolver isso, vamos precisar lidar com contagem de itens, cálculos de lucro/prejuízo e manipulação de arquivos.
Passo 2
Primeiro, precisamos contabilizar a quantidade de caixas etiquetadas por cada sabor e o total. Para isso, teremos que ter uma estrutura (como um dicionário) que armazene cada sabor e sua respectiva contagem. Por exemplo:
caixas_etiquetadas = {
"sabor1": 100,
"sabor2": 150,
"sabor3": 200
}
Aqui,
caixas_etiquetadas
guarda quantas caixas de cada sabor foram etiquetadas. Para o total, somamos todas as quantidades.Passo 3
Agora, vamos contar a quantidade de caixas descartadas de cada tipo e o total. Similar ao passo anterior, usamos uma estrutura para armazenar esses dados:
caixas_descartadas = {
"tipo1": 10,
"tipo2": 5,
"tipo3": 8
}
Somando todos os valores, temos o total de caixas descartadas.
Passo 4
Vamos calcular o lucro previsto por cada sabor. Para isso, precisamos saber o preço de venda de cada caixa e subtrair os custos associados. A fórmula básica seria:
Por exemplo, se o sabor1 tem um preço de venda de R$20 e o custo é R$12:
lucro_sabor1 = (20 - 12) * caixas_etiquetadas["sabor1"]
Fazemos isso para cada sabor e armazenamos os lucros.
Passo 5
Agora, o prejuízo por cada sabor. O prejuízo pode vir de caixas descartadas ou de custos adicionais. Supondo que cada caixa descartada gera um prejuízo de R$5:
Exemplo:
prejuizo_sabor1 = caixas_descartadas["tipo1"] * 5
Fazemos para cada tipo e totalizamos.
Passo 6
Com todos os dados calculados, vamos gerar os relatórios em arquivos. Podemos criar um arquivo para cada tipo de informação ou um único arquivo com todas elas. Usando Python, por exemplo:
with open("relatorio_simulacao.txt", "w") as arquivo:
arquivo.write("Quantidade de caixas etiquetadas por sabor:\n")
for sabor, quantidade in caixas_etiquetadas.items():
arquivo.write(f"{sabor}: {quantidade}\n")
arquivo.write(f"Total: {sum(caixas_etiquetadas.values())}\n\n")
arquivo.write("Quantidade de caixas descartadas por tipo:\n")
for tipo, quantidade in caixas_descartadas.items():
arquivo.write(f"{tipo}: {quantidade}\n")
arquivo.write(f"Total: {sum(caixas_descartadas.values())}\n\n")
arquivo.write("Lucro previsto por sabor:\n")
for sabor, lucro in lucros.items():
arquivo.write(f"{sabor}: R${lucro}\n")
arquivo.write(f"Total Lucro: R${sum(lucros.values())}\n\n")
arquivo.write("Prejuízo por sabor:\n")
for sabor, prejuizo in prejuizos.items():
arquivo.write(f"{sabor}: R${prejuizo}\n")
arquivo.write(f"Total Prejuízo: R${sum(prejuizos.values())}\n")
Passo 7
Depois de gerar os relatórios, precisamos destruir as estruturas criadas durante a simulação para liberar memória. Em linguagens como Python, isso pode ser feito deletando as variáveis:
del caixas_etiquetadas
del caixas_descartadas
del lucros
del prejuizos
Passo 8
Por fim, vamos permitir que o usuário inicie uma nova simulação se desejar. Podemos perguntar ao usuário e, se ele quiser, recomeçar o processo:
resposta = input("Deseja iniciar uma nova simulação? (s/n): ")
if resposta.lower() == 's':
iniciar_simulacao() # Função que inicia a simulação novamente
else:
print("Simulação encerrada.")
Resposta
Seguindo esses passos, conseguimos encerrar a simulação gerando todos os relatórios necessários sobre as caixas etiquetadas, descartadas, lucro e prejuízo por sabor. Além disso, limpamos as estruturas usadas e oferecemos a opção de iniciar uma nova simulação caso o usuário deseje.