2.5. Generalización y patrones
La identificación de patrones permite realizar predicciones, establecer normas y resolver problemas que comparten una misma analogía.
Encontramos patrones en muchas situaciones del día a día. En la carretera, los servicios de tráfico tienen muy claro un patrón que se repite casi cada semana: los viernes muchos vehículos salen de las grandes ciudades, y los domingos vuelven. Este patrón permite anticipar medidas para mejorar el tráfico: abrir carriles alternativos, avisar a los usuarios para que salgan o regresen de forma escalonada, activar más servicios de emergencia por si hay algún accidente, etc.
En la calle encontramos otro ejemplo de patrones, en este caso para realizar un programa eficiente: los semáforos siguen una sucesión de iluminación (verde, naranja, rojo) en unos intervalos de tiempo determinados. La programación se basa en una repetición de esa serie de colores a lo largo del día. Basta programarla una vez y hacer que el programa se repita permanentemente. Es decir, la identificación del patrón reduce la escritura de la programación a una sola vez.
En programación, los patrones son básicos y fundamentales para elaborar programas más eficientes y reutilizar programas para contextos de las mismas características. Cuando identificamos patrones y estos patrones nos permiten establecer una respuesta común a problemas de la misma analogía, decimos que hemos llegado a una generalización.
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ódigo que se repiten sucesivamente: muévete hacia delante (100), muévete hacia delante (–100) y gira (45º). Este conjunto de bloques forma un patrón y se repite ocho veces. Esto significa que este programa se puede escribir de forma más eficiente, introduciendo un bloque de repetición (bucle) de la siguiente forma: