Sinu 152 - Trabajo Final 1 1

November 4, 2024 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Sinu 152 - Trabajo Final 1 1...

Description

Trabajo Final del 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

TEMA: Mejora de la Programación del cajero automático de Nuevo Perú Bank 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. DESCRIPCIÓN DE LA TAREA / OPERACIONES El presente proyecto, busca el planteamiento de propuestas de los participantes durante el módulo a desarrollar. Estas se fundamentarán con el conocimiento de las tareas con sus respectivas operaciones que se describen a continuación: 1. Nociones Básicas de Informática.  Reconocer tipos de ordenadores, periféricos entrada/salida y elementos del hardware y software.  SO Windows y sus herramientas.  Uso de carpetas, archivos, crear documentos y como ejecutar un programa. 2. Reconocer las diferentes redes de computadoras e internet.  Reconocer la importancia y uso del E-mail.  Reconocer las redes sociales.  Reconocer las comunidades virtuales y las herramientas en la web. 3. Conocer los problemas comunes de los equipos informáticos.  Conocer los problemas comunes de los equipos informáticos. 4. La Activación de E- Business: ¿Qué es E- Business?  Elaborar una lista de herramientas E-Business como solución a un problema.  Elaborar una lista de elementos que conforman el Estados contables de una empresa.  Elaborar una página web usando un gestor de contenido (Wix, WordPress, Joomla) 5. Cómo prestar servicios tercerizados y Cómo crear una empresa de contratación  Elaborar un contrato y sus cláusulas.  Elaborar y definir los Tipos de contratos. 6. Conceptos Generales y terminologías de programación.  ¿Qué es Python? e identificar editores para Python - "IDLE"

 

Introducción a las Tecnologías de la Información Reconocer estructura de un programa, crear, editar, almacenar. Conocer el procedimiento en ejecutar líneas de código.

Introducción a las Tecnologías de la Información 

Encabezados, Descripción, Comentario, identificación.

7. Usar el IDLE para estructurar un programa ejecutando líneas de códigos.  Identificar los Tipos de Datos, variables y operadores matemáticos  Operaciones básicas de salida-entrada datos. (Print, Input). 8. Estructura de control condicional.  Estructura de control condicional IF.  Estructura de control condicional IF.ELSE.  Estructura de control condicional F..ELIF..ELSE. 9. Estructura de control repetitivas – Arreglos y lista de datos.  Bucle For.  Bucle While. 10. Definiendo Funciones usando DEF.  Diferentes formas de pasar argumentos y parámetros.  Enviando valores con Return.  Aplicar las funciones en un programa propuesto. 11. Colección de datos.  Tuplas (…).  Diccionarios {…}. 12. Programación Orientada a Objetos (POO) PARTE I – Objetos.  Atributos y método de los objetos.  Identificar las Clases en la POO.  Declarando clases en POO. 13. Programación Orientada a Objetos (POO) PARTE II – Herencias..  Identificar el Polimorfismo en la POO. A continuación, se plantea el siguiente caso a desarrollar:

Imagen 1

Introducción a las Tecnologías de la Información Mejora de la Programación del cajero automático de Nuevo Perú Bank: El Nuevo Perú Bank desea implementar un nuevo programa para un cajero automático, para el cual los distintos tipos de clientes puedan realizar las operaciones frecuentes en un cajero. En los últimos meses, los cajeros automáticos de la empresa Nuevo Perú Bank han experimentado ciertos errores en distintas actividades generando un malestar entre sus clientes. Los errores que ha detectado la empresa son los siguientes: 1. Desconocimiento de las cláusulas en los contratos de los clientes: La empresa ha identificado que algunos clientes desconocen las clausulas del contrato que firmaron al momento de seleccionar la empresa Nuevo Perú Bank. A pesar de la cantidad de tipos de clientes, muchos de ellos poseen los mismos beneficios. 2. Errores de software: El software del cajero automático presenta errores que ha dado lugar a problemas graves. Por ejemplo, un error en la lógica de procesamiento de transacciones ha resultado en transacciones duplicadas y se ha reportado pérdida de dinero del usuario. 3. Errores en la entrada de datos del usuario: Los usuarios cuando ingresan sus contraseñas de manera equivocada tienen demasiados intentos lo cual ha generado largas colas de esperas. Esto además podría facilitar que un tercero puede acceder de manera inescrupulosa e intente robar dinero.

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 DIGITE LA OPCION = ''')) if opcion == 1: self.consultabalance()

Introducción a las Tecnologías de la Información elif opcion == 2: self.depositar() elif opcion == 3: self.retirar() elif opcion == 4: control = 1 self.salir() else: print('LO SENTIMOS OPCION NO VALIDA!, INTENTE DE NUEVO.. ') 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()



Codificar en el programa del cajero automático usando los bucles For y While para registrar una cantidad finita de clientes y para permitir tres intentos para el ingreso y la contraseña (de ingresar incorrectamente más de 3 veces el programa finaliza y manda un mensaje de error), respectivamente.

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 DIGITE LA OPCION = '''))

Introducción a las Tecnologías de la Información if opcion == 1: self.consultabalance() elif opcion == 2: self.depositar() elif opcion == 3: self.retirar() elif opcion == 4: control = 1 self.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.

import datetime import getpass

Introducción a las Tecnologías de la Información

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 iniciar_sesion(self, max_intentos=3): intentos = 0 while intentos < max_intentos: usr = input("TU ID: ") passw = getpass.getpass("Tu contraseña: ") if self.verificar_credenciales(usr, passw): # Asume que esta función verifica las credenciales print("Acceso concedido.") 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 verificar_credenciales(self, usr, passw): # Esto es un placeholder. En un caso real, conectaría con una base de datos segura. return usr == "usuario" and passw == "contraseña" def mostrar_fecha_hora(self): ahora = datetime.datetime.now() print(ahora) def mostrar_bienvenida(self, nombre): print("******************************************") print(f'BIENVENIDO A SU CAJERO AUTOMATICO, {nombre}') print("******************************************") 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 DIGITE LA OPCION = ''')) return opcion def realizar_operacion(self, opcion): if opcion == 1: self.consultar_balance() elif opcion == 2: self.depositar() elif opcion == 3: self.retirar() elif opcion == 4: self.salir() else: print("Opción no válida. Intente de nuevo.") 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()



Codificar en el programa una tupla para almacenar la fecha (día, mes y año) cuando el cliente interactúa con el cajero automático y un diccionario para almacenar la información de los clientes (nombre, apellidos, monto de dinero y tipo de cliente).

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 iniciar_sesion(self, cliente, max_intentos=3): intentos = 0 while intentos < max_intentos: passw = getpass.getpass("Ingrese su contraseña: ") if passw == cliente['contraseña']: # Verificar contraseña desde el diccionario print("Acceso concedido.") return True else: print("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() fecha_actual = (ahora.day, ahora.month, ahora.year) # Tupla con la fecha actual print("Fecha de acceso:", fecha_actual)

return fecha_actual

Introducción a las Tecnologías de la Información

def realizar_operacion(self, cliente): while True: opcion = int(input(''' --------------------------------------------------Indique la operación que desea realizar: 1. Consultar balance 2. Depositar dinero 3. Retirar dinero 4. Salir 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
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF