Período
01/05/2025Status
AbertoNota máxima
100,00%Data Final
valendo 100% da notaFinalizado
NãoNota obtida
100%Data Gabarito/ Feedback
a definirData e Hora Atual
Horário de BrasíliaFinalizado em
31/12/2030Parte 2 — Apresentação do Problema (Estudo de Caso)
O Supermercado Bom Preço, localizado na sua cidade, está passando por um processo de modernização. O gerente, Sr. Cláudio Menezes, identificou que o setor do açougue tem enfrentado sérios problemas relacionados à organização do atendimento dos clientes. Atualmente, há
confusões frequentes sobre quem deve ser atendido primeiro, o que tem causado insatisfação dos consumidores.
Diante disso, o gerente solicitou um sistema simples que organize uma fila de atendimento no balcão do açougue. Esse sistema deverá permitir que os clientes retirem uma senha e sejam chamados conforme a ordem de chegada.
Você recebeu o código-fonte inicial de um aluno chamado "Murilo Luz", que desenvolveu uma versão funcional do sistema. No entanto, é necessário que você interprete o código, pois o mesmo contém alguns erros.
1 | from collections import deque
2 |
3 |
4 | def menu():
5 | print("\n--- Sistema de Controle de Fila - Açougue Bom Preço ---")
6 | print("1 - Retirar Senha")
7 | print("2 - Chamar Próxima Senha")
8 | print("3 - Mostrar Fila Atual")
9 | print("4 - Sair")
10 | return input("Escolha uma opção: ")
11 |
12 |
13 | # Inicialização da fila
14 | fila = deque()
15 | contador_senha = 0
16 |
17 |
18 | while True:
19 | opcao = menu()
20 |
21 | if opcao == '1':
22 | contador_senha = 1
23 | senha = f"A{contador_senha}"
24 | fila.end(senha)
25 | print(f"Senha {senha} retirada com sucesso!")
26 |
27 |
28 | elif opcao == '2':
29 | if fila:
30 | senha_chamada = popleft()
31 | print(f"Atenção! Senha chamada: {senha_chamada}")
32 | else:
33 | print("Fila vazia. Nenhuma senha para chamar.")
34 |
35 |
36 | elif opcao == '3':
37 | if fila:
38 | print("Fila atual de senhas: ", fila.list)
39 | else:
40 | print("Fila vazia.")
41 |
42 |
43 | elif opcao == '4':
44 | print("Sistema encerrado. Obrigado por utilizar!")
45 | break
46 |
47 |
48 | else:
49 | print("Opção inválida. Tente novamente.")
Problemas identificados:
1 - Ao retirar a senha sempre é atribuída a senha 1 para todos os clientes.
2 - Não estão sendo atribuídas novas senhas a lista.
2 - Ao chamar uma senha, a fila não é alterada.
4 - Ao pedir para ver a fila completa, esta não aparece.
Mapas Relacionados