{"id":4234,"date":"2015-01-03T11:47:01","date_gmt":"2015-01-03T16:47:01","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=4234"},"modified":"2026-04-05T18:39:38","modified_gmt":"2026-04-05T23:39:38","slug":"s3eva2015ti_t4-bomberos-para-incendios-forestales","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva20\/s3eva2015ti_t4-bomberos-para-incendios-forestales\/","title":{"rendered":"s3Eva2015TI_T4 Bomberos para incendios forestales"},"content":{"rendered":"\n<p><em><strong>Ejercicios<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva20\/3eva2015ti_t4-bomberos-para-incendios-forestales\/\" data-type=\"post\" data-id=\"2685\">3Eva2015TI_T4 Bomberos para incendios forestales<\/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\n<p><strong>Tarea<\/strong>: Desarrollar la opci\u00f3n 3<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# ICM00794-Fundamentos de Computaci\u00f3n - FCNM-ESPOL\n# 3Eva_IT2015_T4 Bomberos para incendios forestales\nimport numpy as np\n\ndef grupobombero(registrados, m, local):\n    n = len(registrados)\n    filas = n\/\/m\n    if (n%m&gt;0):\n        filas = filas+1\n    tabla = np.zeros(shape=(filas,m),dtype = int)\n    # Solo bomberos de provincia local\n    f = 0\n    c = 0\n    i = 0\n    while not(i&gt;=n):\n        cual = registrados&#x5B;i,1]\n        quien = registrados&#x5B;i,0]\n        if (cual == local):\n            tabla&#x5B;f,c] = quien\n            c = c+1\n            if (c&gt;=m):\n                c = 0\n                f = f + 1\n        i = i + 1\n    # los demas bomberos\n    i = 0\n    while not(i&gt;=n):\n        cual = registrados&#x5B;i,1]\n        quien = registrados&#x5B;i,0]\n        if not(cual == local):\n            tabla&#x5B;f,c] = quien\n            c = c + 1\n            if (c&gt;=m):\n                c = 0\n                f = f + 1\n        i = i + 1\n    tabla = np.array(tabla)\n    return(tabla)\n\n# 3ra Evaluaci\u00f3n I T\u00e9rmino 2015\n# Tema 4. Bomberos para incendios forestales\npresentados = &#x5B;]\ntabla  = np.zeros(shape=(1,2),dtype=int)\nopcion = -1\ni = 1\nwhile not(opcion==6):\n    print('1. Registrar bombero')\n    print('2. Asignar grupos')\n    print('3. Mostrar nombres de un grupo')\n    print('4. Guardar datos')\n    print('5. Leer datos')\n    print('6. Salir')\n    opcion = int(input(' opcion: '))\n\n    if (opcion ==1):\n        i = len(presentados) + 1\n        print('voluntario: ',i)\n        \n        ced  = input('cedula: ')\n        nom  = input('nombre: ')\n        nbom = int(input('numero bombero: '))\n        prv  = int(input('provincia: '))\n        while not(prv&gt;=1 and prv&lt;=24):\n            prv = int(input('provincia &#x5B;1,24]: '))\n            \n        unbombero = {'cedula':ced,\n                     'nombre': nom,\n                     'nbombero':nbom,\n                     'provincia':prv}\n        presentados.append(unbombero)\n\n    if (opcion==2):\n        print('asigna grupos.....')\n        m = int(input('cuantos grupos\/incendios: '))\n        local = int(input('ayudar a provincia: '))\n        n = len(presentados)\n        registrados =&#x5B;]\n        i = 0\n        while not(i&gt;=n):\n            nbom = presentados&#x5B;i]&#x5B;'nbombero']\n            prv = presentados&#x5B;i]&#x5B;'provincia']\n            registrados.append(&#x5B;nbom,prv])\n            i = i + 1\n        tabla = grupobombero(registrados, m, local)\n        print(tabla)\n        \n    if (opcion==3):\n        print('....3. Mostrar nombres de un grupo')\n        # Tarea por desarrollar\n            \n    if (opcion==4):\n        narchivo = 'bomberos.txt'\n        archivo = open(narchivo,'w')\n        n = len(presentados)\n        j =0\n        while not(j&gt;=n):\n            ced = presentados&#x5B;j]&#x5B;'cedula']\n            nom = presentados&#x5B;j]&#x5B;'nombre']\n            nbom = presentados&#x5B;j]&#x5B;'nbombero']\n            prv = presentados&#x5B;j]&#x5B;'provincia']\n            linea = ced + ',' +nom + ',' + str(nbom) + ',' +str(prv) +'\\n'\n            archivo.write(linea)\n            j = j+1\n        archivo.close()\n        print('.... registros guardados: ', n)\n        \n    if (opcion == 5):\n        presentados = &#x5B;]\n        narchivo = 'bomberos.txt'\n        \n        archivo = open(narchivo,'r')\n        linea = archivo.readline()\n        while not(linea==''):\n            linea  = linea.strip('\\n')\n            partes = linea.split(',')\n            ced  = partes&#x5B;0]\n            nom  = partes&#x5B;1]\n            nbom = int(partes&#x5B;2])\n            prv  = int(partes&#x5B;3])\n            \n            unbombero = {'cedula':ced,\n                         'nombre': nom,\n                         'nbombero':nbom,\n                         'provincia':prv}\n            presentados.append(unbombero)\n            linea = archivo.readline()\n\n        n = len(presentados)\n        print('.... registros leidos: ', n)\n        archivo.close()\n\n    if (opcion==6):\n        print(' Saliendo del programa ....')\n        print(' ccpg1001 Fundamentos de computaci\u00f3n .....')\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicios: 3Eva2015TI_T4 Bomberos para incendios forestales Propuesta de soluci\u00f3n en Python: Algoritmo en Python Tarea: Desarrollar la opci\u00f3n 3<\/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-4234","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\/4234","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=4234"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4234\/revisions"}],"predecessor-version":[{"id":23775,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4234\/revisions\/23775"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=4234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=4234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=4234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}