{"id":4466,"date":"2017-03-09T05:00:21","date_gmt":"2017-03-09T10:00:21","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=4466"},"modified":"2026-04-05T18:37:07","modified_gmt":"2026-04-05T23:37:07","slug":"s3eva2016tii_t2-juntas-receptoras-de-voto","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva20\/s3eva2016tii_t2-juntas-receptoras-de-voto\/","title":{"rendered":"s3Eva2016TII_T2 Juntas receptoras de voto"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva20\/3eva2016tii_t2-juntas-receptoras-de-voto\/\" data-type=\"post\" data-id=\"4290\">3Eva2016TII_T2 Juntas receptoras de voto<\/a><\/p>\n\n\n\n<p>Archivos para prueba:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/257rby8ikkupn1e\/JRV_Harchivo.txt?dl=0\">JRV_Harchivo.txt<\/a><br><a href=\"https:\/\/www.dropbox.com\/s\/6grv3qvsxeqrpxg\/JRV_Marchivo.txt?dl=0\">JRV_Marchivo.txt<\/a><br><a href=\"https:\/\/www.dropbox.com\/s\/my2gooucgki98x3\/JRV_Candidatosarchivo.txt?dl=0\">JRV_Candidatosarchivo.txt<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n en <strong>Python<\/strong>:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# CCPG1001-Fundamentos de Programaci\u00f3n - FIEC-ESPOL\n# 3Eva_IIT2016_T2 Juntas receptoras de voto\nimport numpy as np\n\ndef contarVotos(JRV_H, JRV_M):\n    cuenta_H = np.sum(JRV_H, axis=0)\n\n    # Suma columnas\n    tamano = np.shape(JRV_M)\n    nvotantes   = tamano&#x5B;0]\n    ncandidatos = tamano&#x5B;1]\n    cuenta_M = np.zeros(ncandidatos, dtype=int)\n    \n    for columna in range(0,ncandidatos,1):\n        fila = 0 # cambiar a for\n        while not(fila&gt;=nvotantes):\n            cuenta_M&#x5B;columna] = cuenta_M&#x5B;columna] + JRV_M&#x5B;fila, columna]\n            fila=fila+1\n            \n    conteo = cuenta_H + cuenta_M\n    conteo = tuple(conteo)\n    return(conteo)\n\ndef segundaVuelta(JRV_H, JRV_M):\n    respuesta = 0\n    conteo  = contarVotos(JRV_H, JRV_M)\n    conteo  = np.array(conteo)\n    total   = np.sum(conteo)\n    primero = np.argmax(conteo)\n    votos1  = conteo&#x5B;primero]\n    conteo&#x5B;primero] = 0\n    segundo = np.argmax(conteo)\n    votos2  = conteo&#x5B;segundo]\n    \n    limite40 = 0.4*total\n    limite10 = 0.1*total\n    if (votos1&lt;=limite40):\n        diferencia = votos1-votos2\n        if (diferencia&lt;=limite10):\n            respuesta = 1\n    \n    return(respuesta)\n\ndef estadistica(JRV_H, JRV_M, candidatos, nombre):\n    conteo = contarVotos(JRV_H, JRV_M)\n    conteo = np.array(conteo)\n    \n    #Buscar posicion nombre del candidato\n    donde = -1\n    n = len(candidatos)\n    i = 0\n    while not(i&gt;=n or donde&gt;=0):\n        if (nombre == candidatos&#x5B;i]):\n            donde = i\n        i = i + 1\n    votos = conteo&#x5B;donde]\n    \n    # Votos hombres y mujeres\n    cuenta_H = np.sum(JRV_H, axis=0)\n    votos_H  = cuenta_H&#x5B;donde]\n    votos_M  = votos - votos_H\n\n    respuesta = &#x5B;nombre, votos_H, votos_M]\n    return(respuesta)\n\n# PROGRAMA ---------------------------\n# INGRESO\nnJRV_H = 'JRV_Harchivo.txt'\nnJRV_M = 'JRV_Marchivo.txt'\nncandidatos = 'JRV_Candidatosarchivo.txt'\n\n# PROCEDIMIENTO\n# Lectura de datos desde archivos\nJRV_H = np.loadtxt(nJRV_H)\nJRV_M = np.loadtxt(nJRV_M)\n\ncandidatos = &#x5B;]\narchivo = open(ncandidatos,'r')\nlinea = archivo.readline()\nlinea = linea.strip('\\n')\nwhile not(linea==''):\n    candidatos.append(linea)\n    linea = archivo.readline()\n    linea = linea.strip('\\n')\narchivo.close()\n\n# Conteo de votos y revisi\u00f3n de 2da Vuelta\nconteo    = contarVotos(JRV_H, JRV_M)\nrevisa2da = segundaVuelta(JRV_H, JRV_M)\n\n# Estad\u00edsticas para todos los candidatos\ntabla = {}\nk = len(candidatos)\nj=0\nwhile not(j&gt;=k):\n    nombre = candidatos&#x5B;j]\n    revisaest = estadistica(JRV_H, JRV_M, candidatos, nombre)\n    H = revisaest&#x5B;1]\n    M = revisaest&#x5B;2]\n    tabla&#x5B;nombre] = {'conteo_H': H,\n                     'conteo_M': M}\n    j = j + 1\n\n# SALIDA\nprint('Tabla:  JRV_H')\nprint(JRV_H)\nprint('Tabla:  JRV_M')\nprint(JRV_M)\nprint('Lista:  candidatos ')\nprint(candidatos)\nprint('Conteo de votos:')\nprint(conteo)\nprint('Hay segunda vuelta: ', revisa2da)\nprint('Revisi\u00f3n estad\u00edstica: ')\nprint(tabla)\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2016TII_T2 Juntas receptoras de voto Archivos para prueba: JRV_Harchivo.txtJRV_Marchivo.txtJRV_Candidatosarchivo.txt Propuesta de soluci\u00f3n en Python: Algoritmo en Python<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-ejemplos","format":"standard","meta":{"footnotes":""},"categories":[143],"tags":[58,157],"class_list":["post-4466","post","type-post","status-publish","format-standard","hentry","category-fp-s3eva20","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=4466"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4466\/revisions"}],"predecessor-version":[{"id":23769,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4466\/revisions\/23769"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=4466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=4466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=4466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}