2.4. Abstracción
La abstracción es una habilidad clave del pensamiento computacional. Consiste en identificar lo que es realmente relevante y descartar todo lo que no es estrictamente necesario. De esta manera, la información importante resulta más comprensible y, al mismo tiempo, resulta más simple centrarse en lo esencial.
Por ejemplo, en las estaciones de metro a menudo podemos encontrar una representación de las estaciones sobre una línea recta. En esta representación aparecen de forma ordenada las estaciones de la línea, se señala la estación donde nos encontramos y se indican las correspondencias con otras líneas. Se ha obviado el recorrido real que hace el metro: todas las estaciones están dispuestas en línea recta. También se han obviado las distancias entre estaciones, puesto que en la realidad no son todas equidistantes. Pero esta abstracción permite a las personas identificar dónde se encuentran, cuántas paradas deben hacer para llegar a su destino o en qué estación deben bajar para cambiar de línea.
Otro ejemplo lo encontramos en el menú diario de los restaurantes. En una sola hoja de papel se presentan unas opciones de primer plato, unas opciones de segundo plato y el postre, con los correspondientes precios. No se especifican todos los ingredientes que se utilizan en cada plato ni el proceso que se sigue para cocinarlos, pero esta simplificación se centra en lo esencial, y así, de forma rápida y sencilla, los clientes pueden elegir el almuerzo por un precio cerrado.
A la hora de programar, la abstracción permite centrarse en el núcleo del programa. Permite identificar los bloques de código a partir de los cuales se creará el programa entero. En la figura 3 se muestra un programa para dibujar un pentágono regular de un color y tamaño determinados. A partir de este ejemplo, se pide al alumnado que cree un programa para dibujar un hexágono.
Analizando el programa, podemos observar que cualquier polígono se podrá dibujar haciendo una repetición de tantas veces como lados tenga el polígono y dando un giro en grados equivalente a dividir una vuelta entera, 360 grados, por el número de lados, ya que el dibujo comienza y termina en el mismo punto. En la siguiente tabla se muestran tres ejemplos:
Taula 1. Aplicación de la abstracción
Número de lados |
Repeticiones | Giro en grados (360/lados) | |
Pentágono | 5 | 5 | 360/5 = 72 |
Hexágono | 6 | 6 | 360/6 = 60 |
Pentágono | 7 | 7 | 360/7 = 51,43 |
En este caso, pues, la elaboración del programa se reduce a identificar el número de lados del polígono y a dividir 360 grados por ese número de lados. Este es el corazón de esta programación, y el código se programará a partir de este concepto central. Habrá que aplicar otros conceptos computacionales y habilidades para completarlo, pero el núcleo es esta abstracción.