s3Eva_IIT2009_T2 Registrar alquiler de casilleros

Ejercicio3Eva_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')

ejercicios resueltos Python 3eva_iit2009_t2 pdf

ejercicios resueltos Matlab 3eva_iit2009_t2 pdf