{"id":369,"date":"2024-11-11T18:50:40","date_gmt":"2024-11-11T18:50:40","guid":{"rendered":"https:\/\/equipomedios.com\/blog\/?p=369"},"modified":"2024-10-18T18:51:38","modified_gmt":"2024-10-18T18:51:38","slug":"programacion-estructurada-python","status":"publish","type":"post","link":"https:\/\/equipomedios.com\/blog\/programacion-estructurada-python\/","title":{"rendered":"Programaci\u00f3n estructurada | Python"},"content":{"rendered":"<h1>Programaci\u00f3n estructurada<\/h1>\n<p>La programaci\u00f3n estructurada es un paradigma de programaci\u00f3n basado en utilizar\u00a0<span class=\"std std-ref\">funciones<\/span>\u00a0o subrutinas, y \u00fanicamente tres estructuras de control:<\/p>\n<ul class=\"simple\">\n<li>secuencia: ejecuci\u00f3n de una sentencia tras otra.<\/li>\n<li>selecci\u00f3n o condicional: ejecuci\u00f3n de una sentencia o conjunto de sentencias, seg\u00fan el valor de una variable booleana.<\/li>\n<li>iteraci\u00f3n (ciclo o bucle): ejecuci\u00f3n de una sentencia o conjunto de sentencias, mientras una variable booleana sea verdadera.<\/li>\n<\/ul>\n<p>Este paradigma se fundamente en el teorema correspondiente, que establece que toda funci\u00f3n computable puede ser implementada en un lenguaje de programaci\u00f3n que combine s\u00f3lo estas tres estructuras l\u00f3gicas o de control.<\/p>\n<p>La estructura de secuencia es la que se da naturalmente en el lenguaje, ya que por defecto las sentencias son ejecutadas en el orden en que aparecen escritas en el programa.<\/p>\n<p>Para las estructuras condicionales o de selecci\u00f3n, Python dispone de la sentencia\u00a0<span class=\"std std-ref\">if<\/span>, que puede combinarse con sentencias\u00a0<span class=\"std std-ref\">e<\/span><span class=\"std std-ref\">lif<\/span>\u00a0y\/o\u00a0<span class=\"std std-ref\">else<\/span>.<\/p>\n<p>Para los bucles o iteraciones existen las estructuras\u00a0<span class=\"std std-ref\">while<\/span>\u00a0y\u00a0<span class=\"std std-ref\">for<\/span>.<\/p>\n<div id=\"ventajas-del-paradigma\" class=\"section\">\n<h2>Ventajas del paradigma<\/h2>\n<p>Entre las ventajas de la programaci\u00f3n estructurada sobre el modelo anterior (hoy llamado despectivamente\u00a0<em>c\u00f3digo espagueti<\/em>), cabe citar las siguientes:<\/p>\n<ul class=\"simple\">\n<li>Los programas son m\u00e1s f\u00e1ciles de entender, pueden ser le\u00eddos de forma secuencial y no hay necesidad de tener que rastrear saltos de l\u00edneas (GOTO) dentro de los bloques de c\u00f3digo para intentar entender la l\u00f3gica interna.<\/li>\n<li>La estructura de los programas es clara, puesto que las sentencias est\u00e1n m\u00e1s ligadas o relacionadas entre s\u00ed.<\/li>\n<li>Se optimiza el esfuerzo en las fases de pruebas y depuraci\u00f3n. El seguimiento de los fallos o errores del programa (debugging), y con \u00e9l su detecci\u00f3n y correcci\u00f3n, se facilita enormemente.<\/li>\n<li>Se reducen los costos de mantenimiento. An\u00e1logamente a la depuraci\u00f3n, durante la fase de mantenimiento, modificar o extender los programas resulta m\u00e1s f\u00e1cil.<\/li>\n<li>Los programas son m\u00e1s sencillos y m\u00e1s r\u00e1pidos de confeccionar.<\/li>\n<li>Se incrementa el rendimiento de los programadores.<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Programaci\u00f3n estructurada La programaci\u00f3n estructurada es un paradigma de programaci\u00f3n basado en utilizar\u00a0funciones\u00a0o subrutinas, y \u00fanicamente tres estructuras de control: secuencia: ejecuci\u00f3n de una sentencia tras otra. selecci\u00f3n o condicional: ejecuci\u00f3n de una sentencia o conjunto de sentencias, seg\u00fan el valor de una variable booleana. iteraci\u00f3n (ciclo o bucle): ejecuci\u00f3n de una sentencia o conjunto [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":331,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[39,40],"tags":[],"class_list":["post-369","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","category-python"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/equipomedios.com\/blog\/wp-content\/uploads\/2024\/08\/python-logo-master-v3-TM.png?fit=601%2C203&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/comments?post=369"}],"version-history":[{"count":1,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/369\/revisions"}],"predecessor-version":[{"id":370,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/369\/revisions\/370"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media\/331"}],"wp:attachment":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media?parent=369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/categories?post=369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/tags?post=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}