Constructor de algoritmos

Si alguien mueve billetes hasta resolver 356 + 878, lo que ha hecho no es un algoritmo: es una cuenta. Sirve para esos dos números y para ningún otro. Un algoritmo es lo que se puede contar por teléfono a alguien que no ve la mesa, y que le sale bien con los números que sean. Este manipulativo existe para que esa diferencia se pueda tocar.

Usa los billetes de Billetes, y está pensado como continuación de los hilos sobre la suma y la resta y sobre la multiplicación y la división.

El cajero

El tablero tiene tres filas —los dos números y el resultado— y un carril por orden, con el mayor a la izquierda, como se escribe. Y hay un cajero que está siempre en un carril y solo sabe hacer unas pocas cosas: mirar cuántos billetes hay donde está, juntarlos, cambiarlos hacia arriba o hacia abajo, quitar, andar a izquierda o derecha y parar.

El algoritmo es el programa de ese cajero, y aquí está la razón de ser del material: empezar por la derecha o por la izquierda deja de ser «otro algoritmo» y pasa a ser dos fichas distintas del mismo. Un alumno cambia la primera ficha y el sentido de la que anda, y ya tiene la otra versión para probarla. Lo mismo con las dos maneras de llevar en la resta: cambian tres fichas de en medio, y las dos se pueden poner una al lado de la otra.

Cómo se usa

  • Pulsa fichas en la columna izquierda y se añaden justo debajo de la que esté marcada en la tira. Si y Repetir abren un bloque y traen su línea final puesta: debajo de la primera línea la ficha cae dentro, debajo de la línea final cae fuera. Eso decide, por ejemplo, si el cajero avanza siempre o solo cuando se cumple la condición.
  • Los desplegables de cada ficha eligen sobre qué fila actúa. Es lo que permite distinguir «desagrupo el minuendo» de «compenso el sustraendo».
  • ▶ Paso ejecuta una ficha y ▶▶ Seguir las va ejecutando solas. La ficha que toca se marca en amarillo y el carril del cajero se ilumina.
  • Si el cajero llega a algo que no puede hacer, se para y dice qué ha encontrado: no puedo quitar 8 billetes de 1 si arriba solo hay 5, en arriba no queda ningún billete de 10 que desagrupar, no hay carril a la izquierda. Ese mensaje es el sitio exacto donde falta un paso.
  • ▣ Probar el algoritmo lo lanza contra medio centenar de casos y dice en cuántos funciona, cuántos pasos gasta de media y en cuáles falla. Los casos que fallan salen como botones: al pulsar uno se pone en el tablero para verlo despacio.
  • ✉ Texto abre un cuadro con el algoritmo escrito como lista numerada. Ese cuadro se puede copiar y también escribir dentro: con ⤒ Cargar lo escrito, las instrucciones vuelven a convertirse en fichas. Da igual si vienen sin tildes, en minúsculas o con las flechas puestas como «arriba» y «abajo», y si hay una línea que no se entiende se dice cuál es y cuál se le parece.
  • ⤓ Guardar y ⤒ Abrir hacen lo mismo con un archivo, para cuando haya un Moodle o un lápiz de memoria de por medio.
  • Base y Carriles cambian las reglas del tablero sin tocar el algoritmo.

Bajo Comprobaciones hay cuatro algoritmos ya construidos. Vienen escondidos a propósito: enseñarlos antes de que se haya intentado es contestar la pregunta.

La actividad que le da sentido: pasárselo a otro

Es para lo que se hizo el material, y funciona así:

  1. Cada pareja monta su algoritmo para sumar y lo prueba con sus números hasta que le sale.
  2. Le da a ✉ Texto y se lleva la lista de instrucciones: copiada al portapapeles, escrita en un papel o dictada en voz alta. Solo eso; el tablero no se enseña.
  3. Se intercambian las listas con otra pareja.
  4. La pareja que recibe no puede preguntar. Escribe o pega la lista en su cuadro de texto, le da a ⤒ Cargar lo escrito y la ejecuta.
  5. Después, las dos parejas usan el banco de pruebas sobre el algoritmo recibido y buscan casos en los que se rompa.

Lo que pasa en el paso 4 es lo interesante. Si al copiar se pierde una línea, el algoritmo se monta igual —está bien escrito, solo que dice otra cosa— y el banco de pruebas lo caza en seguida: una resta por compensación a la que se le cae la línea de compensar pasa de 52 casos a 14. Encontrar cuál era la línea que faltaba leyendo lo que hace el cajero es el ejercicio.

Y el paso 5 es la otra mitad: un algoritmo que funciona con los números que has probado no es un algoritmo que funciona. Hasta que no aparece el caso que lo rompe, no sabes cuál es.

Variante más dura, y mejor si hay tiempo: que la pareja receptora monte las fichas a mano leyendo la lista, en vez de pegarla. Obliga a leer instrucción por instrucción y saca a la luz lo que la pareja autora daba por supuesto. Pegar es cómodo para que dé tiempo en una sesión; montar a mano es donde se aprende más.

Preguntas que funcionan en clase

¿Por qué se empieza por la derecha? Que monten la suma empezando por la izquierda. Con muchos números funciona perfectamente, y hay que buscar el que no. Cuando aparezca, la pregunta es qué habría que añadirle para arreglarlo, y si el arreglo sale gratis.

¿Cuál es más rápido? El banco de pruebas cuenta los pasos de media. Dos algoritmos que dan el mismo resultado no cuestan lo mismo, y se puede comparar con un número, no con una opinión. ¿De dónde sale la diferencia? ¿Se puede recortar alguno?

Las dos restas. Que media clase monte la resta desagrupando el minuendo y la otra media compensando el sustraendo. Luego se prueban las dos. Una de las dos aguanta casos que a la otra se le atragantan, y averiguar cuáles son y por qué explica de una vez por qué en España se enseña la que se enseña.

La compensación partida por la mitad. En la resta por compensación se añaden billetes en dos sitios. Quita una de las dos fichas y prueba: ¿qué pasa? ¿Por qué esas dos cosas tienen que ir juntas? Es la propiedad de la resta que hay detrás del algoritmo, vista sin escribir ni una igualdad.

Cambia la base y no toques el algoritmo. Pon base seis y vuelve a probar el mismo algoritmo de la suma. ¿Sigue funcionando? ¿Por qué? Es la mejor manera que conozco de enseñar que el algoritmo no es de la base diez, sino de la escritura posicional.

El bucle que no avanza. Monta la suma pero deja el «Ir un carril a la izquierda» dentro del «Si». Corre el algoritmo y mira qué pasa. Es un error tan típico que merece la pena provocarlo a propósito una vez.

Lo que todavía no hace

Solo suma y resta. La multiplicación y la división necesitan fichas que aquí no están —repetir un número de veces, desplazar una fila, repartir entre varios— y vendrán en una segunda vuelta.