{"id":7885,"date":"2015-05-15T09:00:47","date_gmt":"2015-05-15T14:00:47","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7885"},"modified":"2026-03-16T04:53:29","modified_gmt":"2026-03-16T09:53:29","slug":"estructuras-de-control","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-u03\/estructuras-de-control\/","title":{"rendered":"3.1 Estructuras de Control en programaci\u00f3n"},"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=\"#estructuras\">Estructuras<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio<\/a><\/p>\n\n\n\n<p><a href=\"#ingreso\">Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/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=\"estructuras\">Estructuras de Control en programaci\u00f3n \u00bfQu\u00e9 son?<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Van Rossum 4 p19, Rodr\u00edguez 3.4 p26, Downey 5.5<\/p>\n\n\n\n<p>Las estructuras de control en programaci\u00f3n permiten realizar <strong>acciones<\/strong> <strong>ordenadas<\/strong> en el algoritmo <strong>por bloques<\/strong> o secciones de instrucciones, facilitando la escritura y lectura.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Estructura B\u00e1sica<\/h2>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2015\/03\/flujobasico.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"395\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2015\/03\/flujobasico.gif\" alt=\"Diagrama de Flujo B\u00e1sico: inicio, ingreso, procedimiento, salida, fin\" class=\"wp-image-5205\" \/><\/a><figcaption class=\"wp-element-caption\">Diagrama de Flujo B\u00e1sico<\/figcaption><\/figure>\n\n\n\n<p>Toda soluci\u00f3n a un problema (algoritmo) puede ser planteado usando una estructura b\u00e1sica ordenada, compuesta por:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inicio<\/li>\n\n\n\n<li>ingreso<\/li>\n\n\n\n<li>procedimiento<\/li>\n\n\n\n<li>salida<\/li>\n\n\n\n<li>fin<\/li>\n<\/ul>\n\n\n\n<p>Las estructuras de control se usan como una forma l\u00f3gica y ordenada de plantear un algoritmo, para que sea legible por otras personas. As\u00ed el algoritmo tambi\u00e9n ser\u00e1 modular semejante a las piezas de un Lego.<\/p>\n\n\n\n<p>Los diagramas de flujo muestran de forma gr\u00e1fica la estructura l\u00f3gica y ordenada de un algoritmo.<\/p>\n\n\n\n<p>Las estructuras o bloques se podr\u00e1n reutilizar en otros algoritmos (funciones(variables)) para evitar escribirlos nuevamente y solo realizar llamadas sobre sus nombres y par\u00e1metros.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\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=\"Estructura de control B\u00e1sica en Python - Programaci\u00f3n\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/wWPrRZWSPGo?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=\"#estructuras\">Estructuras<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio<\/a><\/p>\n\n\n\n<p><a href=\"#ingreso\">Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/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=\"inicio\">Bloque de Inicio en Python<\/h2>\n\n\n\n<p>Permite dar las indicaciones iniciales para la soluci\u00f3n de un problema, tales como la referencias o comentarios (<strong>#<\/strong>), traer o <strong>import<\/strong>ar las herramientas, conocidas como librer\u00edas , definir sus propias herramientas (funciones), etc.<\/p>\n\n\n\n<p><strong>comentarios<\/strong> o referencias<strong><em>:<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #ff0000\"># 1ra Eval. II Termino 2014<\/span>\n<span style=\"color: #ff0000\"># Tema 1<\/span><\/code><\/pre>\n\n\n\n<p><strong>Librer\u00edas <\/strong>para c\u00e1lculo num\u00e9rico, por ejemplo: <strong>Numpy<\/strong><em><br><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> numpy <span style=\"color: #d35400\">as<\/span> np\nc = np.sqrt((a**2)+(b**2))<\/code><\/pre>\n\n\n\n<p>Librer\u00edas para uso de <strong>aleatorios<\/strong>: <strong>random<\/strong><em><strong><br><\/strong><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> random <span style=\"color: #d35400\">as<\/span> rnd\ndado = int(rnd.random.random()*6)+1<\/code><\/pre>\n\n\n\n<p>Librer\u00edas para uso de <strong>vectores y Matrices<\/strong>: <strong>Numpy<\/strong><em><strong><br><\/strong><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> numpy <span style=\"color: #d35400\">as<\/span> np\ntabla= np.zeros(5,dtype=int)\ntabla= np.zeros(shape=(3,5), dtype=float)<\/code><\/pre>\n\n\n\n<p>entre muchas otras para gr\u00e1ficas, manejo de datos, ecuaciones algebraicas, sonido, etc.<\/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=\"#estructuras\">Estructuras<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio<\/a><\/p>\n\n\n\n<p><a href=\"#ingreso\">Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/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=\"ingreso\">Bloque de Ingreso en Python<\/h2>\n\n\n\n<p>Secci\u00f3n donde se pide o ingresa los datos necesarios para resolver el problema, es decir se obtienen los valores de las variables, etc.<\/p>\n\n\n\n<p>Ejemplo: Pedir un n\u00famero <strong>entero <\/strong>por teclado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a = <strong><span style=\"color: #ff00ff\">int<\/span><\/strong>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'pregunta: '<\/span>))<\/code><\/pre>\n\n\n\n<p>Ejemplo<strong>:<\/strong> ingresar un n\u00famero <strong>real <\/strong>por teclado <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a = <strong><span style=\"color: #ff00ff\">float<\/span><\/strong>(<span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'pregunta: '<\/span>))<\/code><\/pre>\n\n\n\n<p>Ejemplo<strong>:<\/strong> ingresar un <strong>texto<\/strong> o palabra por teclado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a = <span style=\"color: #ff00ff\">input<\/span>(<span style=\"color: #008000\">'pregunta: '<\/span>)<\/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=\"#estructuras\">Estructuras<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio<\/a><\/p>\n\n\n\n<p><a href=\"#ingreso\">Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/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=\"procedimiento\">Bloque de Procedimiento en Python<\/h2>\n\n\n\n<p>Donde se resuelve el problema con los datos ingresados. Aqu\u00ed es donde m\u00e1s se usan las estructuras de control de operaciones, se desarrolla por bloques.<\/p>\n\n\n\n<p>En cada bloque, la sangr\u00eda o \"<a href=\"https:\/\/es.wikipedia.org\/wiki\/Estilo_de_sangrado\">indentaci\u00f3n<\/a>\" indica dependencia del bloque.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Condicionales<\/h3>\n\n\n\n<p>Permite seleccionar una operaci\u00f3n como resultado de una condici\u00f3n establecida.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"207\" height=\"199\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/04\/condicional.png\" alt=\"Diagrama de Flujo Condici\u00f3n: condicional simple\" class=\"wp-image-542\" \/><figcaption class=\"wp-element-caption\">Estructura Condicional<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>if <em><strong>(Condicion):<\/strong><\/em>\n<em><strong>    Verdadero\n<\/strong><\/em>else:\n<em><strong>    Falso<\/strong><\/em><\/code><\/pre>\n\n\n\n<p>Ejemplo en Python:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">if<\/span> (a&gt;b):\n    a = a+3\n<span style=\"color: #d35400\">else<\/span>:\n    b = b-2<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Lazo o bucle: Mientras Repita<\/h3>\n\n\n\n<p>permite repetir un bloque de operaciones controlado por una condici\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"151\" height=\"214\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/05\/Estructura03BucleMientrasRepita.png\" alt=\"Diagrama de flujo: Estructura Mientras Repita\" class=\"wp-image-15979\" \/><figcaption class=\"wp-element-caption\">Estructura Mientras Repita<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>while (<em><strong>condicion<\/strong><\/em>):\n<strong>    operaciones<\/strong><\/code><\/pre>\n\n\n\n<p>Ejemplo en Python:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a=50\n<span style=\"color: #d35400\">while<\/span> (a&lt;100):\n    a = a+5<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Lazo o Bucle: Repita-Hasta<\/h3>\n\n\n\n<p>Se interpreta como: ejecutar \"hasta\" que se cumpla la condici\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright\"><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2015\/04\/Repitahasta.png\"><img loading=\"lazy\" decoding=\"async\" width=\"129\" height=\"209\" src=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ccpg1001\/files\/2015\/04\/Repitahasta.png\" alt=\"Diagrama de flujo: Estructura Repita hasta\" class=\"wp-image-544\" \/><\/a><figcaption class=\"wp-element-caption\">Estructura Repita hasta<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>while not(condicion):\n    operaciones<\/code><\/pre>\n\n\n\n<p>Ejemplo en Python<strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a=50\n<span style=\"color: #d35400\">while<\/span> <span style=\"color: #d35400\">not<\/span>(a&lt;100):\n    a = a+5<\/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=\"#estructuras\">Estructuras<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio<\/a><\/p>\n\n\n\n<p><a href=\"#ingreso\">Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/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=\"salida\">Bloque de Salida en Python<\/h2>\n\n\n\n<p>Presenta los resultados encontrados al desarrollar la soluci\u00f3n al problema.<\/p>\n\n\n\n<p>Ejemplo: para mostrar una variable o un mensaje <strong><em><br><\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'Resultado: '<\/span>)\n<span style=\"color: #ff00ff\">print<\/span>(variable)\n<span style=\"color: #ff00ff\">print<\/span>(<span style=\"color: #008000\">'mensaje:'<\/span>, respuesta)<\/code><\/pre>\n\n\n\n<p>En las siguiente secciones se dan m\u00e1s detalles, junto al desarrollo de los ejercicios.<\/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=\"#estructuras\">Estructuras<\/a><\/p>\n\n\n\n<p><a href=\"#inicio\">Inicio<\/a><\/p>\n\n\n\n<p><a href=\"#ingreso\">Ingreso<\/a><\/p>\n\n\n\n<p><a href=\"#procedimiento\">Procedimiento<\/a><\/p>\n\n\n\n<p><a href=\"#salida\">Salida<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>Estructuras Inicio Ingreso Procedimiento Salida Estructuras de Control en programaci\u00f3n \u00bfQu\u00e9 son? Referencia: Van Rossum 4 p19, Rodr\u00edguez 3.4 p26, Downey 5.5 Las estructuras de control en programaci\u00f3n permiten realizar acciones ordenadas en el algoritmo por bloques o secciones de instrucciones, facilitando la escritura y lectura. Estructura B\u00e1sica Toda soluci\u00f3n a un problema (algoritmo) 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-unidades","format":"standard","meta":{"footnotes":""},"categories":[104],"tags":[],"class_list":["post-7885","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\/7885","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=7885"}],"version-history":[{"count":8,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7885\/revisions"}],"predecessor-version":[{"id":23019,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7885\/revisions\/23019"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}