Um programa Python utiliza um arranjo bidimensional de caracteres (string de tamanho 1) de nome Lugares, para guardar o estado das poltronas de um cinema, no qual as cadeiras estão dispostas em L linhas e C colunas.
OBS: Escreva APENAS o código solicitado em cada item. Não é permitido o uso de Listas.
a) Escreva o código Python para criar o arranjo Lugares de dimensões L x C. Após a criação do arranjo, todos os valores devem ser iguais ao caractere ’ \mathbf{D} ’ ( \mathbf{D}= disponível), indicando que todos os lugares estão vazios ou disponíveis para venda:
import numpy as np
L = 20 # número de filas (linhas) do cinema = número de linhas do arranjo
C = 15 # número de poltronas em uma fila = número de colunas do arranjo
b) Considere a função encontraLugar mostrada a seguir, que recebe um arranjo bidimensional (M), o número de uma fila (fila) e o número total de colunas (numcol) do arranjo bidimensional.
def encontraLugar(M, fila, numcol):
for k in range (0, numcol):
if M[fila][k] == 'D' : # lugar disponível?
return k
return -1
As afirmativas a seguir estão relacionadas com a função encontraLugar e o seu uso com o arranjo Lugares definido no item a. Marque \underline{\mathbf{V}} para a(s) afirmativa(s) verdadeira(s) ou \mathbf{F} para a(s) falsa(s).
( ) A função encontraLugar percorre apenas uma linha do arranjo bidimensional.
( ) É correto utilizar a função encontraLugar com o comando:
x = encontraLugar(Lugares, L, C)
( ) A função encontraLugar retorna o número de lugares disponíveis na fila especificada ( ) É correto utilizar a função encontraLugar com os comandos abaixo:
if encontraLugar(Lugares, 1, C) == -1 :
print('Fila Lotada')
else :
print('Cadeira %d disponível' %(encontraLugar(Lugares, 1, C) +1))
Passo 1
O enunciado pede:
a) criar um arranjo NumPy bidimensional chamado Lugares de tamanho L\times C, inicializando todos os elementos com o caractere 'D'.
b) julgar quatro afirmativas sobre a função encontraLugar(M, fila, numcol).
Passo 2
Para criar o arranjo sem usar listas, podemos usar np.full, que preenche uma matriz com um valor constante:
Analisando cada afirmativa: 1) A função percorre apenas uma linha do arranjo \to verdadeira (V). 2) Chamar x = encontraLugar(Lugares, L, C)\to falsa (F), pois \text{fila} vai de 0 a L-1; usar índice L dá erro. 3) A função retorna o número de lugares disponíveis na fila \to falsa (F), ela retorna o índice do primeiro lugar disponível ou -1. 4) Usar \text{if encontraLugar}(Lugares,1,C) == -1: … else: … \to verdadeira (V), é a forma correta de testar e exibir a cadeira.