Ejercicio: 3Eva_IIT2009_T2 Registrar alquiler de casilleros
Propuesta de solución en Python: py_pdf, también incluye versión en matlab: m_pdf
Para implementar el menú se puede usar la estructura: if … elif… elif… else.
Un casillero de uso común se direcciona por fila y columna numeradas desde el 1, por lo que se realizará la corrección de desplazamiento al ingresar el dato de fila-1 y columna-1 para que sea transparente para el usuario.
Tarea: Validar que los índices de casilla ingresados se encuentren dentro del rango de la matriz casilleros, pues si se ingresa valores fuera de rango el programa se detiene con un error.
Instrucciones en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IIT2009_T2 Registrar alquiler de casilleros # propuesta: edelros@espol.edu.ec # tarea: validar indices en rango de matriz import numpy as np n = int(input('filas de casilleros: ')) m = int(input('columnas de casilleros: ')) # inicializa casilleros con ceros # usa fila y columna cero, desplazando el indice casillero = np.zeros(shape=(n,m),dtype=int) opcion = '0' while not(opcion=='5'): print('1. Asignar casillero') print('2. Devolver casillero') print('3. consultar casillero') print('4. EstadÃsticas') print('5. salir') opcion = input(' Cual opcion: ') if (opcion=='1'): print('ASIGNAR ') f = int(input('fila: ')) c = int(input('columna: ')) dato = int(input('dato:')) if (casillero[f-1,c-1]==0): casillero[f-1,c-1] = dato print('casillero asignado') else: print('** casillero ocupado, solicite otro.. **') elif (opcion=='2'): print('DEVOLVER') f = int(input('fila: ')) c = int(input('columna: ')) dato = int(input('dato:')) if (casillero[f-1,c-1]==dato): casillero[f-1,c-1] = 0 print('casillero liberado') else: print('el casillero no corresponde al dato') elif (opcion=='3'): print('CONSULTAR') print(casillero) elif (opcion=='4'): print('ESTADISTICAS') ocupado = 0 libre = 0 for f in range(0,n,1): for c in range(0,m,1): if (casillero[f,c]==0): libre = libre + 1 else: ocupado = ocupado + 1 print('casilleros ocupados: '+str(ocupado)) print('casilleros libres: '+str(libre)) elif (opcion=='5'): print('gracias por usar el software') else: print('opcion no existe')