Ejercicio: 1Eva_IIT2003_T3 Personas asignadas a proyectos
Propuesta de solución con diagrama de flujo y Python: py_pdf. Otra propuesta en matlab: m_pdf
Ingresar los datos en una matriz, de tamaño nxm, considerando en las filas a las personas y en las columnas a los proyectos.
m | ||||
Matriz | 1 | 2 | 3 | |
---|---|---|---|---|
1 | 0 | 1 | 0 | |
2 | 1 | 0 | 0 | |
3 | … | … | … | |
Personas n | 4 | … | … | … |
Para la parte b), realizar la cuenta de personas asignadas al primer proyecto. Cada resultado por columna de proyecto, se guarda como parte de un vector de participa[proyecto].
El vector de participantes es el resultado de la suma de cada columna.
Para la parte c), se requiere encontrar la carga[persona], que es la suma de cada fila. Por lo que se fija el valor de una persona, una fila, y se revisa para cada persona, todas las columnas, el valor se acumula en «carga».
Se muestra solo aquellas personas que tienen carga de trabajo 0.
Tarea: Validar los datos quese ingresan a la matriz Asigna[persona,proyecto]. Desarrollar la parte para c)
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 1Eva_IIT2003_T3 Personas asignadas a proyectos # Propuesta: edelros@espol.edu.ec # Tarea: validar los datos de asignado import numpy # INGRESO n = int(input('cuantas personas: ')) m = int(input('cuantos proyectos: ')) asignado = numpy.zeros((n+1,m+1),dtype=int) persona = 1 while (persona<=n): proyecto = 1 while (proyecto<=m): print('persona: '+str(persona)+ ', proyecto: '+ str(proyecto)) asignado[persona,proyecto] = int(input(' /asignado (1/0): ')) proyecto = proyecto + 1 persona = persona+1 # PROCEDIMIENTO # participantes por proyecto participan = numpy.zeros(m+1,dtype=int) proyecto = 1 while (proyecto<=m): s = 0 persona = 1 while (persona<=n): s = s + asignado[persona,proyecto] persona = persona+1 participan[proyecto] = s proyecto = proyecto+1 # Carga de trabajo por persona carga = numpy.zeros(n+1,dtype=int) persona = 1 while (persona<=n): s = 0 proyecto = 1 while (proyecto<=m): s = s+asignado[persona,proyecto] proyecto = proyecto+1 carga[persona] = s persona = persona+1 # SALIDA print('Participantes/Proyecto:') proyecto = 1 while (proyecto<=m): print(participan[proyecto]) proyecto = proyecto+1 print('Persona sin carga de trabajo:') persona = 1 while (persona<=n): if carga[persona]==0: print(persona) persona = persona+1
Diagrama de Flujo
Tarea: Desarrollar pregunta c)