Ejercicio: 2Eva_IIT2009_T3 Controlar saldos prepago
Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 2Eva_IIT2009_T3 Controlar saldos prepago # Propuesta: edelros@espol.edu.ec # Registrar números de celular con listas celular = [] saldo = [] mensajes = [] opcion = 0 while not(opcion==4): print('1. Ingresar equipo') print('2. Recargar saldo') print('3. transferir saldo') print('4. Salir') opcion = int(input('cual opcion: ')) if (opcion==1): print('INGRESAR equipo') numero = input('numero celular:') celular.append(numero) saldo.append(0) mensajes.append(0) m = len(saldo)-1 texto = str(celular[m])+' '+str(saldo[m]) texto = texto +' '+str(mensajes[m]) print(texto) elif (opcion==2): print('RECARGAR') numero = input('numero celular: ') cantidad = input(' cantidad: ') # Busca el numero de celular m = len(saldo) encontre = -1 i = 0 while (i<m and encontre==-1): if (celular[i]==numero): encontre = i i = i + 1 # si lo encuentra aumenta el saldo if (encontre>=0): saldo[encontre] = int(saldo[encontre]) + int(cantidad) print(encontre) texto = str(celular[encontre])+' '+str(saldo[encontre]) texto = texto + ' ' + str(mensajes[encontre]) print(texto) else: print('numero no registrado') elif (opcion==3): print('TRANSFERIR') donante = input('numero donante : ') receptor = input('numero receptor: ') cantidad = input(' cantidad: ') # Busca el numero de celular donante m = len(saldo) encontreA = -1 i = 0 while (i<m and encontreA==-1): if (celular[i]==donante): encontreA = i i = i + 1 # Busca el numero de celular receptor m = len(saldo) encontreB = -1 i = 0 while (i<m and encontreB==-1): if (celular[i]==receptor): encontreB = i i = i + 1 #revisa condiciones para transferir condicion = encontreA>=0 and encontreB>=0 condicion = condicion and int(saldo[encontreA])>=int(cantidad) if condicion: saldo[encontreA] = int(saldo[encontreA])-int(cantidad) saldo[encontreB] = int(saldo[encontreB])+int(cantidad) print('saldo transferido: '+str(cantidad)) else: if (encontreA==-1): print('no existe registro de donante:') if (encontreB==-1): print('no existe registro de receptor:') elif (opcion==4): print('Gracias por usar el software') else: print('opción no disponible..!')
resultado del algoritmo
1. Ingresar equipo 2. Recargar saldo 3. transferir saldo 4. Salir cual opcion: 1 INGRESAR equipo numero celular:987 987 0 0 1. Ingresar equipo 2. Recargar saldo 3. transferir saldo 4. Salir cual opcion: 1 INGRESAR equipo numero celular:876 876 0 0 1. Ingresar equipo 2. Recargar saldo 3. transferir saldo 4. Salir cual opcion: 2 RECARGAR numero celular: 987 cantidad: 5 0 987 5 0 1. Ingresar equipo 2. Recargar saldo 3. transferir saldo 4. Salir cual opcion: 2 RECARGAR numero celular: 876 cantidad: 1 1 876 1 0 1. Ingresar equipo 2. Recargar saldo 3. transferir saldo 4. Salir cual opcion: 3 TRANSFERIR numero donante : 987 numero receptor: 876 cantidad: 3 saldo transferido: 3 1. Ingresar equipo 2. Recargar saldo 3. transferir saldo 4. Salir cual opcion: 4 Gracias por usar el software >>>