{"id":1314,"date":"2014-09-01T11:24:25","date_gmt":"2014-09-01T16:24:25","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=1314"},"modified":"2026-04-05T18:26:24","modified_gmt":"2026-04-05T23:26:24","slug":"s3eva2004ti_t3-multiplicar-con-campesino-egipcio","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva10\/s3eva2004ti_t3-multiplicar-con-campesino-egipcio\/","title":{"rendered":"s3Eva2004TI_T3 Multiplicar con campesino egipcio"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva10\/3eva2004ti_t3-multiplicar-con-campesino-egipcio\/\" data-type=\"post\" data-id=\"2516\">3Eva2004TI_T3 Multiplicar con campesino egipcio<\/a><\/p>\n\n\n\n<p>Literal a. La funci\u00f3n en forma recursiva considera cuatro casos para <strong>q<\/strong> y el residuo de <strong>q<\/strong> con 2. Usar un condicional en cada caso siguiendo lo descrito en la f\u00f3rmula.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> mult(p,q) = \\begin {cases} 0 , &amp;&amp; q=0 \\\\ p ,&amp;&amp; q=1 \\\\ mult \\Big(2p,cociente\\big(\\frac{q}{2}\\big)\\Big) , &amp;&amp; q\\ge 2 \\text {, q es par} \\\\ mult \\Big(2p,cociente\\big(\\frac{q}{2}\\big)\\Big)+p , &amp;&amp; q\\ge 2 \\text{, q es impar }\\end{cases}<\/span>\n\n\n\n<p>Literal b.&nbsp; Requiere que sea un programa estructurado, separando las partes de las funciones de usuario y el programa que lo usa.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Funciones Recursivas con Python. Ejercicio Factorial y campesino egipcio.\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/s-aCcfqdUUQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>En el bloque de ingreso del programa se pide cu\u00e1l tabla de multiplicar se va a generar. Se requiere que la tabla se genere usando la funci\u00f3n creada en el literal a.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\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_IT2004_T3 Multiplicar con campesino egipcio\n# propuesta: edelros@espol.edu.ec\n\ndef mult(p,q):\n    if q==0:\n        z = 0\n    if q==1:\n        z = p\n    r = (q%2)\n    if (q&gt;=2 and r==0):\n        z = mult(2*p, int(q\/2))\n    if (q&gt;=2 and r&gt;0):\n        z = mult(2*p, int(q\/2))+p\n    return (z)\n\n# PROGRAMA ---------------\nimport numpy as np\n\n# INGRESO\nn = int(input('\u00bfcual tabla?: '))\n\n# PROCEDIMIENTO\nr = np.zeros(13,dtype=int)\ni = 1\nwhile (i&lt;=12):\n    r&#x5B;i] = mult(n,i)\n    i = i + 1\n\n# SALIDA\ni=1\nwhile (i&lt;=12):\n    print(str(n)+' x '+str(i)+' = ',str(r&#x5B;i]))\n    i = i + 1\n<\/pre><\/div>\n\n\n<p><strong>Tarea<\/strong>: validar n entre cero y 12<\/p>\n\n\n\n<p>resultado del algoritmo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u00bfcual tabla?: 8\n8 x 1 =  8\n8 x 2 =  16\n8 x 3 =  24\n8 x 4 =  32\n8 x 5 =  40\n8 x 6 =  48\n8 x 7 =  56\n8 x 8 =  64\n8 x 9 =  72\n8 x 10 =  80\n8 x 11 =  88\n8 x 12 =  96\n&gt;&gt;&gt; <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2004TI_T3 Multiplicar con campesino egipcio Literal a. La funci\u00f3n en forma recursiva considera cuatro casos para q y el residuo de q con 2. Usar un condicional en cada caso siguiendo lo descrito en la f\u00f3rmula. Literal b.&nbsp; Requiere que sea un programa estructurado, separando las partes de las funciones de usuario y el [&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":[138],"tags":[58,157],"class_list":["post-1314","post","type-post","status-publish","format-standard","hentry","category-fp-s3eva10","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1314","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=1314"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1314\/revisions"}],"predecessor-version":[{"id":23739,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/1314\/revisions\/23739"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=1314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=1314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=1314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}