2.5. Generalització i patrons
La identificació de patrons permet fer prediccions, establir normes i resoldre problemes que comparteixen una mateixa analogia.
Trobem patrons en moltes situacions del dia a dia. A la carretera, els serveis de trànsit tenen molt clar un patró que es repeteix gairebé cada setmana: divendres molts vehicles surten de les grans ciutats i diumenge hi tornen. Aquest patró permet anticipar mesures per millorar el trànsit: obrir carrils alternatius, avisar als usuaris que facin una sortida o tornada esglaonada, activar més serveis d’emergència per si hi ha algun accident, etc.
Al carrer trobem un altre exemple de patrons, en aquest cas per fer un programa eficient. Els semàfors segueixen una successió d’il·luminació (verd, taronja, vermell) en uns intervals de temps determinats. La programació es basa en una repetició d’aquesta sèrie de colors al llarg del dia. N’hi ha prou amb programar-la una vegada i fer que el programa es repeteixi permanentment. És a dir, la identificació del patró redueix la programació a la seva escriptura una sola vegada.
En programació, els patrons són bàsics i fonamentals per elaborar programes més eficients i reutilitzar programes existents per a contextos de les mateixes característiques. Quan identifiquem patrons i aquests patrons ens permeten establir una resposta comuna per a problemes de la mateixa analogia, diem que hem arribat a una generalització.
En aquest programa es dibuixa a la pantalla una figura en forma d’estrella de vuit puntes. Una lectura atenta del programa permet observar que hi ha tres blocs de codi que es repeteixen successivament: mou-te endavant (100), mou-te endavant (–100) i gira (45º). Aquest conjunt de blocs formen un patró i es repeteixen vuit vegades. Això vol dir que aquest programa es pot escriure de forma més eficient, introduint un bloc de repetició (bucle) de la manera següent: