{"id":7270,"date":"2018-11-30T08:45:02","date_gmt":"2018-11-30T13:45:02","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7270"},"modified":"2026-07-18T09:08:06","modified_gmt":"2026-07-18T14:08:06","slug":"s1eva2018tii_t3-compras-black-friday","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva20\/s1eva2018tii_t3-compras-black-friday\/","title":{"rendered":"s1Eva2018TII_T3 Compras 'Black Friday'"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva20\/1eva2018tii_t3-compras-black-friday\/\" data-type=\"post\" data-id=\"7261\">1Eva2018TII_T3 Compras 'Black Friday'<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"266\" height=\"161\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2018\/11\/BlackFriday01.png\" alt=\"Black Friday 01\" class=\"wp-image-16667\" \/><\/figure>\n\n\n\n<p>Los numerales se desarrollan como funciones, dividiendo el ejercicio por partes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"793\" height=\"275\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2018\/11\/BlackFriday02.gif\" alt=\"blackfriday etiquetas ejemplo\" class=\"wp-image-25084\" \/><\/figure>\n\n\n\n<p>Ejemplos de arreglos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C = &#091;'CTR-2424', 'SKU-5675', 'PSS-4542']<br>P = &#091; 56.65, 32.00, 22.22]<br>D = &#091;0, 50, 10]<br>S = &#091;'Ropa Ni\u00f1os', 'Juguetes', 'Hombre']<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">literal a<\/h2>\n\n\n\n<p>Recibe un c\u00f3digo y los arreglos C,P,D y retorna el precio final del producto, aplicando el descuento correspondiente.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> preciofinal = precio - precio*\\frac{descuento}{100}<\/span>\n\n\n\n<p>Se busca el \u00edndice del <code>C\u00f3digo<\/code> de <code>unacompra<\/code> usando la instrucci\u00f3n <code>Codigo.index(unacompra)<\/code>con lo que se puede buscar el <code>Precio<\/code> y aplicar la f\u00f3rmula del precio final.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n        donde = Codigo.index(unacompra)\n        valor = Precio&#x5B;donde]\n        unprecio = valor - Descuento&#x5B;donde]*valor\/100\n<\/pre><\/div>\n\n\n<p>Para iniciar la b\u00fasqueda se verifica que existe <code>unacompra<\/code> en c\u00f3digo, si existe se establece el precio final, caso contrario la respuesta es cero.<\/p>\n\n\n\n<p>Se establece el bloque como la funci\u00f3n definida en el enunciado.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# literal a\ndef calcularPrecio(unacompra,Codigo,Precio,Descuento):\n    unprecio = 0\n    if (unacompra in Codigo):\n        donde = Codigo.index(unacompra)\n        valor = Precio&#x5B;donde]\n        unprecio = valor - Descuento&#x5B;donde]*valor\/100\n    return(unprecio)\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\">literal b<\/h2>\n\n\n\n<p>Recibe una lista de <strong>compras<\/strong> con los c\u00f3digos de los productos, los arreglos C,P,D y\u00a0aplicando todos los descuentos calcula el valor total a <strong>pagar<\/strong>,<\/p>\n\n\n\n<p>Se desarrolla a partir del resultado de la funci\u00f3n anterior, pues para <code>unacompra<\/code> de la lista compras hay que determinar unprecio a pagar.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n        unacompra = compras&#x5B;i]\n        unprecio = calcularPrecio(unacompra, Codigo,\n                                  Precio, Descuento)\n        totalpagar = totalpagar + unprecio\n<\/pre><\/div>\n\n\n<p>Se acumulan el <code>totalpagar<\/code> de toda la lista <code>compras<\/code> y se la convierte a la funci\u00f3n descrita en el enunciado.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# literal b\ndef calcularTotal(compras,Codigo,Precio,Descuento):\n    m = len(compras)\n    totalpagar = 0\n    i = 0\n    while not(i&gt;=m):\n        unacompra = compras&#x5B;i]\n        unprecio = calcularPrecio(unacompra, Codigo,\n                                  Precio, Descuento)\n        totalpagar = totalpagar + unprecio\n        i = i + 1\n    return(totalpagar)\n<\/pre><\/div>\n\n\n<p><em><strong>Continuar con los siguientes literales<\/strong><\/em>, como se muestra en el algoritmo de ejemplo.<\/p>\n\n\n\n<p>El bloque de procedimiento debe hacer el llamado a las funciones para encontrar las respuestas.<\/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_IIT2018_T3 Compras \u2018Black Friday\u2019\n# Tarea: descuentosPorSecci\u00f3n\nimport random as rnd\nimport numpy as np\n\n# literal a\ndef calcularPrecio(unacompra,Codigo,Precio,Descuento):\n    unprecio = 0\n    if (unacompra in Codigo):\n        donde = Codigo.index(unacompra)\n        valor = Precio&#x5B;donde]\n        unprecio = valor - Descuento&#x5B;donde]*valor\/100\n    return(unprecio)\n\n# literal b\ndef calcularTotal(compras,Codigo,Precio,Descuento):\n    m = len(compras)\n    totalpagar = 0\n    i = 0\n    while not(i&gt;=m):\n        unacompra = compras&#x5B;i]\n        unprecio = calcularPrecio(unacompra, Codigo,\n                                  Precio, Descuento)\n        totalpagar = totalpagar + unprecio\n        i = i + 1\n    return(totalpagar)\n\n# literal c\ndef hallarSecciones(compras,Codigo,Seccion):\n    m = len(compras)\n    visitar = &#x5B;]\n    i = 0\n    while not(i&gt;=m):\n        unacompra = compras&#x5B;i]\n        donde = Codigo.index(unacompra)\n        unaseccion = Seccion&#x5B;donde]\n        if not(unaseccion in visitar):\n            visitar.append(unaseccion)\n        i = i + 1\n    return(visitar)\n\n# literal d\ndef descuentosPorSecci\u00f3n(Descuento,Seccion):\n    remate = &#x5B;]\n    # Tarea: Desarrollar\n    return(remate)\n\n# literal e\n# INGRESO\nunacompra = input('codigo de una compra: ')\n\n# Tarea: ingresar varias compras\ncompras = &#x5B;'SKU-5675', 'PSS-4542']\nCodigo  = &#x5B;'CTR-2424', 'SKU-5675', 'PSS-4542']\nSeccion = &#x5B;'Ropa Ni\u00f1os', 'Juguetes', 'Hombre']\nPrecio  = &#x5B; 56.65, 32.00, 22.22]\nDescuento = &#x5B;0, 50, 10]\n\n# PROCEDIMIENTO\nunprecio   = calcularPrecio(unacompra, Codigo,\n                            Precio,Descuento)\ntotalpagar = calcularTotal(compras, Codigo,\n                           Precio,Descuento)\nvisitar = hallarSecciones(compras,Codigo, Seccion)\nremate  = descuentosPorSecci\u00f3n(Descuento, Seccion)\n\n# SALIDA\nprint('El precio de : ',unacompra)\nprint(unprecio)\nprint('total a pagar de lista de compras: ', totalpagar)\nprint('tiendas a visitar: ',visitar)\nprint('remate de productos por seccion: ',remate)\n<\/pre><\/div>\n\n\n<p>Resultado del algoritmo<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\ncodigo de una compra: CTR-2424\nEl precio de :  CTR-2424\n56.65\ntotal a pagar de lista de compras:  35.998\ntiendas a visitar:  &#x5B;'Juguetes', 'Hombre']\nremate de productos por seccion:  &#x5B;]\n&gt;&gt;&gt; \n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2018TII_T3 Compras 'Black Friday' Los numerales se desarrollan como funciones, dividiendo el ejercicio por partes. Ejemplos de arreglos: literal a Recibe un c\u00f3digo y los arreglos C,P,D y retorna el precio final del producto, aplicando el descuento correspondiente. Se busca el \u00edndice del C\u00f3digo de unacompra usando la instrucci\u00f3n Codigo.index(unacompra)con lo que se puede [&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-7270","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\/7270","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=7270"}],"version-history":[{"count":11,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7270\/revisions"}],"predecessor-version":[{"id":25085,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7270\/revisions\/25085"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}