Cómo se parte un problema en pasos
Antes dijimos que un algoritmo es "un orden fijo de pasos para resolver un problema". Pero ante un problema grande, ese orden no se nos ocurre. El secreto es uno solo: si no cabe de un bocado, divídelo en trozos más pequeños del mismo tipo.
No cabe de un bocado
Que te digan que ordenes toda tu habitación agobia.
No sabes por dónde empezar ni en qué orden.
Los problemas grandes son así: vistos como un solo bloque, son demasiado grandes para un bocado.
Pulsa el problema grande y se divide en trozos pequeños. Ordenar la habitación → escritorio · cama · suelo · estantería.
La habitación entera agobiaba, pero dividida en escritorio, cama, suelo y estantería, de pronto parece factible.
Ese es el primer paso para resolver un problema grande: dividirlo en trozos pequeños.
El mismo tipo de problema, pero más pequeño
Si miras bien los trozos, notarás algo curioso.
Cada trozo sigue siendo "ordenar". Ordenar la habitación solo se ha reducido a ordenar el escritorio.
Un trozo es el mismo tipo de problema que el original, pero más pequeño.
Pulsa un trozo para ver por dentro. Dentro también es el mismo tipo de problema, pero más pequeño. Ordenar el escritorio = ordenar.
Esto es útil porque, si sabes resolver el problema grande, puedes resolver los trozos pequeños del mismo modo.
No hace falta aprender un método nuevo.
Como es el mismo tipo de problema, basta con usar el método que ya tienes a menor escala.
Poner los trozos en orden
Dividir no es el final. Los trozos también tienen un orden.
Si hay cosas por todo el suelo y barres primero, lo que caiga de arriba volverá a ensuciar.
El orden correcto es despejar primero el escritorio y la cama, y barrer el suelo al final.
Pulsa los trozos en el orden en que los harías. Lo correcto es hacer primero lo de arriba (escritorio, cama, estantería) y el suelo al final.
Con el orden correcto, los trozos no se estorban.
Ya no hay que recoger el desorden que dejó un trozo anterior.
Tal como vimos en la lección 1, los mismos trozos en otro orden dan otro resultado.
Juntar las respuestas de los trozos
Ya resolviste cada trozo: el escritorio, la cama y el suelo están limpios.
Pero, un momento, solo resolviste los trozos. ¿No está la habitación sin terminar?
No. Cuando todos los trozos están resueltos, juntos forman una habitación limpia.
Pulsa los trozos resueltos uno tras otro y se juntan en uno. Cuando están todas las respuestas, esa es la respuesta del problema grande: una habitación limpia.
Así que juntar tampoco ocurre por sí solo.
Reunir las respuestas de los trozos y unirlas en una es un paso por derecho propio.
Dividir, resolver en orden y juntar: todo tiene que encajar para que el problema grande se resuelva de verdad.
Resumen: dividir, mismo tipo, orden, juntar
Cuando un problema grande te agobie, recuerda estos cuatro tiempos.
Primero, divídelo en trozos más pequeños del mismo tipo. Segundo, date cuenta de que cada trozo es el mismo problema.
Tercero, fija el orden correcto. Cuarto, junta las respuestas de los trozos.
Ahí empieza el pensamiento computacional.
Pulsa los cuatro tiempos uno tras otro para resumir las ideas clave. Dividir → mismo tipo → orden → juntar. Un solo dibujo para manejar un problema grande.
Ya no hace falta temer ningún problema grande: si no cabe de un bocado, se divide.
Pero cuando hay muchos trozos, el orden en que los haces importa de verdad.
En la próxima lección veremos cómo poner las cosas en fila: la ordenación.