Pensar antes de programar

Si comienzas a programar directamente, salvo que lo que vas a hacer sea algo realmente muy sencillo, lo más probable es que el algoritmo que crees no sea ni claro ni eficiente. Aprender a programar es mucho más que escribir código: implica aprender a pensar. De ahí la importancia de introducir la programación y el pensamiento computacional en nuestras aulas: es un camino que permite fomentar el pensamiento crítico y la autonomía en nuestros alumnos. En este artículo (en inglés) se explica cómo la programación es, en realidad, un medio para alcanzar el verdadero fin último de la educación: aprender a pensar.

Imagen

Que un programa funcione no significa que esté bien hecho. Seguramente todos podríamos construir una casa poniendo 10 columnas en medio del salón para que se sostenga, pero no sería eficiente ni estético.

En programación, los usuarios no van a ver las columnas que hay dentro de la casa, pero si tú como programador añades 10 columnas en medio del “salón” de tu programa, ese programa será muy difícil de mantener o de actualizar en el futuro.

Veamos un ejemplo muy sencillo. Supongamos que queremos hacer un programa que pida un número al usuario y muestre la tabla de multiplicar de ese número. Si no nos paramos a pensar, una solución a la que podríamos haber llegado con Scratch y que funcionaría sería la siguiente:

Mal algoritmo

Elaboración propia utilizando Scratch

Pero éste no es un buen algoritmo, ya que estamos repitiendo la misma instrucción 10 veces (hemos metido 10 columnas en nuestro salón). Si antes de ponernos a programar, nos sentásemos a pensar un poco en un algoritmo que calcule la tabla de multiplicar, seguramente llegaríamos a una solución como ésta que seguramente todos somos capaces de entender:

                             

ALGORITMO mostrar tabla de multiplicar

DATOS

número (el número que pedimos al usuario)

multiplica (el número por el que vamos multiplicando)

INICIO

Pedir un número al usuario y guardarlo en número

multiplica = 1

REPETIR 10 veces

ESCRIBIR EL TEXTO “número x multiplica =”

ESCRIBIR el resultado de multiplicar número x multipica

INCREMENTAR en 1 multiplica

FIN REPETIR

FIN

Una vez que hemos pensado el algoritmo, el problema ya está resuelto, y simplemente tendríamos que utilizar un lenguaje de programación para escribir este algoritmo (Scratch, java, javascript, C++, etc.).

Veamos cómo quedaría este algoritmo una vez que lo hemos programado en Scratch:

Buen algoritmo

Elaboración propia utilizando Scratch

Recuerda

Antes de comenzar a programar, aunque sea con un lenguaje sencillo y visual como Scratch, es importante pensar cómo vas a hacer las cosas y los pasos que vas a seguir para resolver el problema (Algoritmo).