{"id":7893,"date":"2015-05-18T09:25:05","date_gmt":"2015-05-18T14:25:05","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7893"},"modified":"2026-04-05T14:36:16","modified_gmt":"2026-04-05T19:36:16","slug":"bucles-ciclos-lazos","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u03\/bucles-ciclos-lazos\/","title":{"rendered":"3.3 Bucles o Ciclos \"while\/for\" - Estructuras para Repetir o iterar"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#repitahasta\">Repita-Hasta<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/mientrasrepita\">Mientras-Repita<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Ejemplo 1<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Ejemplo 2<\/a><\/p>\n\n\n\n<p><a href=\"#parafor\">Para\/for<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"repitahasta\">1. Lazo\/Bucle\/Ciclo: Repita-Hasta (do-while\/while not)<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Van Rossum 4.4 p21, Rodr\u00edguez 3.4.3.a p33, Downey 7.4<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"151\" height=\"214\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/Estructura03BucleMientrasRepita.png\" alt=\"Estructura Mientras Repita\" class=\"wp-image-15979\" \/><figcaption class=\"wp-element-caption\">Estructura Mientras Repita<\/figcaption><\/figure>\n\n\n\n<p>En algunos problemas existen bloques de operaciones que se repiten. <\/p>\n\n\n\n<figure class=\"wp-block-image alignleft\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_01.png\"><img loading=\"lazy\" decoding=\"async\" width=\"132\" height=\"209\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_01.png\" alt=\"diagrama de flujo de un lazo repita hasta\" class=\"wp-image-4390\" \/><\/a><\/figure>\n\n\n\n<p>Estas operaciones se pueden <strong>repetir mientras<\/strong> se cumpla una condici\u00f3n o <strong>repetir hasta<\/strong> que se cumpla una condici\u00f3n . Las estructuras de control incorporan lazos, bucles o ciclos para repetir: mientras-repita (<code>while<\/code>), repita-hasta (while not),  y \"para\"(<code>for<\/code>).<\/p>\n\n\n\n<p><strong><em>Ejemplo<\/em><\/strong>: Para aprobar un curso o materia de estudio&nbsp; se debe superar la nota m\u00ednima para aprobar (60\/100).<\/p>\n\n\n\n<p>La condici\u00f3n para continuar al siguiente curso que se aplica en el Bucle se escribe como <strong>mientras<\/strong> la <code>nota&lt;60\/100<\/code>. En el diagrama de flujo la condici\u00f3n se presenta al final del bloque de operaciones, en el algoritmo en Python se escribe al inicio.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\nnota = 0 # nota inicial\nwhile (nota&lt;60\/100):\n    print('tomar el curso')\n    print('hacer el examen')\n    nota = input('nota final:')\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#repitahasta\">Repita-Hasta<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/mientrasrepita\">Mientras-Repita<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Ejemplo 1<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Ejemplo 2<\/a><\/p>\n\n\n\n<p><a href=\"#parafor\">Para\/for<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mientrasrepita\">2. Lazo\/Bucle\/Ciclo: Mientras- Repita (while-do)<\/h2>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"151\" height=\"214\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/Estructura03BucleMientrasRepita.png\" alt=\"Estructura Mientras Repita\" class=\"wp-image-15979\" \/><figcaption class=\"wp-element-caption\">Estructura Mientras Repita<\/figcaption><\/figure>\n\n\n\n<p><em><strong>Ejemplo<\/strong><\/em>: Es el procedimiento usado en las evaluaciones para nivel o curso de idiomas (ingl\u00e9s).<\/p>\n\n\n\n<p>El estudiante primero realiza un examen, si no obtiene la calificaci\u00f3n m\u00ednima debe tomar el nivel\/curso A, caso contrario puede pasar al nivel\/curso B.<\/p>\n\n\n\n<p>La condici\u00f3n para continuar en el lazo o bucle <code>nota&lt;60\/100<\/code>, se eval\u00faa antes de usar el bloque de operaciones, tanto en el diagrama de flujo como en el algoritmo.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\nnota = 0 # nota inicial\nprint('hacer el examen de ingles')\nnota = input('nota final:')\nwhile (nota&lt;60\/100):\n    print('tomar el curso de ingles')\n    print('hacer el examen de ingles')\n    nota = input('nota final:')\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Para el planteamiento del ejercicio o problema&nbsp; al escribir el algoritmo, se selecciona el lazo \u201crepita-hasta\u201d o \u201cmientras-repita\u201d seg\u00fan sea m\u00e1s sencillo de expresar o leer en el planteamiento del ejercicio. Sin embargo, se puede intercambiar la forma del lazo usando la negaci\u00f3n del condicional y cambiando la posici\u00f3n del condicional (inicio o al final).<\/p>\n\n\n\n<p>Por ejemplo en matem\u00e1ticas la expresi\u00f3n se lee:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> f(n) = \\sum_1^n \\frac{1}{n}<\/span>\n\n\n\n<p>\"<em>sumatoria desde 1 hasta n de la expresi\u00f3n matem\u00e1tica 1\/n<\/em>\". En el algoritmo, se establecen los l\u00edmites como desde <code>i=1<\/code> hasta que <code>i<\/code> llegue a <code>n<\/code>,evitando que se hagan c\u00e1lculos para <code>i&gt;n<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; gutter: false; title: ; notranslate\" title=\"\">\nfn = 0\nn = 4\ni = 1 # desde i=1\nwhile not(i&gt;n): # hasta i llege a n, evite i&gt;n\n    fn = fn + 1\/i\n    i = i+1\nprint(fn)\n<\/pre><\/div>\n\n\n<p><em>referencia del ejercicio<\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva10\/1eva2009ti_t1-suma-de-serie-con-signo-alternado\/\" data-type=\"post\" data-id=\"3187\">1Eva2009TI_T1 Suma de serie con signo alternado<\/a><\/p>\n\n\n\n<p><strong><em>Recomendaci\u00f3n<\/em><\/strong>: De ser necesario para continuar, revisar la secci\u00f3n de Conceptos B\u00e1sicos, <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u02\/contadores-y-acumuladores\/\" data-type=\"post\" data-id=\"7877\">contadores y acumuladores.<\/a><\/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=\"Lazos o Bucles y Acumuladores en Python -Estructuras de control en programaci\u00f3n\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/gfBbBToFq6U?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<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#repitahasta\">Repita-Hasta<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/mientrasrepita\">Mientras-Repita<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Ejemplo 1<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Ejemplo 2<\/a><\/p>\n\n\n\n<p><a href=\"#parafor\">Para\/for<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejemplo1\">3. Ejemplo 1<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva10\/1eva2003tiii_t2-numeros-triangulares\/\" data-type=\"post\" data-id=\"3109\">1Eva2003TIII_T2 N\u00fameros triangulares<\/a><\/p>\n\n\n\n<p>Realice un algoritmo para encontrar el t\u00e9rmino n-\u00e9simo de la secuencia de n\u00fameros triangulares.<\/p>\n\n\n\n<p>Un n\u00famero triangular puede entenderse como el n\u00famero de elementos usados para formar una pir\u00e1mide plana, como se muestra en la figura.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_03.png\"><img loading=\"lazy\" decoding=\"async\" width=\"529\" height=\"192\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_03.png\" alt=\"N\u00fameros triangulares, gr\u00e1fica o esquema con pelotas\" class=\"wp-image-4391\" \/><\/a><\/figure>\n\n\n\n<p><strong>Desarrollo<\/strong>:<br>Usando la analog\u00eda de la construcci\u00f3n de una pir\u00e1mide, se observa que para construir un piso se usa un bloque, para a\u00f1adir el piso 2 se usan 2 bloques, para a\u00f1adir el piso 3 se usan 3 bloques, etc.<\/p>\n\n\n\n<p><em><strong>Cu\u00e1ntos<\/strong> <\/em>es la variable de ingreso que indica el n\u00famero de pisos que se construir\u00e1n.<\/p>\n\n\n\n<p>Para iniciar los trabajos, se anuncia la construcci\u00f3n del primer piso y que se han usado 0 bloques.<\/p>\n\n\n\n<p>En el procedimiento de construcci\u00f3n de la pir\u00e1mide, <em><strong>piso<\/strong> <\/em>es una variable tipo contador; <em><strong>usados<\/strong> <\/em>es una variable tipo acumulador que registra los bloques usados en la construcci\u00f3n de cada <em><strong>piso<\/strong><\/em>. Se construye un nuevo piso, acumulando los bloques usados hasta que se hayan construido los pisos de la variable <em><strong>cu\u00e1ntos<\/strong><\/em>.<\/p>\n\n\n\n<p>La variable de salida que muestra el valor resultante es: <em><strong>usados<\/strong><\/em>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Algoritmo en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Ejemplo 1. Numeros triangulares\n\n# INGRESO\ncuantos = int(input('cuantos pisos: '))\n\n# PROCEDIMIENTO\nusados = 0\npiso = 1\nwhile not(piso&gt;cuantos):\n    usados = usados + piso\n    piso = piso + 1\n    \n# SALIDA\nprint(usados)\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Diagrama de Flujo<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"138\" height=\"361\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/EstructuraRepetir_04.png\" alt=\"Diagrama de Flujo, estructura repetir ejercicio n\u00fameros triangulasres\" class=\"wp-image-16004\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>cuantos pisos: 4\n10\n&gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_05.png\"><img loading=\"lazy\" decoding=\"async\" width=\"143\" height=\"361\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_05.png\" alt=\"\" class=\"wp-image-4393\" \/><\/a><figcaption class=\"wp-element-caption\">Diagrama de Flujo - N\u00fameros triangulares con Mientras-Repita<\/figcaption><\/figure>\n\n\n\n<p>El ejemplo se desarroll\u00f3 usando el lazo Repita-Hasta.<\/p>\n\n\n\n<p>Sin embargo, si se quiere cambiar el estilo usando el lazo Mientras-Repita, se lo expresa cambiando el condicional al inicio y negando la expresi\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Repita-Hasta: (pisos&gt;cu\u00e1ntos)\n\/\/ construir <strong>pisos<\/strong> hasta que \n\/\/ se completen los pedidos \n\/\/ en la variable <strong>cu\u00e1ntos<\/strong>\n\nwhile not(<strong>pisos<\/strong>&gt;cu\u00e1ntos)\nwhile (<strong>pisos<\/strong>\u2264 cu\u00e1ntos)\n\/\/Construir <strong>pisos<\/strong> mientras \n\/\/sean menores e iguales a \n\/\/los pedidos en la variable <strong>cu\u00e1ntos<\/strong>.<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#repitahasta\">Repita-Hasta<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/mientrasrepita\">Mientras-Repita<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Ejemplo 1<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Ejemplo 2<\/a><\/p>\n\n\n\n<p><a href=\"#parafor\">Para\/for<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejemplo2\">4. Ejemplo 2<\/h2>\n\n\n\n<p>Extendiendo el ejercicio anterior, construya un algoritmo para determinar si un n\u00famero <strong>t<\/strong> es triangular.<\/p>\n\n\n\n<p>Para esto el lazo se debe controlar mediante el n\u00famero de bloques usados comparados con el n\u00famero <strong>t<\/strong>.<\/p>\n\n\n\n<p>Si los usados son iguales o mayores a <code>t<\/code>, no es necesario continuar el proceso pues se obtuvo un resultado afirmativo, o los usados superan lo requerido y el n\u00famero <code>t<\/code> no es triangular.<\/p>\n\n\n\n<p>Puede mostrarse la respuesta como un valor verdadero (1) o falso (0) al comparar la igualdad entre <code>t<\/code> y <code>usados<\/code>.<\/p>\n\n\n\n<p>La diferencia de las estructuras se puede observar entre el diagrama de Flujo anterior y el presentado.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Algoritmo en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Ejemplo 2. Numero triangular\n\n# Ingreso\nt = int(input('n\u00famero a revisar: '))\n\n# Procedimiento\nusados = 0\npiso = 1\nwhile not (usados&gt;=t):\n    usados = usados + piso\n    piso = piso + 1\n\nif (t==usados):\n    respuesta = 1\nelse:\n    respuesta = 0\n\n# Salida\nprint(respuesta)\n<\/pre><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Diagrama de Flujo<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_06.png\"><img loading=\"lazy\" decoding=\"async\" width=\"209\" height=\"474\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/EstructuraRepetir_06.png\" alt=\"Diagrama de Flujo, ejercicio n\u00fameros triangulares\" class=\"wp-image-4394\" \/><\/a><figcaption class=\"wp-element-caption\">Diagrama de Flujo - N\u00fameros triangulares con Repita-Hasta<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; \nn\u00famero a revisar: 10\n1\n&gt;&gt;&gt; \nn\u00famero a revisar: 7\n0\n&gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<p><em><strong>Propuesta<\/strong><\/em>: Realizar el ejercicio usando la forma mientras-repita.<\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Elementos esenciales para programaci\u00f3n: Algoritmos y Estructuras de Datos Latin Project. Primera Edici\u00f3n 2014. Secci\u00f3n 4.2. p.69<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#repitahasta\">Repita-Hasta<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/mientrasrepita\">Mientras-Repita<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Ejemplo 1<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Ejemplo 2<\/a><\/p>\n\n\n\n<p><a href=\"#parafor\">Para\/for<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"parafor\">5. Bucles o Ciclos \"for\" - Estructuras para Repetir o iterar<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Van Rossum 4.2 p19, Rodr\u00edguez 3.4.3.b p36, Downey 7.3<\/p>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/Lazo_MientrasContador.png\"><img decoding=\"async\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2017\/10\/Lazo_MientrasContador.png\" alt=\"bucle o ciclo mientras en diagrama de flujo\" class=\"wp-image-4412\" \/><\/a><\/figure>\n\n\n\n<p>En algoritmos es frecuente encontrar lazos, bucles&nbsp; o ciclos controlados por solamente un contador, por lo que, los lazos y el contador se pueden integrar y resumir en una forma de representaci\u00f3n conocida como el lazo \u201cPara\u201d o \"for\".<\/p>\n\n\n\n<p>Usamos un diagrama de flujo para mostrar el concepto con un lazo Mientras-Repita.<\/p>\n\n\n\n<p>El contador <strong>i<\/strong>, con valor de <strong>inicio<\/strong>, permite el control de operaciones de un bloque mediante el lazo <strong>mientras<\/strong> con la expresi\u00f3n i menor o igual que <strong>fin<\/strong>.<\/p>\n\n\n\n<p>Luego del bloque de operaciones, se <strong>incrementa<\/strong> el valor de <strong>i<\/strong> para revisar la condici\u00f3n del lazo y repetir si es necesario.<\/p>\n\n\n\n<p>Integrando las operaciones del contador y el lazo, en un diagrama de flujo se pueden simplificar en una estructura de control conocida como \u201cPara\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"194\" height=\"209\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/EstructuraRepetir_ParaFor.png\" alt=\"estructura repetir para for\" class=\"wp-image-16005\" \/><\/figure>\n\n\n\n<p>Se puede leer tambi\u00e9n: \u201cPara los valores de <strong>i<\/strong> empezando en <strong>inicio<\/strong>, avanzando en pasos de <strong>incremento<\/strong> hasta llegar al valor de <strong>fin<\/strong>, repita el siguiente bloque de operaciones\u201d.<\/p>\n\n\n\n<p>Para lazos con expresiones de repetir m\u00e1s complejas (i&gt;n y j&lt;k) ser\u00e1 m\u00e1s pr\u00e1ctico usar las formas repita-hasta o mientras-repita, como se mostrar\u00e1 en la secci\u00f3n de ejemplos.<\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Elementos esenciales para programaci\u00f3n: Algoritmos y Estructuras de Datos Latin Project. Primera Edici\u00f3n 2014. Secci\u00f3n 4.2. p.77<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p><a href=\"#repitahasta\">Repita-Hasta<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/mientrasrepita\">Mientras-Repita<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo1\">Ejemplo 1<\/a><\/p>\n\n\n\n<p><a href=\"#ejemplo2\">Ejemplo 2<\/a><\/p>\n\n\n\n<p><a href=\"#parafor\">Para\/for<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Repita-Hasta Mientras-Repita Ejemplo 1 Ejemplo 2 Para\/for 1. Lazo\/Bucle\/Ciclo: Repita-Hasta (do-while\/while not) Referencia: Van Rossum 4.4 p21, Rodr\u00edguez 3.4.3.a p33, Downey 7.4 En algunos problemas existen bloques de operaciones que se repiten. Estas operaciones se pueden repetir mientras se cumpla una condici\u00f3n o repetir hasta que se cumpla una condici\u00f3n . Las estructuras de control [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-unidades","format":"standard","meta":{"footnotes":""},"categories":[104],"tags":[],"class_list":["post-7893","post","type-post","status-publish","format-standard","hentry","category-fp-u03"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7893","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=7893"}],"version-history":[{"count":16,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7893\/revisions"}],"predecessor-version":[{"id":23452,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7893\/revisions\/23452"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}