{"id":5142,"date":"2017-09-19T09:52:26","date_gmt":"2017-09-19T14:52:26","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=5142"},"modified":"2026-04-05T18:35:30","modified_gmt":"2026-04-05T23:35:30","slug":"s3eva2017ti_t2-huracanes-en-atlantico-norte","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva20\/s3eva2017ti_t2-huracanes-en-atlantico-norte\/","title":{"rendered":"s3Eva2017TI_T2 Huracanes en Atl\u00e1ntico Norte"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva20\/3eva2017ti_t2-huracanes-en-atlantico-norte\/\" data-type=\"post\" data-id=\"4341\">3Eva2017TI_T2 Huracanes en Atl\u00e1ntico Norte<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n en <strong>Python<\/strong>:<\/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# 3Eva_IT2017_T2 Huracanes en Atlantico Norte\n# Supone que el numero de columnas de M\n# Es igual al numero de nombres en huracanes\n\nimport numpy as np\n\ndef categoriza(M):\n    tamano = np.shape(M)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n    categoria = np.ones(m, dtype=int)\n    for j in range(0,m,1):\n        vv = M&#x5B;2,j]\n        if (vv&gt;=100 and vv=150 and vv=200 and vv250):\n            categoria&#x5B;j]=5\n    return(categoria)\n\ndef total_marejada(M,cat):\n    categoria = categoriza(M)\n    \n    tamano = np.shape(M)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n\n    marejadas = np.zeros(6,dtype=float)\n    for j in range(0,m,1):\n        k = categoria&#x5B;j]\n        marejadas&#x5B;k] = marejadas&#x5B;k]+M&#x5B;4,j]\n    totaluna = marejadas&#x5B;cat]\n    return(totaluna)\n\ndef indices_anio(huracanes,anio):\n    # Supone que cantidad de huracanes\n    # es igual a columnas de matriz\n    cuales  = huracanes.keys()\n    indices = {}\n    a = 0\n    b = -1\n    for cada in cuales:\n        m = len(huracanes&#x5B;cada])\n        a = b + 1\n        b = a + m-1\n        indices&#x5B;cada] = &#x5B;a,b]\n    return(indices&#x5B;anio])\n\ndef velocidad_superior(M,huracanes,anio):\n    cual   = indices_anio(huracanes,anio)\n    desde  = cual&#x5B;0]\n    hasta  = cual&#x5B;1]\n    vector = M&#x5B;0,desde:hasta+1]\n    promedio = np.mean(vector)\n    cuantos = 0\n    for valor in vector:\n        if (valor&gt;promedio):\n            cuantos = cuantos + 1\n    return(cuantos)\n\ndef ACE(M,huracanes,anio):\n    cual   = indices_anio(huracanes,anio)\n    desde  = cual&#x5B;0]\n    hasta  = cual&#x5B;1]\n    vector = M&#x5B;0,desde:hasta+1]\n    liberada = 0\n    for valor in vector:\n        liberada = liberada + valor**2\n    liberada = liberada*(10**(-4))\n    return(liberada)\n\ndef lluvia(M, huracanes, nombre_huracan,anio):\n    nombres = huracanes&#x5B;anio]\n    nombres = list(nombres)\n    donde   = nombres.index(nombre_huracan)\n    cual  = indices_anio(huracanes,anio)\n    desde = cual&#x5B;0]\n    hasta = cual&#x5B;1]\n    cantidad = M&#x5B;3,desde+donde]\n    return(cantidad)\n\n# PROGRAMA ------------------------\nimport numpy as np\n\nM = np.array(&#x5B;&#x5B;20, 30, 19, 15, 18],\n              &#x5B;89,195,120,150,240],\n              &#x5B;65,165,100,110,200],\n              &#x5B;30, 49, 35, 89, 67],\n              &#x5B; 5, 18,  1,  2,  5]]\n             )\n# 2015:('Ana','Kate'), # No usado para el ejemplo (CONFUSO)\nhuracanes = {2016:('Alex', 'Otto'),\n             2017:('Ariene', 'Harvey','Irma'),\n             }\ncat = 2\nanio = 2017\nnombre_huracan = 'Harvey'\n\n# PROCEDIMIENTO\ncategoria = categoriza(M)\nmarejadas = total_marejada(M,cat)\nindices   = indices_anio(huracanes,anio)\nvel_superior = velocidad_superior(M,huracanes,anio)\nenergia = ACE(M,huracanes,anio)\nllovio  = lluvia(M, huracanes, nombre_huracan,anio)\n\n# SALIDA\nprint(M)\nprint(huracanes)\nprint('---')\nprint('categorias: ', categoria)\nprint('Marejadas cat&#x5B;'+str(cat)+']: ', marejadas)\nprint('indices: ', indices)\nprint('velocidad superior: ', vel_superior)\nprint('Energia liberada: ',energia)\nprint('lluvia en mm: ', llovio)\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2017TI_T2 Huracanes en Atl\u00e1ntico Norte Propuesta de soluci\u00f3n 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-5142","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\/5142","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=5142"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5142\/revisions"}],"predecessor-version":[{"id":23765,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5142\/revisions\/23765"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=5142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=5142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=5142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}