Bien. Si analizamos el proceso en general que hicimos en relación al
cuadrado, en la unidad previa creamos una primera versión o
forma del programa, la cual en esta unidad modificamos utilizando los bloques
y generalizamos para dibujar cuadrados de cualquier lado y en cualquier posición.
La generalización de soluciones es una práctica muy útil de la
ingeniería de software.
Involucra hacer nuestros programas menos específicos que
un caso particular y que así pueden ser reutilizados en diferentes situaciones.
Por ejemplo, si tenemos un algoritmo para hervir leche semidescremada, podríamos
generalizarlo en describir cómo hervir leche o más aún, cómo hervir líquidos.
En nuestro caso, cuando definimos el procedimiento dibujar cuadrado lado
estábamos generalizando el procedimiento dibujar cuadrado para
dibujar un cuadrado de cualquier lado.
Luego lo generalizamos más aún, permitiendo dibujar cuadrados de cualquier tamaño en
cualquier lugar con el procedimiento dibujar cuadrado lado posición.
Es muy recomendable seguir este enfoque incremental cuando
generalizamos soluciones como hicimos en este video.
Es una buena idea también reutilizar nuestro propio código así
como reutilizamos el procedimiento dibujar cuadrado lado cuando definimos el
procedimiento dibujar cuadrado lado posición.
¿Y qué tal si ahora generalizamos el procedimiento de
dibujar cuadrados más aún, por ejemplo, para dibujar figuras de
cualquier cantidad de lados donde todos los lados sean del mismo largo?
Te dejamos este desafío y esperamos que nos cuentes en el foro cómo te fue.