{"id":5071,"date":"2017-12-04T09:40:46","date_gmt":"2017-12-04T14:40:46","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=5071"},"modified":"2026-04-05T17:34:24","modified_gmt":"2026-04-05T22:34:24","slug":"s1eva2017tii_t3-venta-combustibles","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva20\/s1eva2017tii_t3-venta-combustibles\/","title":{"rendered":"s1Eva2017TII_T3 Venta combustibles"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva20\/1eva2017tii_t3-venta-combustibles\/\" data-type=\"post\" data-id=\"4440\">1Eva2017TII_T3 Venta combustibles<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n en <strong>Python:<\/strong><\/p>\n\n\n\n<p>Se usan datos de prueba para probar la ejecuci\u00f3n del algoritmo por cada literal. En el bloque de ingreso se pide solo un tipo de combustible (literal a) y una ciudad (literal b).<\/p>\n\n\n\n<p>Se usa vector.index(dato) para ubicar la posici\u00f3n de un dato en el vector.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #ff0000\"># literal a<\/span>\ncual     = tipoGasolina.index(untipo)\ncantidad = venta&#091;cual,:]\nprom_anual =  np.sum(cantidad)\/m\nmenosprom  = &#091;]\n<span style=\"color: #d35400\">for<\/span> c <span style=\"color: #d35400\">in<\/span> <span style=\"color: #ff00ff\">range<\/span>(0,m,1):\n    <span style=\"color: #d35400\">if<\/span> (cantidad&#091;c]&lt;prom_anual):\n        menosprom.append(gasolinera&#091;c])<\/code><\/pre>\n\n\n\n<p>Como algunas respuestas tienen un n\u00famero indeterminado de elementos se usan listas, al inicio vac\u00edas. Revise el uso de np.concatenate() para hacerlo con arreglos.<\/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# 1Eva_IIT2017_T3 Venta combustibles\nimport numpy as np\n\n# INGRESO\nventa = np.array(&#x5B;\n    &#x5B; 239034,  678493,  896321,   32438,  554213],\n    &#x5B;4568321, 6745634, 9754008, 3242342, 3456123],\n    &#x5B; 234773,   56743,  123678,    4783,   90874],\n    &#x5B;  45672,   45212,   90781,    3904,   90431]])\n\ntipoGasolina = np.array(&#x5B;'Regular',\n                         'Extra',\n                         'Super',\n                         'Premium'])\n\ngasolinera  = np.array(&#x5B;'Primax Alborada',\n                        'PS Los R\u00edos',\n                        'M\u00f3bil Cumbay\u00e1',\n                        'Lutexa Cia Ltda',\n                        'PS Remigio Crespo'])\n\ndistrito = np.array(&#x5B;'distrito1',\n                     'distrito2',\n                     'distrito1',\n                     'distrito2',\n                     'distrito4'])\n\nciudad =  np.array(&#x5B;'Guayaquil',\n                    'Babahoyo',\n                    'Quito',\n                    'Guayaquil',\n                    'Cuenca'])\n\nmeta = 5000000\n\nuntipo    = input('un tipo de gasolina: ')\nunaciudad = input('una ciudad: ')\n\n# PROCEDIMIENTO\ntipoGasolina = list(tipoGasolina)\ngasolinera   = list(gasolinera)\ndistrito = list(distrito)\nciudad   = list(ciudad)\n\ntamano = np.shape(venta)\nn = tamano&#x5B;0]\nm = tamano&#x5B;1]\n\n# literal a\ncual     = tipoGasolina.index(untipo)\ncantidad = venta&#x5B;cual,:]\nprom_anual =  np.sum(cantidad)\/m\nmenosprom  = &#x5B;]\nfor c in range(0,m,1):\n    if (cantidad&#x5B;c]&lt;prom_anual):\n        menosprom.append(gasolinera&#x5B;c])\n\n# literal b\ncual  = ciudad.index(unaciudad)\nanual = np.sum(venta, axis=0)\nmenosciudad = &#x5B;]\nfor c in range(0,m,1):\n    if (ciudad&#x5B;c] == unaciudad  and anual&#x5B;c]&lt;meta):\n        menosciudad.append(gasolinera&#x5B;c])\ncuantas = len(menosciudad)\n\n# literal c\ncual = tipoGasolina.index('Premium')\ncantidad = venta&#x5B;cual,:]\nnombres = &#x5B;]\nvalores = &#x5B;]\nfor c in range(0,m,1):\n    if (distrito&#x5B;c] == 'distrito2'):\n        nombres.append(ciudad&#x5B;c])\n        valores.append(cantidad&#x5B;c])\n\nk = len(nombres)\nmayor = np.argmax(np.array(valores))\nmejorendistrito = nombres&#x5B;mayor]\n\n# SALIDA\nprint('literal a')\nprint('con menos ventas anuales que promedio: ')\nprint(menosprom)\n\nprint('literal b')\nprint('cantidad de estaciones de ' + unaciudad + ': ')\nprint(cuantas)\n\nprint('literal c')\nprint(nombres)\nprint(valores)\nprint(mejorendistrito)\n<\/pre><\/div>\n\n\n<p>Resultado del algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>un tipo de gasolina: Regular\nuna ciudad: Guayaquil\nliteral a\ncon menos ventas anuales que promedio: \n&#091;'Primax Alborada', 'Lutexa Cia Ltda']\nliteral b\ncantidad de estaciones de Guayaquil: \n1\nliteral c\n&#091;'Babahoyo', 'Guayaquil']\n&#091;45212, 3904]\nBabahoyo\n&gt;&gt;&gt; <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2017TII_T3 Venta combustibles Propuesta de soluci\u00f3n en Python: Se usan datos de prueba para probar la ejecuci\u00f3n del algoritmo por cada literal. En el bloque de ingreso se pide solo un tipo de combustible (literal a) y una ciudad (literal b). Se usa vector.index(dato) para ubicar la posici\u00f3n de un dato en el vector. [&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":[130],"tags":[58,157],"class_list":["post-5071","post","type-post","status-publish","format-standard","hentry","category-fp-s1eva20","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5071","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=5071"}],"version-history":[{"count":5,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5071\/revisions"}],"predecessor-version":[{"id":23603,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/5071\/revisions\/23603"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=5071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=5071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=5071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}