Está en la página 1de 1

PROYECTO

1ER PARCIAL

FUNDAMENTOS DE PROGRAMACIÓN – Par. 44

** Simulador de economista particular **
Desarrolle un programa que simule el comportamiento de un particular economista de la empresa ACME. El
economista tiene la tarea de gestionar los gastos de la empresa, los cuales se dividen en 3 categorías: Materiales,
Papelería, Mantenimiento.

Reglas:

1) Cuando el economista tiene dinero, la empresa puede realizar la adquisición de productos o servicios cada
5 segundos.
2) Cada producto o servicio adquirido por la empresa tendrá un costo generado aleatoriamente entre $5 y
$20.
3) El economista tiene un presupuesto para gastos de $500, renovables cada minuto.
4) El economista tiene la opción de pagar al contado o diferido. En el caso del pago de contado, el economista
asumirá el costo total del producto o servicio en caso de que el valor del producto o servicio se encuentre
dentro de lo presupuestado.
5) Las compras por encima de $10, pueden ser pagadas de contado o diferidas en pagos parciales de $1. Esta
opción de pago será seleccionada aleatoriamente para compras mayores a $10, siempre y cuando el posible
pago de contado esté soportado por el presupuesto. De lo contrario, el pago será a crédito
obligatoriamente.
6) Toda compra por debajo de $10, será pagada de contado.
7) Todo pago en diferido será pagado en partes de $1.
8) Cuando el economista decide pagar en diferido el producto/servicio quedará activo hasta que el pago total
sea completado.
9) Cada pago de contado realizado por el economista reduce a 0 el valor del costo del producto.
10) Cada pago realizado por diferido reducirá en $1 el costo del producto/servicio.
11) Todo producto/servicio pagado en su totalidad, es decir, cuando su valor de costo llegue a 0,
automáticamente saldrá de la lista de adquisición a la que pertenece.
12) Si el economista se queda sin dinero, la empresa no podrá adquirir más ítems, hasta la siguiente reposición
de los fondos.
13) El economista realiza pagos cada segundo a cada uno de los productos de las tres categorías.
14) El programa debe visualizar la información sobre el estado actual de las operaciones del economista.

Notas:
- Debido a que el programa estará siempre en ejecución, utilizar la función os.system(“clear”) o
os.system(“cls”) para Linux o Windows respectivamente (usando import os), con el fin de limpiar la salida
por pantalla en cada iteración.
- Usar la función time.sleep(segundos), usando import time, para controlar el tiempo de las iteraciones.