Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Elaborar un programa que simule el funcionamiento de un cajero automtico cumpliendo con los siguientes lineamientos:

1. Pida el nmero de billetes de $50.000, de $20.000 y de $10.000 que tendr el cajero para poder armar la cantidad
solicitada.
2. Permita ingresar la cantidad a retirar.
3. Escriba la cantidad de billetes de las tres denominaciones que debe entregar al cliente. El cajero siempre entrega la
menor cantidad de billetes posible.
4. Valide que la cantidad solicitada por el cliente sea mayor a $10.000 y mltiplo del mismo. En caso contrario el programa
debe mostrar un mensaje indicando que la cantidad no es correcta.
5. Valide que posee suficiente dinero para realizar el retiro; en caso contrario, el programa debe mostrar un mensaje
indicando la insuficiencia de dinero del cajero para realizar la transaccin.
6. Valide que con los billetes disponibles puede armar la cantidad solicitada. Por ejemplo, si el cajero solo tiene un billete de
cada denominacin, tiene en total $ 80.000. Para un retiro de $30.000 entregar un billete de veinte y uno de diez, pero
para un retiro de $ 40.000 debe sacar un mensaje indicando que no puede armar esta cantidad con un billete de cincuenta,
uno de veinte y uno de diez por ejemplo.
7. La mxima cantidad a retirar es $600.000 en un solo retiro
Proceso Cajero_Automatico
Definir b50,b20,b10 como entero//Variables para indicar los billetes del cajero
Definir valRetiro,valRetiro2, montoCajero como entero
Definir Rb50, Rb20, Rb10 como entero//Variable para indicar los billetes a retirar
Definir sw como entero//Variable(Como un switch) para saber si se puede o no hacer el retiro
definir op Como Entero//Variable para saber si se quiere seguir ejecutando todo el programa

Repetir//Ciclo para seguir ejecutando el programa


Repetir//Ciclo se ejecutara hasta que se pueda hacer el retiro
Repetir //Ciclo se ejecutara hasta que se digiten cantidades de billetes correctas
Limpiar Pantalla
Escribir "Cuantos billetes de $50.000 tiene el cajero"
Leer b50
Escribir "Cuantos billetes de $20.000 tiene el cajero"
Leer b20
Escribir "Cuantos billetes de $10.000 tiene el cajero"
Leer b10
si(b50<0 o b20<0 o b10<0)
Escribir "Debe ingresar una cantidad correcta"
Escribir "Presiones cualquier tecla para continuar"
esperar tecla
FinSi
Hasta Que (b50>=0 o b20>=0 o b10>=0)
MontoCajero<-50000*b50 + 20000*b20 + 10000*b10
Escribir "Ingrese cantidad a retirar"
Leer valRetiro
//sw=0(se puede hacer el retiro), sw=1(No se puede hacer el retiro)
sw<-0
Si(valRetiro>600000)
Escribir "Solo puede retirar un mximo de $600.000"
sw<-1
Sino
si(valRetiro > montoCajero)
Escribir "Lo sentimos, Fondos insuficientes"
sw<-1
Sino
si((valRetiro Mod 10000)<>0)
Escribir "Solo puede retirar una cantidad multiplo de $10.000"
sw<-1
Sino
si(ValRetiro<10000)
Escribir "Solo puede retirar una cantidad superior a $10.000"
sw<-1
FinSi

FinSi

FinSi

FinSi
si(sw=1)
Escribir "Presiones una tecla para continuar"
Esperar Tecla
FinSi
Hasta Que (sw=0)
//Asigno el valor del retiro en otra variable para hacer calculos y saber si faltar o sobrar dinero
//a la hora de enviar la respuesta
valRetiro2<-valRetiro
//Este es el proceso de prueba para saber si habr una transaccion exitosa
Rb50<-valRetiro2/50000
si(b50>=Rb50)
valRetiro2<-valRetiro2 - 50000*Rb50
Sino
si(b50>1)
valRetiro2<-valRetiro2 - 50000*b50
FinSi
FinSi
Rb20<-valRetiro2/20000
si(b20>=Rb20)
valRetiro2<-valRetiro2 - 20000*Rb20
Sino
si(b20>0)
valRetiro2<-valRetiro2 - 20000*b20
FinSi
FinSi
Rb10<-valRetiro2/10000
si(b10>=Rb10)
valRetiro2<-valRetiro2 - 10000*Rb10
Sino
si(b10>0)
valRetiro2<-valRetiro2 - 10000*b10
FinSi
FinSi
//Este es el proceso real que entregar la respuesta
//Se realizar si en el proceso anterior indic que no qued sobrando +- saldo
si(valRetiro2=0)
Escribir "Retiro: "
Rb50<-valRetiro/50000
si(b50>=Rb50 y Rb50<>0)
valRetiro<-valRetiro - 50000*Rb50
Escribir Rb50 "x $50.000"
Sino
si(b50>1 y Rb50<>0)
valRetiro<-valRetiro - 50000*b50
Escribir b50 "x $50.000"
FinSi
FinSi
Rb20<-valRetiro/20000
si(b20>=Rb20 y Rb20<>0)
valRetiro<-valRetiro - 20000*Rb20
Escribir Rb20 "x $20.000"
Sino
si(b20>0 y Rb20<>0 )
valRetiro<-valRetiro - 20000*b20
Escribir b20 "x $20.000"
FinSi
FinSi
Rb10<-valRetiro/10000
si(b10>=Rb10 y Rb10<>0)
valRetiro<-valRetiro - 10000*Rb10
Escribir Rb10 "x $10.000"
Sino
si(b10>1 y Rb10<>0)
valRetiro<-valRetiro - 10000*b10
Escribir b10 "x $10.000"
FinSi
FinSi
Sino
//Si al Hacer el proceso con valRetiro2 qued un valor distinto de 0

//Eso indica que el cajero no podr entregar esa suma exacta con los billetes que tiene
Escribir "Los sentimos, no se cuenta con las cantidades necesarias para entregar esa suma"
FinSi
Escribir " "
Escribir "Digite el numero (1) si desea salir del programa"
Escribir "De lo contrario presione solo (Enter)"
Leer op
Hasta Que (op=1) //Termina el ciclo y el programa si digitan el numero 1
FinProceso
Proceso Cajero_Automatico
Definir b50,b20,b10 como entero
Definir valRetiro,valRetiro2, montoCajero como entero
Definir Rb50, Rb20, Rb10 como entero
Definir sw como entero
definir op Como Entero

Repetir
Repetir
Repetir

Limpiar Pantalla
Escribir "Cuantos billetes de $50.000 tiene el cajero"
Leer b50
Escribir "Cuantos billetes de $20.000 tiene el cajero"
Leer b20
Escribir "Cuantos billetes de $10.000 tiene el cajero"
Leer b10
si(b50<0 o b20<0 o b10<0)
Escribir "Debe ingresar una cantidad correcta"
Escribir "Presiones cualquier tecla para continuar"
esperar tecla
FinSi
Hasta Que (b50>=0 o b20>=0 o b10>=0)
MontoCajero<-50000*b50 + 20000*b20 + 10000*b10
Escribir "Ingrese cantidad a retirar"
Leer valRetiro

sw<-0
Si(valRetiro>600000)
Escribir "Solo puede retirar un mximo de $600.000"
sw<-1
Sino
si(valRetiro > montoCajero)
Escribir "Lo sentimos, Fondos insuficientes"
sw<-1
Sino
si((valRetiro Mod 10000)<>0)
Escribir "Solo puede retirar una cantidad multiplo de $10.000"
sw<-1
Sino
si(ValRetiro<10000)
Escribir "Solo puede retirar una cantidad superior a $10.000"
sw<-1
FinSi
FinSi
FinSi
FinSi
si(sw=1)
Escribir "Presiones una tecla para continuar"
Esperar Tecla
FinSi
Hasta Que (sw=0)

valRetiro2<-valRetiro

Rb50<-valRetiro2/50000
si(b50>=Rb50)
valRetiro2<-valRetiro2 - 50000*Rb50
Sino
si(b50>1)
valRetiro2<-valRetiro2 - 50000*b50
FinSi
FinSi
Rb20<-valRetiro2/20000
si(b20>=Rb20)
valRetiro2<-valRetiro2 - 20000*Rb20
Sino
si(b20>0)
valRetiro2<-valRetiro2 - 20000*b20
FinSi
FinSi
Rb10<-valRetiro2/10000
si(b10>=Rb10)
valRetiro2<-valRetiro2 - 10000*Rb10
Sino
si(b10>0)
valRetiro2<-valRetiro2 - 10000*b10
FinSi
FinSi

si(valRetiro2=0)
Escribir "Retiro: "
Rb50<-valRetiro/50000
si(b50>=Rb50 y Rb50<>0)
valRetiro<-valRetiro - 50000*Rb50
Escribir Rb50 "x $50.000"
Sino
si(b50>1 y Rb50<>0)
valRetiro<-valRetiro - 50000*b50
Escribir b50 "x $50.000"
FinSi
FinSi
Rb20<-valRetiro/20000
si(b20>=Rb20 y Rb20<>0)
valRetiro<-valRetiro - 20000*Rb20
Escribir Rb20 "x $20.000"
Sino
si(b20>0 y Rb20<>0 )
valRetiro<-valRetiro - 20000*b20
Escribir b20 "x $20.000"
FinSi
FinSi
Rb10<-valRetiro/10000
si(b10>=Rb10 y Rb10<>0)
valRetiro<-valRetiro - 10000*Rb10
Escribir Rb10 "x $10.000"
Sino
si(b10>1 y Rb10<>0)
valRetiro<-valRetiro - 10000*b10
Escribir b10 "x $10.000"
FinSi
FinSi
Sino

Escribir "Los sentimos, no se cuenta con las cantidades necesarias para entregar esa suma"
FinSi
Escribir " "
Escribir "Digite el numero (1) si desea salir del programa"
Escribir "De lo contrario presione solo (Enter)"
Leer op

Hasta Que (op=1)


FinProceso

Lazos Repetir La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condicin sea verdadera.
Repetir
<instrucciones>
Hasta Que <condicin>
Al ejecutarse esta instruccin, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evala la condicin. Si la
condicin es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condicin. Esto se repite hasta que la condicin sea verdadera.
Note que, dado que la condicin se evala al final, las instrucciones del cuerpo del ciclo sern ejecutadas al menos una vez.
Adems, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instruccin que modifique la o las variables involucradas en la condicin
de modo que en algn momento la condicin sea verdadera y se finalice la ejecucin del ciclo.
Las variables: Cuando nos referimos a variables nos referimos a lugares de memoria en los cuales se almacena algn tipo de informacin, por
ejemplo el numero de gallinas, la altura, la edad, el nombre y el peso. Existen diferentes tipos de datos tal y como se muestra en la siguiente tabla:
Tipo de dato

Descripcin

Ejemplo

entero

Tipo de dato asociado a cantidades enteras. No poseen


Numero de vacas, edad.
parte decimal. Ejemplo: 5, 6, -15, 199,

real

Tipo de dato asociado a cantidades con parte decimal.


Por ejemplo: 0.06, -3.4, 2.16, 1000.345,

lgicos

Se refiere a aquellos datos que pueden tomar solo dos


posibles valores falso (F) o verdadero (T)

alfanumricos

Asociado a aquellos datos que contienen caracteres


alfanumricos (letras, nmero, signos de puntuacin,
etc).

Estatura, peso, volumen.

Nombre, cedula, telefono

Esas dos palabras, "primerNumero" y "segundoNumero" representan a nmeros que no tienen un valor prefijado. Eso es lo que
llamaremos "variables

También podría gustarte