Sinu 152 - Trabajo Final 1 1
Sinu 152 - Trabajo Final 1 1
Sinu 152 - Trabajo Final 1 1
Curso
Introducción a
las Tecnologías
de la Información
Tecnologías de la
Información
Introducción a las Tecnologías de la Información
OBJETIVO GENERAL
Al finalizar el módulo formativo, el estudiante tendrá los conocimientos y
práctica necesaria para el entendimiento e identificación de los recursos
tecnológicos de las tecnologías de la información.
Imagen
1
Introducción a las Tecnologías de la Información
Imagen
2
Introducción a las Tecnologías de la Información
Entregable 01:
Codificar en el programa del cajero automático usando las estructuras
de control condicional para gestionar los diferentes tiempos de
clientes.
import datetime
import getpass
class Cajero:
def __init__(self):
self.monto = 50000
print("NOMBRE DEL ALUMNO: ")
self.nombre = input()
print("¡¡MUY BIEN!!: " + self.nombre)
self.usr = input("TU ID: ")
self.passw = getpass.getpass("Tu contraseña: ")
self.mostrar_fecha_hora()
self.mostrar_bienvenida()
def mostrar_fecha_hora(self):
ahora = datetime.datetime.now()
print(ahora)
print(type(ahora))
print("\n")
def mostrar_bienvenida(self):
print("******************************************")
print('BIENVENIDO A SU CAJERO AUTOMATICO SENATI')
print("******************************************")
def operaciones(self):
control = 0
while control == 0:
opcion = int(input('''
---------------------------------------------------
POR FAVOR INDIQUE QUE OPERACION DESEA REALIZAR..
1. CONSULTAR BALANCE
2. DEPOSITO A CUENTA
3. RETIRO DE EFECTIVO
4. SALIR
def consultabalance(self):
print('SU BALANCE DISPONIBLE ES: ', self.monto)
print('DESEA REALIZAR OTRA OPERACION?')
def depositar(self):
deposito = int(input('INDIQUE LA CANTIDAD A DEPOSITAR.. '))
self.monto += deposito
print("Depósito realizado. Nuevo balance: ", self.monto)
def retirar(self):
retiro = int(input('INDIQUE LA CANTIDAD A RETIRAR.. '))
while retiro > self.monto:
print('''USTED NO POSEE FONDOS SUFICIENTES PARA ESTE RETIRO
POR FAVOR INTENTE DE NUEVO..
--------------------------------------------''')
retiro = int(input('INDIQUE LA CANTIDAD A RETIRAR.. '))
self.monto -= retiro
print('CANTIDAD RETIRADA: ', retiro)
print("Nuevo balance: ", self.monto)
def salir(self):
print('=======================================')
print("ESTIMADO ALUMNO GRACIAS POR USAR NUESTROS SERVICIOS!" )
print('=======================================')
ejecucion = Cajero()
ejecucion.operaciones()
import datetime
import getpass
Introducción a las Tecnologías de la Información
class Cajero:
def __init__(self):
self.monto = 50000
self.nombre = ""
self.usr = ""
self.passw = ""
def solicitar_datos_usuario(self):
print("NOMBRE DEL ALUMNO: ")
self.nombre = input()
print("¡¡MUY BIEN!!: " + self.nombre)
def iniciar_sesion(self):
intentos = 0
while intentos < 3:
usr = input("TU ID: ")
passw = getpass.getpass("Tu contraseña: ")
# Aquí se puede implementar la lógica de verificación. Simulamos una
verificación.
if usr == "usuario" and passw == "contraseña": # Aquí debes ajustar las
credenciales esperadas
return True
else:
print("ID o contraseña incorrecta. Intente de nuevo.")
intentos += 1
print("Número máximo de intentos alcanzado. Programa finalizado.")
return False
def mostrar_fecha_hora(self):
ahora = datetime.datetime.now()
print(ahora)
def mostrar_bienvenida(self):
print("******************************************")
print('BIENVENIDO A SU CAJERO AUTOMATICO SENATI')
print("******************************************")
def operaciones(self):
control = 0
while control == 0:
opcion = int(input('''
---------------------------------------------------
POR FAVOR INDIQUE QUE OPERACION DESEA REALIZAR..
1. CONSULTAR BALANCE
2. DEPOSITO A CUENTA
3. RETIRO DE EFECTIVO
4. SALIR
def consultabalance(self):
print('SU BALANCE DISPONIBLE ES: ', self.monto)
def depositar(self):
deposito = int(input('INDIQUE LA CANTIDAD A DEPOSITAR.. '))
self.monto += deposito
print("Depósito realizado. Nuevo balance: ", self.monto)
def retirar(self):
retiro = int(input('INDIQUE LA CANTIDAD A RETIRAR.. '))
while retiro > self.monto:
print("USTED NO POSEE FONDOS SUFICIENTES PARA ESTE RETIRO")
retiro = int(input('INDIQUE LA CANTIDAD A RETIRAR.. '))
self.monto -= retiro
print('CANTIDAD RETIRADA: ', retiro)
print("Nuevo balance: ", self.monto)
def salir(self):
print("=======================================")
print("ESTIMADO ALUMNO GRACIAS POR USAR NUESTROS SERVICIOS!")
print('=======================================')
def main():
numero_de_clientes = 3 # Define la cantidad de clientes a atender
for _ in range(numero_de_clientes):
cajero = Cajero()
cajero.solicitar_datos_usuario()
if cajero.iniciar_sesion():
cajero.mostrar_fecha_hora()
cajero.mostrar_bienvenida()
cajero.operaciones()
else:
break # Finaliza el programa si fallan los intentos de inicio de sesión
main()
Entregable 02:
Codificar en el programa del cajero automático usando funciones,
argumentos y parámetros.
Introducción a las Tecnologías de la Información
import datetime
import getpass
class Cajero:
def __init__(self, monto_inicial=50000):
self.monto = monto_inicial
def solicitar_datos_usuario(self):
print("NOMBRE DEL ALUMNO: ")
nombre = input()
print("¡¡MUY BIEN!!: " + nombre)
return nombre
def mostrar_fecha_hora(self):
ahora = datetime.datetime.now()
print(ahora)
def seleccionar_operacion(self):
opcion = int(input('''
---------------------------------------------------
POR FAVOR INDIQUE QUE OPERACION DESEA REALIZAR:
1. CONSULTAR BALANCE
2. DEPOSITO A CUENTA
3. RETIRO DE EFECTIVO
4. SALIR
Introducción a las Tecnologías de la Información
def consultar_balance(self):
print('SU BALANCE DISPONIBLE ES: ', self.monto)
def depositar(self):
deposito = int(input('INDIQUE LA CANTIDAD A DEPOSITAR: '))
self.monto += deposito
print("Depósito realizado. Nuevo balance: ", self.monto)
def retirar(self):
retiro = int(input('INDIQUE LA CANTIDAD A RETIRAR: '))
while retiro > self.monto:
print("USTED NO POSEE FONDOS SUFICIENTES PARA ESTE RETIRO.")
retiro = int(input('INDIQUE LA CANTIDAD A RETIRAR: '))
self.monto -= retiro
print('CANTIDAD RETIRADA: ', retiro)
print("Nuevo balance: ", self.monto)
def salir(self):
print("=======================================")
print("GRACIAS POR USAR NUESTROS SERVICIOS!")
print('=======================================')
def main():
cajero = Cajero()
nombre = cajero.solicitar_datos_usuario()
if cajero.iniciar_sesion():
cajero.mostrar_fecha_hora()
cajero.mostrar_bienvenida(nombre)
while True:
opcion = cajero.seleccionar_operacion()
if opcion == 4: # Salir
cajero.salir()
break
Introducción a las Tecnologías de la Información
cajero.realizar_operacion(opcion)
if __name__ == "__main__":
main()
import datetime
import getpass
class Cajero:
def __init__(self, clientes):
self.clientes = clientes # Diccionario de clientes
def solicitar_datos_usuario(self):
usuario_id = input("Ingrese su ID de usuario: ")
if usuario_id in self.clientes:
cliente = self.clientes[usuario_id]
print(f"Bienvenido {cliente['nombre']} {cliente['apellidos']}")
return cliente
else:
print("Usuario no encontrado.")
return None
def mostrar_fecha_hora(self):
ahora = datetime.datetime.now()
fecha_actual = (ahora.day, ahora.month, ahora.year) # Tupla con la fecha
actual
print("Fecha de acceso:", fecha_actual)
Introducción a las Tecnologías de la Información
return fecha_actual
Opción: '''))
if opcion == 1:
print('Su balance actual es:', cliente['monto'])
elif opcion == 2:
deposito = int(input('Indique la cantidad a depositar: '))
cliente['monto'] += deposito
print("Depósito realizado. Nuevo balance:", cliente['monto'])
elif opcion == 3:
retiro = int(input('Indique la cantidad a retirar: '))
if retiro <= cliente['monto']:
cliente['monto'] -= retiro
print('Retiro realizado. Nuevo balance:', cliente['monto'])
else:
print("Fondos insuficientes.")
elif opcion == 4:
print("Gracias por usar nuestros servicios.")
break
else:
print("Opción no válida. Intente de nuevo.")
def main():
clientes = {
'123': {'nombre': 'Juan', 'apellidos': 'Pérez', 'monto': 50000, 'contraseña':
'abc123', 'tipo_cliente': 'normal'},
'456': {'nombre': 'Ana', 'apellidos': 'López', 'monto': 75000, 'contraseña':
'xyz789', 'tipo_cliente': 'premium'}
}
cajero = Cajero(clientes)
cliente = cajero.solicitar_datos_usuario()
if cliente and cajero.iniciar_sesion(cliente):
cajero.mostrar_fecha_hora()
cajero.realizar_operacion(cliente)
if __name__ == "__main__":
main()
Introducción a las Tecnologías de la Información
Aplicar la Programación Orientada a Objetos (clases, atributos y
métodos de los objetos) en el programa del cajero automático de la
empresa Nuevo Perú Bank
class Cliente:
def __init__(self, nombre, apellidos, contraseña):
self.nombre = nombre
self.apellidos = apellidos
self.cuenta = Cuenta()
self.contraseña = contraseña
class Cuenta:
def __init__(self):
self.balance = 0
def consultar_balance(self):
return self.balance
class CajeroAutomático:
def __init__(self, clientes):
self.clientes = clientes
def main():
# Crear clientes
clientes = [
Cliente("Juan", "Pérez", "123"),
Cliente("Ana", "López", "456")
]
cajero = CajeroAutomático(clientes)
nombre = input("Ingrese su nombre: ")
contraseña = input("Ingrese su contraseña: ")
cliente = cajero.autenticar_usuario(nombre, contraseña)
if cliente:
cajero.realizar_operacion(cliente)
else:
print("Autenticación fallida.")
if __name__ == "__main__":
main()
Introducción a las Tecnologías de la Información
REFERENCIAS BIBLIOGRÁFICAS
ENTREGABLE 01:
OBJETIVO 08: Estructura de control condicional.
Enlace 1:
https://www.mclibre.org/consultar/python/lecciones/python-if-else.html
ENTREGABLE 02:
OBJETIVO 10: Definiendo Funciones usando DEF.
Enlace 1:
https://codigospython.com/como-hacer-un-cajero-automatico-en-python/
Indicadores de Gestión de Compras