2Eva_IT2019_T3 Prueba de escritorio, conjuntos

2da Evaluación I Término 2019-2020, Agosto 30, 2019

Tema 3. (10 puntos) ¿Qué muestra el siguiente código? Justifique su respuesta

A = {3, 6, 7, 13, 19}
B = {13, 15, 19, 23, 29}
C = A.union(B)- B.intersection(A)
D = A.symmetric_difference(B)
if C == D:
    print('Vaya a la oficina 2')
else:
    print('Regrese a la oficina 5')

Nota: Asuma que este tema NO tiene errores de compilación. Si usted cree que hay algún error de compilación, consúltelo inmediatamente con su profesor.

2Eva_IT2019_T2 Separar indicadores

2da Evaluación I Término 2019-2020, Agosto 30, 2019

Tema 2. (40 puntos) Dado el archivo indicadores.csv​ con el siguiente formato:

Indicador, columna, min1|max1|puntaje1, min2|max2|puntaje2, ..., minN|maxN|puntajeN

Ejemplo:

Indicador,Columna,Puntajes
Num_empresas,17,0|9|1,10|19|2,...
Num_coworkings,5,0|15|10,16|30|15,...

Y el archivo ​estadisticas.csv​ con el siguiente contenido de ejemplo:

Buenos Aires, México, Budapest, ... 
Ciudad,Indicador,valor 
Santiago de Chile,Num_empresas,58
Guayaquil,Inversion en $,17423...
Guayaquil,Num_coworkings,5

Nota: La primera línea del archivo ​estadisticas.csv​ tiene los nombres de todas las ciudades presentes en el archivo, mientras que la segunda línea es su cabecera. Una ciudad puede estar repetida en varias líneas del archivo pero con un indicador diferente.

Escriba un programa en Python que cree el diccionario ​indicadores​, el arreglo ​ciudades​ y la matriz ​M​ utilizados en el ​TEMA 1​.

Rúbrica: crear diccionario ( puntos), crear arreglo ( puntos), crear matriz ( puntos) Nota: puntos detallados no indicados en el impreso del examen original.

2Eva_IT2019_T1 Indicador de innovación por ciudad

2da Evaluación I Término 2019-2020, Agosto 30, 2019

Tema 1. (50 puntos) Asuma que tiene la matriz M cuyas filas representan ciudades del mundo, las columnas representan indicadores de innovación y cada celda contiene el valor que tiene la ciudad para un indicador.

Además, cuenta con el diccionario indicadores con el siguiente formato:

indicadores = {'Num_empresas':{'columna':17,
                               'puntaje':{(0,9):1,
                                          (10,19):2,
                                          ...}
                               },
               'Num_coworkings':{'columna':5,
                                 'puntaje':{(0,15):10,
                                            (16,30):15,...}
                                 },
               ...
               }

Finalmente, cuenta con un arreglo ciudades con los nombres de las ciudades en el mismo orden que aparecen en las filas de la matriz M.

Implemente las siguientes funciones:

a. obtenerPuntajes(M, indicadores, indicador) que recibe la matriz M , el diccionario de indicadores , y el nombre de un indicador; y devuelve un vector con el puntaje obtenido por cada ciudad en ese indicador.
Por ejemplo: Si una ciudad, tiene un valor de 15 para el indicador 'Num empresas', obtendrá 2 como puntaje.

b. crearMatrizPuntajes(M, indicadores) que recibe la matriz M y el diccionario de indicadores; y retorna una matriz de puntajes( P) cuyas filas representan ciudades, las columnas representan indicadores y el valor de cada celda representa el puntaje obtenido por esa ciudad en ese indicador.

c. topCiudades(P, minPuntaje, ciudades, K) que recibe una matriz de puntajes P, un puntaje mínimo, el arreglo con los nombres de las ciudades y un entero K; y retorna un arreglo con los nombres de las ciudades cuyo total de puntos en los primeros K indicadores (columnas) sea al menos minPuntaje.

d. numEmpresas(M, P, indicadores, N) que recibe la matriz M ,una matriz de puntajes P, el diccionario indicadores y un entero N. Encuentre las N ciudades con mayor puntaje total y retorne el número promedio de empresas (indicador 'Num empresas') de esas ciudades.

Rúbrica: literal a (14 puntos), literal b (12 puntos), literal c (10 puntos), literal d (14 puntos)


Referencias: https://www.distrito100.com/, https://www.eluniverso.com/noticias/2019/04/21/nota/7292456/guayaquil-da-primer-paso-busca-innovacion/