DEL CLAVO AL ORDENADOR CON LOGO
Resumen de los aspectos más significativos relacionados con Logo, tomados del curso "Del clavo al ordenador" impartido de forma interactiva en el servidor del Plan de Nuevas Tecnologías de la Información y la Comunicación (http://www.pntic.mec.es). Este curso está coordinado por Carmen Candioti.

Parte VI. ESTRATEGIA DIDÁCTICA PARA LA PRESENTACIÓN DE LA RECURSIVIDAD

a) METODOLOGÍA

Ya se definió la recursividad como la capacidad que tiene un programa creado por LOGO para llamarse a sí mismo en un bucle sin fin. Esta herramienta de LOGO va a ser presentada a los alumnos por medio del procedimiento CIREC, que obliga a salir de él por medio de [ESC].

A lo largo de la unidad, en concreto en el programa ARCO, se propone que el procedimiento CIREC se mejore por medio de la primitiva TECLA? que, usada como condición, servirá para darle una salida digna al programa anterior. Posteriormente, se verán más aplicaciones del programa ARCO junto a la primitiva LeeCarácter.

Sólo se necesita que el profesor intervenga en el caso que los alumnos no coloquen el condicional dentro del bucle.

La primera aplicación que se va a presentar es la modificación del programa MENU, de modo que sea posible optar una a una por todas las opciones sin necesidad de tener que salir del programa cada vez que se desea cambiar de opción y tener, después, que volver a arrancar. Para abordar este programa puede seguirse cualquiera de estos dos planteamientos:

  1. Proponerle al alumno que elabore un procedimiento recursivo para modificar el programa MENU, de modo que una vez elegida y ejecutada una opción, el programa vuelva a presentar el menú para que si el usuario lo desea pueda elegir otra de las opciones. (MENUREC).

  2. También se puede optar por crear el esquema simplificado dentro del gran grupo, a través de un debate dirigido para que, una vez que el programa haya sido diseñado entre todos, cada equipo lo personalice colocando una pantalla de instrucciones y definiendo las condiciones previas en que se desarrollará el trabajo.

No hay que olvidar que, como los alumnos van a partir de programas ya confeccionados en días precedentes, conviene estimularlos para que mejoren la presentación de pantallas, utilicen instrucciones más precisas, colores más adecuados y, en definitiva, todo aquello que suponga práctica, progresión y disfrute por la tarea bien hecha. La sencillez y espectacularidad del programa CONDUCIR1 puede ser el inicio de unos trabajos muy eficaces basados en las posibilidades de las sentencias condicionales dentro de los programas recursivos.

El análisis del programa ya confeccionado se va a realizar mediante anotaciones al lado de cada línea del programa, que indiquen la función que esa línea realiza:

1) Crea la variable global «ORDEN que interrumpe el programa mientras éste espera una pulsación.

2), 3), 4) y 5) Realizan una acción prefijada en función de la pulsación que se haya realizado.

6) Línea que marca el carácter recursivo del programa.

Hay que señalar que, aunque el programa es recursivo, no significa que sea «imparable», sino que mediante la primitiva LC se mantiene en situación de espera y sólo actúa ante determinadas pulsaciones, entre las que se encuentra la de parada: P.

Puede proponerse a los grupos de alumnos y alumnas la introducción de variaciones y mejoras; ofrecemos dos ejercicios como ejemplificación actividades que pueden realizar los alumnos:

Confeccionar un programa que contenga la opción de retroceder al pulsar la tecla R (CONDUCIR)

Confeccionar un programa que cree un «disparo» o una «ráfaga», que oculte la tortuga y dibuje un segmento o un rayo que avancen por la pantalla. Inclúyase como orden del nuevo programa el programa CONDUCIR.

PILOTAR es una variante del programa que le dará más velocidad y abrirá un campo muy interesante para el alumno. Al igual que en el caso del programa anterior, se van a comentar una a una todas las líneas:

1) Se mueve más o menos en función del avance y la espera.

2) Sólo actúa si hay una pulsación, la alternativa no lleva a ninguna acción.

3), 4), y 5) actuaciones opcionales en función de la hipotética pulsación producida en la línea 2).

6) Línea que contiene la orden recursiva y que, de no producirse la pulsación prevista, lleva a un movimiento continuado de avance.

Al propio alumno puede surgirle la conveniencia de encuadrar el programa PILOTAR dentro de un programa que lo presente y escriba en pantalla las instrucciones con las letras con las que se maneja la tortuga PILOGLO.

Puede resultar interesante mostrar alguno de estos programas sencillos para que sea el propio alumno quien, antes de copiarlos y ejecutarlos, ofrezca una explicación sobre su funcionamiento, comentando línea a línea las acciones que se van a ejecutar en el flujo del programa cuando se ejecute.

 

b) OTROS EJERCICIOS PARA AFIANZAR EL CONCEPTO DE RECURSIVIDAD

Espirales recursivas.

Dentro de las enormes posibilidades de la recursividad, se ha elegido el campo de las espirales, ya que sirven para que el alumno vaya practicando el manejo de las primitivas que se han estudiado, basándose en sentencias condicionales y, además, porque exigen un diseño muy sencillo y a cambio ofrecen efectos espectaculares. Basta con presentar alguno de los programas como CUAESPI para que, con ligeras modificaciones, puedan crearse otros como: TRIESPI, ESPIROPOL, ESPIRALFIX, ESPIRAPERT o ESPI3.

En estos casos, no se le debe dar mucha importancia al hecho de que los alumnos realicen un proyecto de una figura concreta como potenciar su intuición, capacidad de creatividad y diseño, dejándose sorprender por los efectos conseguidos.

De todos modos, convendrá dar un toque de sensatez advirtiendo de la importancia de contar con una línea como SI TECLA? [ALTO], que debe incluirse en todos los borradores como medida de seguridad.

Conviene aprovechar los trabajos sobre espirales recursivas para hacer algunos comentarios generales a los alumnos:

Advertir en CUAESPI sobre la inconveniencia de usar como tope la expresión: SI :L = 200 [ALTO] frente a la opción de colocar en su lugar:

SI :L > 200 [ALTO]

pues si el contador va dando saltos por medio de sumas o productos, puede ser que se pase de una expresión menor a otra mayor sin comparar necesariamente el número 200.

Hacer notar en TRIESPI que al tener un tope por alto y realizar una recursividad por medio de una sustracción, TRIESPI :L-10, la tortuga crea una figura cada vez más pequeña, llegando a retroceder, es decir, a avanzar una cantidad negativa.