Está en la página 1de 3

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACION

Tarea # 3
FUNDAMENTOS DE PROGRAMACIÓN

ESTUDIANTE: APELLIDOS NOMBRE PARALELO: ##

IMPORTANTE: LEER DETENIDAMENTE ANTES DE COMENZAR A DESARROLLAR LOS


EJERCICIOS

Elabore un programa en Python que realice los siguientes requerimientos:

“ConstruHogar” es una nueva empresa constructora que ha trabajado con el municipio local para
entregar casas a bajo costo para personas de bajos recursos. Ellos desean un sistema para controlar
mejor sus materiales y herramientas.

Para ayudarles a los desarrolladores ellos han creado archivos planos “.txt” con la información
de sus modelos de casas. La descripción de los archivos son las siguientes:
• Materiales.txt: Contiene la lista de cada una de las materias primas para la construcción
en el siguiente formato:
o Código Material
o Descripción del Material
o Unidad de medida
o Precio
o Ej.: M001//Saco de Cemento Grande//25Kg//13.40
• Herramientas.txt: Contiene la lista de cada una de las herramientas que la empresa, en el
siguiente formato:
o Código Herramienta
o Descripción de la Herramienta
o Cantidad Disponibles
o Stock Total
o Ej.: H001//Pala Grande//34//45
• Modelos.txt: Contiene los modelos de casa que tiene la empresa
o Código de modelo
o Modelo
o Precio Base
o Ej. C001//Casa Dulces Inicios//13,765
• Componentes.txt: Contiene la lista de los materiales requeridos para cada modelo
o Código de Modelo
o Código de Herramientas y Cantidad
o Código de Materiales y Cantidad
o Ej.: C001//H001:10-H002:5-H005:4//M002:50-M005:45-M001:500

Nota: Para pruebas pueden crear sus propios archivos “.txt” de forma manual.

A. Crear Diccionarios (20 puntos)


Para cada archivo crear un diccionario donde la clave es el código y el valor serán los otros
datos:
o dMat=[ “M001”: [“Saco de Cemento Grande”, “25Kg”, 13.40] , “M002”:[ … ]]
o dHerr=[ “H001”: [“Pala Grande”, 34, 45, “Bodega03”] , “H002”:[ … ]]
o dModelo= [“C001”: [“Casa Dulces Inicios”, “H001:10-H002:5-H005:4”,”
M002:50-M005:45-M001:500”], “C002”:[…]]

B. Actualización de diccionarios (35 puntos)


El sistema debe actualizar los precios de los materiales.
• Debe existir un menú que permita revisar la información de todos los materiales
• Luego preguntará si desea actualizar el precio de alguno de ellos. Si indica que “Si”
debe pedir el código del material y el nuevo precio.
o Actualizará el diccionario (dMat)
• Seguirá preguntando por actualizar precios, hasta que indique que “No”

El sistema debe actualizar la cantidad de las herramientas.


• Debe existir un menú que permita revisar la información de todas las herramientas
• Luego preguntará si desea actualizar la cantidad de alguna de ellas. Si indica que “Si”
debe pedir el código de la herramienta y el nuevo stock total.
o Actualizará el diccionario (dHerr)
o Si la cantidad de stock aumenta, debe aumentar la cantidad disponible
o Si la cantidad de stock disminuye, debe disminuir la cantidad disponible (No
puede ser menor a cero, en ese caso indicará un mensaje de error y no
actualizará el stock de la herramienta)
• Seguirá preguntando por actualizar precios, hasta que indique que “No”

El sistema debe recalcular el precio base de los modelos de casa.


• Luego de actualizar los precios de los materiales el sistema calcular el precio nuevo de
cada modelo de casa basado en los componentes que son usados.
o Actualizar el diccionario (dModelo)

C. Visualizar componentes para la construcción de cada modelo (20 puntos)


El sistema debe permitir ver los detalles de los componentes para la construcción de cada
modelo de casa.
• De mostrar la descripción del modelo de casa
• Luego, el detalle y cantidad de materiales
• Finalmente, el detalle y cantidad de herramientas.

D. Menú y Actualización de Archivos (25 puntos)


Debe tener un menú para
• Visualizar Materiales (Incluye las opciones de actualizar precios)
• Visualizar Materiales (Incluye las opciones de actualizar stock)
• Visualizar Componentes de casa
• Salir

Antes de cerrar el sistema se debe guardar los cambios de precios y cantidades en los archivos.
• Actualizar los archivos: Materiales.txt, Herramientas.txt, Modelo.txt
Rúbrica:

Tema A: 20 puntos
05 puntos: Crea bien el diccionario de materiales
05 puntos: Crea bien el diccionario de herramientas
10 puntos: Crea bien el diccionario de modelos de casa

Tema B: 35 puntos
05 puntos: Actualiza bien el diccionario de materiales
10 puntos: Actualiza bien el diccionario de herramientas
20 puntos: Actualiza bien el diccionario de modelos de casa

Tema C: 20 puntos
02 puntos: Muestra cada modelo de casa de forma separada
09 puntos: Muestra en formato entendible los detalles de los materiales
09 puntos: Muestra en formato entendible los detalles de las herramientas

Tema D: 25 puntos
10 puntos: Funciona bien el menú
05 puntos: Actualiza bien el archivo de materiales
05 puntos: Actualiza bien el archivo de herramientas
05 puntos: Actualiza bien el archivo de modelo de casa

Penalidades:
o Pierde 10 puntos si la primera línea del archivo subido no contiene los
Apellidos y Nombres del estudiante.
o Pierde la totalidad de los puntos del tema si los realiza con métodos u
operaciones que no corresponden a las Unidades 2, 3, 4, 5, 7
o Pierde la totalidad de los puntos de la actividad si se identifica copia con
otro compañero
o Pierde 30% de la nota si el archivo subido no es *.py
o Pierde 20 puntos si no se puede identificar fácilmente cuando comienza un
ejercicio de otro en el archivo subido.
o Pierde 20% de la nota obtenida si el archivo no compila

También podría gustarte