{"id":219,"date":"2024-06-14T17:49:47","date_gmt":"2024-06-14T15:49:47","guid":{"rendered":"https:\/\/pensament-computa-recursos-test.azurewebsites.net\/?page_id=219"},"modified":"2024-07-09T12:36:41","modified_gmt":"2024-07-09T10:36:41","slug":"2-5-generalizacion-y-patrones","status":"publish","type":"page","link":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/2-5-generalizacion-y-patrones\/","title":{"rendered":"2.5. Generalizaci\u00f3n y patrones"},"content":{"rendered":"<div class=\"featured featured-blue\"><p>La identificaci\u00f3n de patrones permite realizar predicciones, establecer normas y resolver problemas que comparten una misma analog\u00eda.<\/p>\n<\/div>\n<div class=\"featured featured-grey\"><p>Encontramos patrones en muchas situaciones del d\u00eda a d\u00eda. En la carretera, los servicios de tr\u00e1fico tienen muy claro un patr\u00f3n que se repite casi cada semana: los viernes muchos veh\u00edculos salen de las grandes ciudades, y los domingos vuelven. Este patr\u00f3n permite anticipar medidas para mejorar el tr\u00e1fico: abrir carriles alternativos, avisar a los usuarios para que salgan o regresen de forma escalonada, activar m\u00e1s servicios de emergencia por si hay alg\u00fan accidente, etc.<\/p>\n<p>En la calle encontramos otro ejemplo de patrones, en este caso para realizar un programa eficiente: los sem\u00e1foros siguen una sucesi\u00f3n de iluminaci\u00f3n (verde, naranja, rojo) en unos intervalos de tiempo determinados. La programaci\u00f3n se basa en una repetici\u00f3n de esa serie de colores a lo largo del d\u00eda. Basta programarla una vez y hacer que el programa se repita permanentemente. Es decir, la identificaci\u00f3n del patr\u00f3n reduce la escritura de la programaci\u00f3n a una sola vez.<\/p>\n<\/div>\n<p>En programaci\u00f3n, los patrones son b\u00e1sicos y fundamentales para elaborar programas m\u00e1s eficientes y reutilizar programas para contextos de las mismas caracter\u00edsticas. Cuando identificamos patrones y estos patrones nos permiten establecer una respuesta com\u00fan a problemas de la misma analog\u00eda, decimos que hemos llegado a una generalizaci\u00f3n.<\/p>\n<figure id=\"attachment_87\" aria-describedby=\"caption-attachment-87\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-87 size-full\" src=\"\/wp-content\/uploads\/2024\/06\/PID_00301454_04.jpg\" alt=\"\" width=\"640\" height=\"299\" srcset=\"\/wp-content\/uploads\/2024\/06\/PID_00301454_04.jpg 640w, \/wp-content\/uploads\/2024\/06\/PID_00301454_04-300x140.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-87\" class=\"wp-caption-text\">Figura 4. B\u00fasqueda de patrones<br \/>Fuente: <a href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener\">Scratch.mit.edu<\/a><\/figcaption><\/figure>\n<p>En este programa se dibuja en la pantalla una figura en forma de estrella de ocho puntas. Una lectura atenta del programa permite observar que hay tres bloques de c\u00f3digo que se repiten sucesivamente: mu\u00e9vete hacia delante (100), mu\u00e9vete hacia delante (\u2013100) y gira (45\u00ba). Este conjunto de bloques forma un patr\u00f3n y se repite ocho veces. Esto significa que este programa se puede escribir de forma m\u00e1s eficiente, introduciendo un bloque de repetici\u00f3n (bucle) de la siguiente forma:<\/p>\n<figure id=\"attachment_89\" aria-describedby=\"caption-attachment-89\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-89 size-full\" src=\"\/wp-content\/uploads\/2024\/06\/PID_00301454_05.jpg\" alt=\"\" width=\"640\" height=\"301\" srcset=\"\/wp-content\/uploads\/2024\/06\/PID_00301454_05.jpg 640w, \/wp-content\/uploads\/2024\/06\/PID_00301454_05-300x141.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-89\" class=\"wp-caption-text\">Figura 5. Aplicaci\u00f3n de patrones<br \/>Fuente: <a href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener\">Scratch.mit.edu<\/a><\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>En programaci\u00f3n, los patrones son b\u00e1sicos y fundamentales para elaborar programas m\u00e1s eficientes y reutilizar programas para contextos de las mismas caracter\u00edsticas. Cuando identificamos patrones y estos patrones nos permiten establecer una respuesta com\u00fan a problemas de la misma analog\u00eda, decimos que hemos llegado a una generalizaci\u00f3n. En este programa se dibuja en la pantalla [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"acf":[],"_links":{"self":[{"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/219"}],"collection":[{"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/comments?post=219"}],"version-history":[{"count":4,"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/219\/revisions"}],"predecessor-version":[{"id":223,"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/219\/revisions\/223"}],"wp:attachment":[{"href":"https:\/\/pensament-computacional-test.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/media?parent=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}