{"id":7587,"date":"2019-02-03T08:33:13","date_gmt":"2019-02-03T13:33:13","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7587"},"modified":"2025-12-24T20:03:11","modified_gmt":"2025-12-25T01:03:11","slug":"s2eva2018tii_t2-hielo-y-especies-en-artico-procesar","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s2e20\/s2eva2018tii_t2-hielo-y-especies-en-artico-procesar\/","title":{"rendered":"s2Eva2018TII_T2 Hielo y especies en \u00c1rtico-Procesar"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>:\u00a0<a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-evalua\/fp-2e20\/2eva2018tii_t2-hielo-y-especies-en-artico-procesar\/\" data-type=\"post\" data-id=\"7559\">2Eva2018TII_T2 Hielo y especies en \u00c1rtico-Procesar<\/a><\/p>\n\n\n\n<p>Se a\u00f1ade las instrucciones al tema anterior,<\/p>\n\n\n\n<p>Se incluyen las funciones que se asume como existentes para prueba de programa. En caso de problemas o dudas con el conteo, elaborar una funci\u00f3n contar.<\/p>\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# 2Eva_IIT2018_T2 Hielo y especies en \u00c1rtico-Procesar\nimport numpy as np\n\n# ----- NUMERAL 2 ----- \n# Funciones que suponen que existen:\ndef cuadrantes(matriz):\n    tamano = np.shape(matriz)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n    mitadfila = n\/\/2\n    mitadcolumna = m\/\/2\n    Q1 = matriz&#x5B;0:mitadfila,0:mitadcolumna]\n    Q2 = matriz&#x5B;0:mitadfila,mitadcolumna:]\n    Q3 = matriz&#x5B;mitadfila:,0:mitadcolumna]\n    Q4 = matriz&#x5B;mitadfila:,mitadcolumna:]\n    Q = np.array(&#x5B;Q1,Q2,Q3,Q4])\n    return(Q)\n\ndef poblacionEspecie(mAnimales, especie):\n    Q = cuadrantes(mAnimales)\n    # pQ1 = np.count_nonzero(Q&#x5B;0],especie)\n    # np.count_nonzero no hay en funciones referencia\n    # no en cheatsheet \u201cCheat Sheet\u201d\n    # se procede con algoritmo b\u00e1sico\n    k = len(Q)\n    poblacion = np.zeros(k,dtype=int)\n    for i in range(0,k,1):\n        unaQ = Q&#x5B;i]\n        tamano = np.shape(unaQ)\n        n = tamano&#x5B;0]\n        m = tamano&#x5B;1]\n        for f in range(0,n,1):\n            for c in range(0,m,1):\n                if (unaQ&#x5B;f,c] == especie):\n                    poblacion&#x5B;i] = poblacion&#x5B;i] +1\n    return(poblacion)\n\n# otra forma es usar una funcion contar en arreglo\ndef contarenarreglo(arreglo,cual):\n    tamano = np.shape(arreglo)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n    contar = 0\n    for f in range(0,n,1):\n        for c in range(0,m,1):\n            if (arreglo&#x5B;f,c] == cual):\n                contar = contar+1\n    return(contar)\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Desarrollo del numeral 2:<\/p>\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# 2Eva_IIT2018_T2 Hielo y especies en \u00c1rtico-Procesar\nimport numpy as np\n\n# funcion numeral 2\ndef densidadHielo(mHielo):\n    Q = cuadrantes(mHielo)\n    k = len(Q)\n    densidad = np.zeros(k,dtype=float)\n    for i in range(0,k,1):\n        unaQ = Q&#x5B;i]\n        tamano = np.shape(unaQ)\n        n = tamano&#x5B;0]\n        m = tamano&#x5B;1]\n        densidad&#x5B;i]=np.sum(unaQ)\/(n*m)\n    return(densidad)\n<\/pre><\/div>\n\n\n<p>desarrollo del numeral 3:<\/p>\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# 2Eva_IIT2018_T2 Hielo y especies en \u00c1rtico-Procesar\nimport numpy as np\n\n# ----- NUMERAL 3 -----\ndef especieDominante(mAnimales):\n    especies = np.unique(mAnimales)\n    ke = len(especies)\n    \n    Q = cuadrantes(mAnimales)\n    k = len(Q)\n    dominante = np.zeros(k,dtype=int)\n    for i in range(0,k,1):\n        unaQ = Q&#x5B;i]\n        cuantos = np.zeros(ke,dtype=int)\n        for j in range(0,ke,1):\n            # soluci\u00f3n semejante al NUMERAL 2\n            # para poblacionEspecie\n            animal = especies&#x5B;j]\n            cuantos&#x5B;j] = contarenarreglo(unaQ,animal)\n        mayoria = np.argmax(cuantos)\n        dominante&#x5B;i]= especies&#x5B;mayoria]\n    return(dominante)\n<\/pre><\/div>\n\n\n<p>desarrollo del numeral 4<\/p>\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# 2Eva_IIT2018_T2 Hielo y especies en \u00c1rtico-Procesar\nimport numpy as np\n\n# ----- NUMERAL 4 -----\ndef migracionEspecie(mAnimales2009, mAnimales2019, especie):\n    Q = cuadrantes(mAnimales2009)\n    k = len(Q)\n    cuantos = np.zeros(k,dtype=int)\n    for i in range(0,k,1):\n        unaQ = Q&#x5B;i]\n        cuantos&#x5B;i] = contarenarreglo(unaQ,especie)\n    mayoria09 = np.argmax(cuantos)\n\n    Q = cuadrantes(mAnimales2019)\n    k = len(Q)\n    cuantos = np.zeros(k,dtype=int)\n    for i in range(0,k,1):\n        unaQ = Q&#x5B;i]\n        cuantos&#x5B;i] = contarenarreglo(unaQ,especie)\n    mayoria19 = np.argmax(cuantos)\n    \n    # considere numeraci\u00f3n desde 0\n    a = 'Q'+str(mayoria09+1)\n    b = 'Q'+str(mayoria19+1)\n    migraron =&#x5B;a,b]\n    return(migraron)\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Programa de prueba, incluye las partes del tema anterior<\/p>\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# 2Eva_IIT2018_T2 Hielo y especies en \u00c1rtico-Procesar\nimport numpy as np\n\n# PROGRAMA DE PRUEBA\n# INGRESO\nnarchivo = 'artico2009-2019.txt'\nespecie = 4\n\n# PROCEDIMIENTO\n\n# ----- NUMERAL 1 ----- \nmatrices = crearMatriz(narchivo)\nmhielo09 = matrices&#x5B;0]\nmhielo19 = matrices&#x5B;1]\nmanimales09 = matrices&#x5B;2]\nmanimales19 = matrices&#x5B;3]\n\n# ----- NUMERAL 2 ----- \nQ = cuadrantes(manimales09)\npoblacion = poblacionEspecie(manimales09, especie)\ndensidad = densidadHielo(mhielo09)\n\n# ----- NUMERAL 3 -----\ndominante = especieDominante(manimales09)\n\n# ----- NUMERAL 4 -----\nmigraron = migracionEspecie(manimales09, manimales19, especie)\n\n\n# SALIDA\nprint(' ----- NUMERAL 1 ----- ')\nprint('hielo 2009')\nprint(mhielo09)\nprint('hielo 2019')\nprint(mhielo19)\nprint('animales 2009')\nprint(manimales09)\nprint('animales 2019')\nprint(manimales19)\n\nprint(' ----- NUMERAL 2 ----- ')\nprint('cuadrantes de manimales09')\nprint(Q)\nprint('poblaci\u00f3n por cuadrantes de manimales09')\nprint('para especie = 4')\nprint(poblacion)\nprint('densidad de hielo para mhielo09')\nprint(densidad)\n\nprint(' ----- NUMERAL 3 ----- ')\nprint('dominantes en manimales09')\nprint(dominante)\nprint(' ----- NUMERAL 4 ----- ')\nprint('migraron de la especie: ',especie)\nprint(migraron)\n<\/pre><\/div>\n\n\n<p>Los resultados obtenidos son:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>animales 2009\n&#091;&#091; 1  2  4  4]\n &#091; 2  5  5  3]\n &#091; 1  3  9  1]\n &#091; 1  1  4  2]\n &#091; 4 22  4  7]\n &#091; 1  1  4  0]]\n\n ----- NUMERAL 2 ----- \ncuadrantes de manimales09\n&#091;&#091;&#091; 1  2]\n  &#091; 2  5]\n  &#091; 1  3]]\n\n &#091;&#091; 4  4]\n  &#091; 5  3]\n  &#091; 9  1]]\n\n &#091;&#091; 1  1]\n  &#091; 4 22]\n  &#091; 1  1]]\n\n &#091;&#091; 4  2]\n  &#091; 4  7]\n  &#091; 4  0]]]\npoblaci\u00f3n por cuadrantes de manimales09\npara especie = 4\n&#091;0 2 1 3]\ndensidad de hielo para mhielo09\n&#091;0.5        0.66666667 0.83333333 0.5       ]\n ----- NUMERAL 3 ----- \ndominantes en manimales09\n&#091;1 4 1 4]\n ----- NUMERAL 4 ----- \nmigraron de la especie:  4\n&#091;'Q4', 'Q2']<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio:\u00a02Eva2018TII_T2 Hielo y especies en \u00c1rtico-Procesar Se a\u00f1ade las instrucciones al tema anterior, Se incluyen las funciones que se asume como existentes para prueba de programa. En caso de problemas o dudas con el conteo, elaborar una funci\u00f3n contar. Desarrollo del numeral 2: desarrollo del numeral 3: desarrollo del numeral 4 Programa de prueba, incluye [&hellip;]<\/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":[136],"tags":[58,157],"class_list":["post-7587","post","type-post","status-publish","format-standard","hentry","category-fp-s2e20","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7587","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=7587"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7587\/revisions"}],"predecessor-version":[{"id":19182,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7587\/revisions\/19182"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}