3ra Evaluación II Término 2016-2017, Marzo 7, 2017 /CCPG001
TEMA 2. (45 Puntos) Para el control de las elecciones presidenciales de un país, Ud. tiene dos matrices con los votos de hombres y mujeres para cada uno de los candidatos:

JRV_H (juntas receptoras del voto, hombres)
JRV_M (juntas receptoras del voto, mujeres)
Las filas representan las juntas receptoras del voto y las columnas representan los candidatos. El número en la celda representa el número de votos para un candidato en una JRV:


También tiene una tupla con los nombres de los candidatos:
candidatos = (‘candidato1’, ‘candidato2’, … ‘candidatoN’)
Suponga que estas matrices son creadas por una función ya existente y retornadas al inicio de su programa principal. Por ejemplo:
JRV_H = creaMatrizHombres()
JRV_M = creaMatrizMujeres()
Nota: NO necesita implementar estas funciones o crear las matrices; esto ya ha sido hecho por usted.
Se le pide lo siguiente:
- Crear una función contarVotos(JRV_H, JRV_M) que recibe ambas matrices y devuelve una tupla con los votos totales para cada candidato.
- Crear la función segundaVuelta(JRV_H, JRV_M) que recibe ambas matrices y devuelve el valor booleano
'True'si hay segunda vuelta,'False'si no.
No hay segunda vuelta si el primer candidato tiene al menos el 40% de los votos registrados en las matrices, y al menos 10 puntos porcentuales de diferencia con el segundo. - Crear la función estadística(JRV_H, JRV_M, candidatos, nombre) que recibe ambas matrices, la tupla con los nombres de los candidatos, el nombre de un candidato y devuelve para ese candidato:
- una tupla con el porcentaje de votos del total global de votos,
- porcentaje de votos de hombres del total de votos para ese candidato y
- porcentaje de votos de mujeres del total de votos para ese candidato. - Crear un programa principal que utilizando las matrices JRV_H, JRV_M y las tres funciones anteriores muestre lo siguiente:
Elecciones Presidenciales
Candidato: Perico De Los Palotes
% votos totales: 41%
% votos hombres: 55%
% votos mujeres: 45%
Candidato: Juan Pueblo
% votos totales: 30%
% votos hombres: 48%
% votos mujeres: 52%
Candidato: Juanita Pueblo
% votos totales: 15%
% votos hombres: 30%
% votos mujeres: 70%
…
SI/NO hay segunda vuelta (dependiendo de si hay o no segunda vuelta)
Ejemplo de matriz para pruebas
# Ingreso
JRV_H = np.array([
[15,145,230,45],
[18,187,89,67],
[109,12,28,18],
[231,76,67,137],
])
JRV_M = np.array([
[100,240,19,45],
[50,38,242,67],
[178,12,164,5],
[123,23,38,333]
])
candidatos = ['Perico','Juan','Juanita','Ana']