Está en la página 1de 2

Ejercicio Funciones

1. Se desea elaborar un programa que simule el funcionamiento de una máquina expendedora de


productos. Esta máquina acepta monedas de $1, $2, $5 y $10. Los productos que ofrece la
máquina son 1. Papas, 2. Pingüinos, 3. Galletas, 4. Gomitas, 5. Chocolates, con un costo de
$8, $10, $6, $ 5, $15 respectivamente. Cuando se compra un producto, se utiliza como cambio
el mínimo número de monedas de $10, $5, $2 y $1.
Consideraciones:
a. La máquina cuenta con una cantidad de 20 monedas de cada denominación.
b. Mediante el uso de una función deberás desplegar un menú que muestre los
productos ofrecidos por la máquina y sus costos. La función deberá regresar el
costo del producto seleccionado.
c. La introducción de monedas deberá ser de la siguiente manera: el usuario
introduce 5, 3, 2 ó 1 tantas veces como desee. Una variable se incrementará en
10, 5, 2 ó 1 cada vez dependiendo de la entrada del usuario. Cuando el usuario
quiera comprar un producto, introducirá una P. Si la cantidad introducida es menor
al costo del producto, se necesita más dinero, por lo que deberá enviar el mensaje
“Necesita más monedas” y regresar a pedir más monedas. Si la cantidad es
suficiente, se entrega el producto y se resta el costo del mismo. Esto deberá
realizarlo el programa mediante una función, la cual devolverá el monto del cambio
que debe entregarse.
d. Mediante otra función deberás devolver el cambio, recuerda utilizar el menor
número de monedas de cada denominación para lo cual se restan las monedas de
10 como sea posible, las de 5, las de 2 y las de 1. Recuerda validar que tengas
monedas suficientes.
e. Deberás preguntar si se desea comprar otro producto.

2. Una compañía quiere transmitir datos a través del teléfono, pero está preocupada porque sus
teléfonos podrían estar intervenidos. Toda su información se transmite como enteros de cuatro
dígitos. Te han pedido que escribas un programa que encripte su información de modo que
pueda ser transmitida de manera más segura. El programa deberá leer el número entero de
cuatro dígitos (un solo número, no cuatro números de un dígito y encriptarlo como sigue:
Sustituye cada dígito por la suma de dicho dígito más 7, módulo 10. Después intercambia el
primer dígito con el tercero y el segundo con el cuarto, e imprime el número encriptado. Esto
deberás desarrollarlo por medio de una función, que reciba como parámetro el número original
y devuelva el número encriptado.
Después escribe una función desencripta que acepte como parámetro el número entero de
cuatro dígitos encriptado y lo desencripte, dejando el número original, el cual deberá ser
devuelto por la función.
Pregunta si se desea encriptar otro número. Si la respuesta es si vuelve a repetir el
proceso.

Ejemplo

Sea el número leído desde teclado

2458
se debe separar en dígitos, sumarle 7 y obtener el módulo (residuo) 10

2 4 5 8
+ 7 7 7 7
9 11 12 15
módulo 10
9 1 2 5
intercambiando los valores
2591 es el número encriptado
Realiza el proceso inverso para poder llegar de este número al número original.
3. Desarrolla un programa que utilice una función que determine el máximo común divisor de dos
números enteros positivos. Euclides descubrió un método eficiente para hacer esto, el cual
consta de los siguientes pasos:

i. Dividir el número mayor entre el menor y conservar el residuo


ii. Dividir el número menor entre el residuo y utilizar nuevamente el residuo
iii. Seguir dividiendo el residuo anterior entre el nuevo residuo hasta que el
residuo sea cero; el último residuo que no sea cero es el máximo común
divisor. Imprimir el máximo común divisor
iv. Pregunta si se desea repetir el proceso, si la respuesta es si vuelve a pedir los
números y si no termina la ejecución del programa

Ejemplo, si se tienen los números 84 y 49

84/49 residuo 35
49/35 residuo 14
35/14 residuo 7
14/7 residuo 0
7 es el máximo común divisor.

También podría gustarte