HELP ALGUE matriz de 10 × 8, impressa em um papel. A matriz representa a distribuição das mesas no salão
HELP ALGUE matriz de 10 × 8, impressa em um papel. A matriz representa a distribuição das mesas nosalão do restaurante. Para controle interno, cada mesa é identificada por um valor numérico
sequencial, que inicia em 1 e termina em 80. Então, quando um cliente liga para reservar uma
mesa, a célula da matriz que contém o número da mesa é riscada.
Para facilitar a tarefa dos colaboradores do restaurante, foi solicitado
que os alunos de Algoritmos e Programação desenvolvessem um programa para controlar as reservas das mesas. Assim
como ocorre no processo manual, a distribuição das mesas no salão deve ser controlada por
uma matriz. No entanto, na matriz criada com Python, não se deve gerenciar as mesas pelo
número, pois isso obrigaria o programa a percorrer parte da matriz para marcar uma mesa
como reservada. No programa, ao invés de buscar pelo número, deve-se fazer a conversão do
número da mesa para a posição na matriz (linha e coluna). Por exemplo, a mesa de número
1, deve ser representada pela célula da matriz que está na linha 0 e na coluna 0. Do mesmo
modo, a última mesa, identificada como 80, deve ser representada pela linha 9 e coluna 7 da
matriz. As mesas reservadas devem ser assinaladas na matriz com o valor “True” (ou 1), e as
desocupadas com “False” (ou 0). Neste caso, você deve optar por uma matriz do tipo “bool” ou
“int”. Com base nessas definições, faça um programa que:
• faça uma reserva, sendo fornecido o número de identificação da mesa.
Exemplo: Se o usuário informar como identificador o valor 51, este estará pedindo a
reserva da mesa que se encontra na célula situada na linha 6 e na coluna 2 da
matriz.
– caso seja solicitada a reserva de uma mesa que já está reservada, o usuário deve ser
informado.
• cancele uma reserva, sendo fornecido o número de identificação da mesa.
• liste os identificadores das mesas livres para o usuário;
• apresente os totais de mesas livres e de mesas ocupadas;
• o programa deve ser gerenciado por meio de um menu, que apresentará para o usuário
todas as opções descritas acima, para que ele escolha a ação desejada. Além disso, o menu
deverá apresentar uma opção de saída, para encerrar o programa.
Exemplo:
- - - - - MENU - - - - -
1. Reservar mesa
2. Remover reserva de mesa
3. Listar as mesas livres
4. Apresentar os totalizadores
0. Sair
Selecione a opção desejada:
DICA: Para converter o número de uma mesa m para o endereço de matriz, faz-se necessário
computar o índice de linha l, que é dado pela seguinte equação:
l = (m − 1)//8, (1)
onde o operador // corresponde a divisão inteira. Além disso, deve-se computar o índice de
coluna c, que é determinado por:
c = (m − 1)%8, (2)
onde o operador % corresponde a divisão por resto.
Tay está aguardando sua ajuda, Clique aqui para responder.