{"id":4502,"date":"2017-03-11T05:00:58","date_gmt":"2017-03-11T10:00:58","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=4502"},"modified":"2026-08-20T06:46:21","modified_gmt":"2026-08-20T11:46:21","slug":"s3eva2016ti_t2-sensar-cultivos-con-dron","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva20\/s3eva2016ti_t2-sensar-cultivos-con-dron\/","title":{"rendered":"S3Eva2016TI_T2 sensar cultivos con dron"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva20\/3eva2016ti_t2-sensar-cultivos-con-dron\/\" data-type=\"post\" data-id=\"3825\">3Eva2016TI_T2 sensar cultivos con dron<\/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\">literal a<\/h2>\n\n\n\n<p><code>generarplantacion(dimension)<\/code>. Se obtienen las dimensiones de la matriz plantaci\u00f3n de los argumentos de la funci\u00f3n. con lo que se crea la matriz con ceros.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\n    n = dimension&#x5B;0]\n    m = dimension&#x5B;1]\n    plantacion = np.zeros(shape=(n,m),dtype=int)\n<\/pre><\/div>\n\n\n<p>Cada casilla de la matriz se llena con el resultado de la <code>funci\u00f3nsensarCultivos(posicion)<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\n            posicion = &#x5B;i,j]\n            valor = sensarCultivos(posicion)\n            plantacion&#x5B;i,j] = valor\n<\/pre><\/div>\n\n\n<p> Se a\u00f1ade el recorrido por cada fila y columna mediante bucles anidados y se integra a una funci\u00f3n.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport numpy as np\n\ndef generarplantacion(dimension):\n    n = dimension&#x5B;0]\n    m = dimension&#x5B;1]\n    plantacion = np.zeros(shape=(n,m),dtype=int)\n    i = 0\n    while not(i&gt;=n):\n        j = 0\n        while not(j&gt;=m):\n            posicion = &#x5B;i,j]\n            valor = sensarCultivos(posicion)\n            plantacion&#x5B;i,j] = valor\n            j = j + 1\n        i = i + 1\n    return(plantacion)\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">literal b<\/h2>\n\n\n\n<p><code>analizarDensidad(plantacion, limite)<\/code>. Recibida la matriz <code>plantaci\u00f3n<\/code>, se determina el tama\u00f1o n,m con lo que se crea la matriz para la <code>densidad<\/code> con ceros.<\/p>\n\n\n\n<p>El algoritmo empieza comparando los valores de cada casilla con el l\u00edmite. Si se supera el l\u00edmite se actualiza la casilla <code>densidad<\/code> a 1.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n            if (plantacion&#x5B;i,j]&gt;=limite):\n                densidad&#x5B;i,j]=1\n                fila.append('ALTO')\n            else:\n                fila.append('Bajo')\n<\/pre><\/div>\n\n\n<p>El equivalente con palabras se realiza mediante una lista con los valores 'ALTO' y 'Bajo' correspondiente en cada casilla.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# CCPG1001-Fundamentos de Programaci\u00f3n - FIEC-ESPOL\n# 3Eva_IT2016_T2 sensar cultivos con dron\nimport numpy as np\nimport random as rnd\n\ndef  sensarCultivos(posicion):\n    # Solo para generar una matriz que\n    # permita trabajar con el programa\n    valor = int(rnd.random()*10+1)\n    return(valor)\n\n# literal a\ndef generarplantacion(dimension):\n    n = dimension&#x5B;0]\n    m = dimension&#x5B;1]\n    plantacion = np.zeros(shape=(n,m),dtype=int)\n    i = 0\n    while not(i&gt;=n):\n        j = 0\n        while not(j&gt;=m):\n            posicion = &#x5B;i,j]\n            valor = sensarCultivos(posicion)\n            plantacion&#x5B;i,j] = valor\n            j = j + 1\n        i = i + 1\n    return(plantacion)\n\n# literal b\n# usa matriz densidad de 1 y 0 para facilitar \n# el c\u00e1lculo del literal c\ndef analizarDensidad(plantacion, limite):\n    tamano = np.shape(plantacion)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n    densidad  = np.zeros(shape=(n,m),dtype=int)\n    resultado = &#x5B;]\n    i = 0\n    while not(i&gt;=n):\n        fila = &#x5B;]\n        j = 0\n        while not(j&gt;=m):\n            if (plantacion&#x5B;i,j]&gt;=limite):\n                densidad&#x5B;i,j]=1\n                fila.append('ALTO')\n            else:\n                fila.append('Bajo')\n            j = j + 1\n        resultado.append(fila)\n        i = i + 1\n    \n    return(densidad)\n\n# literal c\ndef reporteCrecimento(plantacion,densidad):\n    tamano = np.shape(plantacion)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n    casillas = n*m\n    \n    sumaALTO = 0\n    sumaBAJO = 0\n    i = 0\n    while not(i&gt;=n):\n        j = 0\n        while not(j&gt;=m):\n            valor = plantacion&#x5B;i,j]\n            if (densidad&#x5B;i,j]==1):\n                sumaALTO = sumaALTO + valor\n            else:\n                sumaBAJO = sumaBAJO + valor\n            j = j + 1\n        i = i + 1\n    prmALTO  = sumaALTO\/(np.sum(densidad))\n    prmBAJO  = sumaBAJO\/(n*m-np.sum(densidad))\n    promedio = &#x5B;prmALTO,prmBAJO]\n    return(promedio)\n<\/pre><\/div>\n\n\n<p>crear un archivo de funciones para importar si las funciones se crean en otro archivo.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# CCPG1001-Fundamentos de Programaci\u00f3n - FIEC-ESPOL\nimport dronescultivos as dron\n\n# PROGRAMA\n# INGRESO , usa datos aleatorios como prueba\ndimension = (3,4)\nplantacion = dron.generarplantacion(dimension)\n\n#PROCEDIMIENTO\nlimite = 4\ndensidad = dron.analizarDensidad(plantacion, limite)\nreporte  = dron.reporteCrecimento(plantacion,densidad)\n\n#SALIDA\nprint(plantacion)\nprint(densidad)\nprint(reporte)\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2016TI_T2 sensar cultivos con dron Propuesta de soluci\u00f3n en Python: literal a generarplantacion(dimension). Se obtienen las dimensiones de la matriz plantaci\u00f3n de los argumentos de la funci\u00f3n. con lo que se crea la matriz con ceros. Cada casilla de la matriz se llena con el resultado de la funci\u00f3nsensarCultivos(posicion) Se a\u00f1ade el recorrido por [&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":[143],"tags":[58,157],"class_list":["post-4502","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\/4502","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=4502"}],"version-history":[{"count":7,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4502\/revisions"}],"predecessor-version":[{"id":25495,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4502\/revisions\/25495"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=4502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=4502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=4502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}