La programación recursiva y el generador de frases

… en la imagen se puede ver una imagen que incluye que en la imagen se puede ver una imagen… ¿qué es la recursividad?

La semana pasada trabajamos la lógica con el acertijo MU. Esta sesión los ninjas han venido recordando su desarrollo y especialmente han traído un descubrimiento: ¡No se puede pasar de MI a MU!

Y entonces les hemos preguntado por qué no se puede y aunque no han sido capaces de responder, todavía, sí que han entendido la siguiente pregunta. ¿Creéis que una máquina se daría cuenta de que no es posible pasar de MI a MU con esas reglas? Y uno de ellos ha dado con la clave:

No se puede pasar de MI a MU porque lo busqué en Google y encontré que no se podía. ¿Y por qué no puede saberlo una máquina? ¡Porque la máquina no lo buscó en Google!

Esta semana les hemos propuesto un reto muy sencillo, o no. Se trata de generar frases utilizando un algoritmo recursivo. Qué es la recursividad, me preguntaba un ninja, y no estoy seguro de habérselo explicado bien. Aquí hay una definición de cómo se aplica la recursividad:

La recursividad es una técnica muy empleada en la programación informática y consiste en que una función se llame a sí misma.

El mejor ejemplo de la recursividad es que si buscas la palabra en Google el buscador te dice: quizás quisiste decir recursividad. Y así hasta el infinito.

Para construir las frases de nuevo he recurrido a un esquema que aparece en el libro de Gödel, Escher, Bach: Un eterno y grácil bucle y que incluye dos estructuras: nombre modificado y nombre ultramodificado. En la primera es donde están los artículos, los adjetivos y el nombre y en la segunda es donde, además de la primera y ella misma ¡la recursividad! están el verbo, los pronombres, las preposiciones, etc.

Nos ha faltado trabajar un poco más el proceso de generación así que volveremos la semana que viene a revisar. Es especialmente interesante elegir el interfaz para generar las frases además de cómo organizar los textos que el generador va a utilizar.

Y hemos seguido dando la bienvenida a nuevos ninjas. Como siempre, les hemos animado a dibujar pantallas, a validar sus prototipos y a construir aplicaciones para dispositivos móviles con AppInventor.

Una pareja de adolescentes de quince años ha venido interesada en la realización de aplicaciones que tengan que ver con el movimiento, una especie de ‘Subway Surfer’ y ya hemos empezado a trabajar con botones, las coordenadas (x, y) y el uso del reloj para facilitar el movimiento autónomo de imágenes. Lo que más me ha sorprendido de los dos jóvenes es que les costaba trasladar sus magníficos conocimientos teóricos y llevarlos a la práctica. ¡Con lo fácil que es trabajar aplicando los conocimientos adquiridos con herramientas como AppInventor! Así que ha habido que sentarse un rato para explicarles cómo moverse por los ejes cartesianos, cómo incrementar o decrementar los valores de las coordenadas ¡aplicando que menos por menos es más! o cómo utilizar el reloj para generar movimiento permanente con cada tic-tac.

Además hemos animado a los ninjas a incorporarse al trabajo en grupo y colaborativo y a elegir ideas sobre las que trabajar. Uno de ellos ha empezado a identificar lo que le gustaría hacer con Pokemon y estoy convencido de que van a salir grandes ideas. Además dos ninjas están trabajando en ‘La pastelería’ de la que también me parece que va a salir un producto fantástico.

Felicito a todos los ninjas por su actitud, por su interés y por sus ganas de aprender.

¡Hasta la semana que viene!

Más información | Gödel, Escher, Bach: Un eterno y grácil bucle
Imagen | Alexandre Duret-Lutz

Be Sociable, Share!

Un comentario en “La programación recursiva y el generador de frases

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *