0% encontró este documento útil (0 votos)
2 vistas13 páginas

PROYECTOU2

El proyecto consiste en el diseño y desarrollo de un algoritmo de cajero automático utilizando PSeInt, simulando funciones bancarias básicas como consultas de saldo, depósitos, retiros y transferencias. Se implementaron medidas de seguridad, como el control de intentos de acceso y validaciones de saldo, para garantizar un funcionamiento realista y seguro. Este trabajo permite aplicar conocimientos de programación estructurada y fortalece habilidades en análisis y resolución de problemas en el contexto financiero.

Cargado por

getzaelbravo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas13 páginas

PROYECTOU2

El proyecto consiste en el diseño y desarrollo de un algoritmo de cajero automático utilizando PSeInt, simulando funciones bancarias básicas como consultas de saldo, depósitos, retiros y transferencias. Se implementaron medidas de seguridad, como el control de intentos de acceso y validaciones de saldo, para garantizar un funcionamiento realista y seguro. Este trabajo permite aplicar conocimientos de programación estructurada y fortalece habilidades en análisis y resolución de problemas en el contexto financiero.

Cargado por

getzaelbravo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE CUAUTLA

ASIGNATURA: ALG.Y [Link] PROG.

SEGUNDA OPORTUNIDAD UNIDAD 2

TEMA: PROYECTO U2

NOMBRE:
• BRAVO MARTÍNEZ JOSHUA GETZAEL
NO. DE CONTROL: 23680470

DOCENTE:
AQUINO MENDEZ DAVID

CARRERA: INGENIERÍA INDUSTRIAL

SEMESTRE: 7MO

FECHA: 9 DICIEMBRE DEL 2025


Contenido
INTRODUCCIÓN ................................................................................................... 3
DESARROLLO ....................................................................................................... 4
CODIGO REALIDO ................................................................................................. 8
IMÁGEN DE LA ACTVIDAD DEL PROYECTO REALIZADO .......................................... 11
CONCLUSION..................................................................................................... 13
INTRODUCCIÓN
En la actualidad, la tecnología ha transformado de manera significativa la forma en
que las personas realizan sus operaciones financieras. Los cajeros automáticos se
han convertido en una herramienta indispensable dentro del sistema bancario, ya
que permiten efectuar distintas transacciones de manera rápida, segura y eficiente,
sin necesidad de acudir directamente a una sucursal bancaria o depender del
horario de atención. Gracias a estos sistemas automatizados, los usuarios pueden
consultar saldos, retirar dinero, realizar depósitos y efectuar transferencias en
cuestión de minutos, facilitando así el manejo de sus recursos económicos.

El presente proyecto consiste en el diseño y desarrollo de un algoritmo de cajero


automático utilizando el programa PSeInt, el cual tiene como finalidad simular el
funcionamiento básico de un sistema bancario automatizado. Este proyecto fue
elaborado aplicando conceptos fundamentales de lógica de programación y
programación estructurada, permitiendo integrar diferentes herramientas y
estructuras utilizadas en el desarrollo de software, tales como variables,
condicionales, ciclos repetitivos, validaciones, menús interactivos y operaciones
matemáticas.

El sistema desarrollado permite al usuario ingresar mediante un número de cuenta


y una contraseña previamente establecida. Además, incorpora un control de
seguridad que limita la cantidad de intentos permitidos para acceder al sistema,
simulando las medidas de protección utilizadas en los cajeros automáticos reales.

Asimismo, el algoritmo verifica que las operaciones financieras se realicen


correctamente, validando por ejemplo que exista saldo suficiente antes de efectuar
un retiro o una transferencia. Esto permite que el programa tenga un funcionamiento
más realista y ordenado, evitando errores en las transacciones y mejorando la
experiencia del usuario dentro del sistema.

La realización de este proyecto tiene gran importancia académica, ya que permite


poner en práctica los conocimientos adquiridos en la materia de programación y
desarrollar habilidades relacionadas con el análisis, la lógica y la resolución de
problemas.

Finalmente, el desarrollo de este algoritmo representa una oportunidad para mejorar


las habilidades de programación, fortalecer el pensamiento lógico y adquirir
experiencia en la construcción de programas interactivos. De esta forma, el proyecto
no solo cumple una función práctica y educativa, sino que también sirve como base
para futuros desarrollos de sistemas más complejos dentro del área de la
informática y la programación.
DESARROLLO
El desarrollo del presente proyecto se realizó mediante la elaboración de un
algoritmo estructurado en el programa PSeInt, cuyo propósito principal fue simular
el funcionamiento básico de un cajero automático bancario. Este sistema fue
diseñado utilizando herramientas fundamentales de programación estructurada,
permitiendo representar de manera práctica diversas operaciones financieras
utilizadas diariamente por millones de personas en todo el mundo.

Actualmente, la tecnología ha transformado de forma importante la manera en que


las personas administran su dinero y realizan operaciones bancarias. Los cajeros
automáticos forman parte esencial de este avance tecnológico, ya que ofrecen
rapidez, comodidad y seguridad al momento de efectuar transacciones financieras.
Gracias a estos dispositivos, los usuarios pueden acceder a distintos servicios sin
necesidad de acudir directamente a una ventanilla bancaria, optimizando tiempo y
facilitando el manejo de sus recursos económicos.

Tomando como referencia el funcionamiento real de los cajeros automáticos, se


decidió desarrollar un algoritmo capaz de simular algunas de sus funciones
principales. El proyecto se enfocó en la creación de un sistema interactivo que
permitiera al usuario iniciar sesión mediante una cuenta y contraseña, acceder a un
menú de opciones y realizar operaciones como consulta de saldo, depósitos, retiros
y transferencias bancarias.

La realización de este proyecto tuvo como finalidad aplicar los conocimientos


adquiridos en programación estructurada y lógica computacional, permitiendo
fortalecer habilidades relacionadas con el análisis, el razonamiento lógico y la
solución de problemas mediante algoritmos. Asimismo, se buscó comprender la
importancia de los sistemas automatizados dentro del entorno financiero actual y
cómo la programación hace posible el funcionamiento de estos servicios
tecnológicos.

La primera etapa del desarrollo consistió en el análisis del problema. Durante esta
fase se identificaron las principales necesidades y funciones que debía cumplir el
sistema para operar de manera adecuada. Se estableció que el programa debía
contar con mecanismos de seguridad para controlar el acceso de los usuarios, así
como permitir la ejecución de operaciones bancarias básicas de forma ordenada y
segura.

Posteriormente, se procedió al diseño lógico del algoritmo, organizando la


secuencia de instrucciones necesarias para el correcto funcionamiento del sistema.
Esta etapa fue fundamental, ya que permitió establecer el flujo que seguiría el
programa desde el inicio hasta la finalización de la ejecución.
Una vez definida la lógica general, se realizó la declaración de variables. Las
variables representan espacios de memoria utilizados para almacenar información
temporal durante la ejecución del programa. En este proyecto se utilizaron distintos
tipos de variables dependiendo de la función que desempeñaban dentro del
sistema.

Las variables de tipo cadena se emplearon para almacenar datos textuales, como
el número de cuenta, la contraseña y el número de cuenta destino utilizado en las
transferencias. Estas variables permitieron manejar información relacionada con la
identificación del usuario y las operaciones bancarias.

Las variables de tipo entero fueron utilizadas para controlar las opciones
seleccionadas dentro del menú principal y el número de intentos realizados durante
el inicio de sesión. Este tipo de variables facilitó el control lógico del sistema y la
validación de procesos repetitivos.

Por otro lado, las variables de tipo real permitieron manejar cantidades monetarias
relacionadas con el saldo disponible, depósitos, retiros y transferencias. Gracias a
estas variables fue posible realizar cálculos matemáticos y actualizar
automáticamente la información financiera del usuario.

Después de declarar las variables necesarias, se asignaron valores iniciales al


sistema. Se estableció un número de cuenta y una contraseña predeterminados
para permitir el acceso al cajero automático. Asimismo, se asignó un saldo inicial
dentro de la cuenta bancaria simulada, permitiendo realizar operaciones desde el
inicio de la ejecución del programa.

Una de las partes más importantes del desarrollo fue la implementación del sistema
de autenticación. Esta función tiene como objetivo verificar que únicamente usuarios
autorizados puedan acceder al sistema bancario. Para lograrlo, el programa solicita
al usuario ingresar su número de cuenta y contraseña.

Posteriormente, el algoritmo compara la información ingresada con los datos


almacenados previamente. Si los datos coinciden correctamente, el acceso es
concedido y el usuario puede ingresar al menú principal. En caso contrario, el
sistema muestra un mensaje indicando que la cuenta o contraseña son incorrectas.

Para controlar este proceso se utilizó la estructura repetitiva “Mientras”, la cual


permite repetir continuamente una serie de instrucciones mientras se cumpla una
condición determinada. En este caso, el ciclo se mantiene activo mientras el usuario
no exceda el número máximo de intentos permitidos y mientras no logre ingresar
correctamente al sistema.

Cada vez que el usuario introduce datos incorrectos, el contador de intentos


aumenta automáticamente. Esta función representa una medida básica de
seguridad, ya que evita intentos ilimitados de acceso al sistema.
Cuando el usuario supera el límite máximo de intentos permitidos, el programa
bloquea automáticamente el acceso y muestra un mensaje indicando que el sistema
ha sido bloqueado. Esta característica permite simular el funcionamiento real de
muchos sistemas bancarios modernos, donde la seguridad de la información es uno
de los aspectos más importantes.

Una vez que el usuario logra iniciar sesión correctamente, el programa despliega un
menú principal con distintas opciones de operación bancaria. Para el desarrollo de
este menú se utilizó la estructura “Segun”, la cual permite ejecutar diferentes
acciones dependiendo de la opción seleccionada por el usuario.

La primera opción del menú corresponde a la consulta de saldo. Esta función


permite visualizar la cantidad de dinero disponible dentro de la cuenta bancaria.
Cuando el usuario selecciona esta opción, el sistema muestra en pantalla el saldo
actual almacenado en la variable correspondiente.

La consulta de saldo es una de las operaciones más utilizadas dentro de los cajeros
automáticos, ya que permite a los usuarios conocer el estado actual de sus recursos
financieros antes de realizar cualquier transacción.

La segunda opción corresponde a los depósitos bancarios. En esta operación el


programa solicita al usuario ingresar la cantidad de dinero que desea depositar en
la cuenta. Posteriormente, el sistema suma el monto ingresado al saldo actual y
actualiza automáticamente la información financiera.

Una vez completada la operación, el programa muestra un mensaje indicando que


el depósito fue realizado exitosamente y presenta el nuevo saldo disponible. Esta
función permitió aplicar operaciones matemáticas básicas dentro del algoritmo y
comprender cómo los sistemas financieros registran y actualizan movimientos
monetarios.

La tercera opción corresponde a los retiros de dinero. Esta función fue desarrollada
mediante estructuras condicionales “Si–Sino”, ya que requiere validar ciertas
condiciones antes de completar la operación.

Cuando el usuario ingresa la cantidad que desea retirar, el sistema compara dicho
monto con el saldo disponible dentro de la cuenta bancaria. Si el monto solicitado
es mayor al saldo existente, el programa rechaza automáticamente la operación y
muestra un mensaje indicando que no hay fondos suficientes.

En caso de que el saldo disponible sea suficiente, el sistema realiza correctamente


el retiro, descontando la cantidad correspondiente y mostrando el nuevo saldo
actualizado. Esta validación es muy importante dentro del algoritmo porque evita
inconsistencias financieras y garantiza un control adecuado de los recursos
monetarios.
La cuarta opción corresponde a las transferencias bancarias. Esta operación
permite enviar dinero desde la cuenta principal hacia otra cuenta bancaria. Para
completar esta función, el programa solicita primero el número de cuenta destino y
posteriormente la cantidad de dinero que se desea transferir.

Al igual que en la operación de retiro, el sistema verifica si el usuario cuenta con


saldo suficiente antes de realizar la transferencia. Si el monto solicitado supera el
saldo disponible, la operación es cancelada automáticamente y el programa
muestra un mensaje de error.

En caso contrario, el dinero es descontado correctamente del saldo total y el sistema


confirma que la transferencia fue realizada exitosamente. Esta función permitió
integrar múltiples procesos dentro de una misma operación, aumentando la
complejidad y funcionalidad del algoritmo.

La quinta y última opción corresponde a la salida del sistema. Cuando el usuario


selecciona esta opción, el programa finaliza el menú principal y muestra un mensaje
de despedida agradeciendo por utilizar el cajero automático.

Durante todo el desarrollo del proyecto se utilizaron diversas herramientas de


programación estructurada que permitieron construir un sistema funcional y
organizado. Entre las principales estructuras utilizadas se encuentran:

• Declaración de variables.
• Operadores matemáticos.
• Operadores lógicos.
• Estructuras condicionales.
• Ciclos repetitivos.
• Menús interactivos.
• Validaciones de datos.
• Comparaciones lógicas.
• Operaciones financieras básicas.

Cada una de estas herramientas cumplió una función importante dentro del
algoritmo y permitió controlar correctamente el flujo del sistema.

Además de los aspectos técnicos, el proyecto contribuyó significativamente al


fortalecimiento de habilidades relacionadas con el pensamiento lógico y el análisis
de problemas. La programación requiere organizar ideas de manera estructurada,
identificar posibles errores y desarrollar soluciones eficientes mediante secuencias
de instrucciones precisas.

Asimismo, la elaboración del algoritmo permitió comprender cómo funcionan


algunos de los sistemas automatizados utilizados diariamente dentro del sector
financiero. Muchas de las operaciones realizadas en el proyecto representan
procesos similares a los que ejecutan los cajeros automáticos reales.
Otro aspecto importante fue la comprensión de la importancia de la seguridad
informática dentro de los sistemas bancarios. Funciones como el control de intentos,
las validaciones de saldo y la autenticación de usuarios son fundamentales para
proteger la información y evitar errores dentro de las operaciones financieras.

De igual manera, el proyecto permitió fortalecer conocimientos sobre la sintaxis y


funcionamiento de PSeInt, facilitando la comprensión de la programación
estructurada y el desarrollo de algoritmos organizados y eficientes.

La práctica constante durante el desarrollo ayudó a mejorar la capacidad para


interpretar problemas, analizar soluciones y estructurar programas de manera
lógica. Además, permitió adquirir experiencia en el manejo de estructuras
repetitivas, condicionales y operaciones matemáticas dentro de un entorno práctico
y funcional.

También fue posible comprender la importancia que tiene la planeación dentro del
desarrollo de software. Un algoritmo correctamente organizado facilita la detección
de errores, mejora el funcionamiento del sistema y permite realizar modificaciones
futuras de manera más sencilla.

CODIGO REALIDO
Algoritmo POCYECTO_CAJEROU2
Definir cuenta, password Como Cadena
Definir cuentaCorrecta, passwordCorrecto Como Cadena
Definir opcion, intentos Como Entero
Definir saldo, deposito, retiro, transferencia Como Real
Definir cuentaTransferencia Como Cadena
cuentaCorrecta <- "23680470"
passwordCorrecto <- "TU2"
saldo <- 23000
intentos <- 0
Mientras intentos < 2 Hacer

Escribir "CAJERO AUTOMATICO"


Escribir "Ingrese numero de cuenta:"
Leer cuenta
Escribir "Ingrese contraseña:"
Leer password
Si cuenta = cuentaCorrecta Y password = passwordCorrecto
Entonces
Escribir "Acceso correcto"
Repetir
Escribir "MENU"
Escribir "1. Consultar saldo"
Escribir "2. Depositar"
Escribir "3. Retirar"
Escribir "4. Transferir"
Escribir "5. Salir"
Leer opcion
Segun opcion Hacer
1:
Escribir "Saldo disponible: $", saldo

2:
Escribir "Ingrese cantidad a
depositar:"
Leer deposito

saldo <- saldo + deposito

Escribir "Deposito realizado"


Escribir "Nuevo saldo: $", saldo
3:
Escribir "Ingrese cantidad a retirar:"
Leer retiro
Si retiro > saldo Entonces
Escribir "Saldo insuficiente"
Sino
saldo <- saldo - retiro
Escribir "Retiro realizado"
Escribir "Nuevo saldo: $", saldo
FinSi

4:
Escribir "Ingrese numero de cuenta
destino:"
Leer cuentaTransferencia

Escribir "Ingrese cantidad a


transferir:"
Leer transferencia

Si transferencia > saldo Entonces


Escribir "Transferencia
rechazada"
Escribir "Saldo insuficiente"
Sino
saldo <- saldo - transferencia
Escribir "Transferencia
realizada"
Escribir "Nuevo saldo: $", saldo
FinSi

5:
Escribir "Gracias por usar el cajero"

De Otro Modo:
Escribir "Opcion invalida"

FinSegun

Hasta Que opcion = 5


intentos <- 2
Sino
intentos <- intentos + 1
Escribir "Cuenta o contraseña incorrecta"
Escribir "Intento ", intentos, " de 2"
FinSi
FinMientras
Si intentos = 2 Entonces
Escribir "Sistema bloqueado"
FinSi

FinAlgoritmo
IMÁGEN DE LA ACTVIDAD DEL PROYECTO
REALIZADO
CONCLUSION
En conclusión, la realización del proyecto del cajero automático permitió desarrollar
y aplicar de manera práctica los conocimientos fundamentales de programación
estructurada utilizando el entorno PSeInt. A través de este algoritmo se logró simular
el funcionamiento básico de un sistema bancario automatizado, permitiendo
comprender la manera en que los cajeros automáticos procesan distintas
operaciones financieras de forma rápida, organizada y segura.

Durante el desarrollo del programa fue necesario aplicar diferentes herramientas y


estructuras de programación, como variables, operadores matemáticos, operadores
lógicos, ciclos repetitivos, estructuras condicionales y menús interactivos. Gracias a
la correcta integración de estas herramientas fue posible crear un sistema funcional
capaz de ejecutar operaciones como consulta de saldo, depósitos, retiros y
transferencias bancarias, además de implementar controles de seguridad
relacionados con el acceso al sistema.

Asimismo, este proyecto permitió fortalecer habilidades relacionadas con el


razonamiento lógico y la resolución de problemas. La programación requiere
analizar cada situación de manera detallada, identificar posibles errores y diseñar
soluciones organizadas mediante secuencias específicas de instrucciones. Gracias
a ello, se desarrolló una mejor comprensión sobre la manera en que los algoritmos
controlan el flujo de un sistema y procesan información de forma eficiente.

Otro aspecto relevante fue la comprensión de la importancia de la programación


dentro de la vida cotidiana. Muchas de las actividades realizadas diariamente
dependen de sistemas automatizados similares al desarrollado en este proyecto.
Los cajeros automáticos, aplicaciones bancarias y plataformas digitales funcionan
gracias a algoritmos capaces de procesar información, validar datos y ejecutar
operaciones de manera segura y precisa.

Además, el proyecto ayudó a mejorar la capacidad para diseñar programas


estructurados y organizados, comprendiendo que una correcta planeación facilita el
desarrollo del software y disminuye la probabilidad de errores durante la ejecución.
También permitió adquirir mayor experiencia en el uso de PSeInt, fortaleciendo la
comprensión de la sintaxis y de las diferentes estructuras utilizadas en
programación estructurada.

Finalmente, la realización de este proyecto permitió fortalecer conocimientos


técnicos y prácticos fundamentales para el área de programación e informática. El
desarrollo del algoritmo ayudó a mejorar habilidades de análisis, lógica y
organización, además de servir como base para futuros proyectos más complejos
relacionados con el desarrollo de software y sistemas automatizados.

También podría gustarte