Está en la página 1de 12

IV.

MARCO TEORICO

4.1CARACTERÍSTICAS GENERALES

Las peculiaridades que distinguen a LOGO frente a otros lenguajes de programación han ido
sufriendo modificaciones a lo largo del tiempo debido, en su mayor parte, a los avances en la
microelectrónica, lo que ha permitido ir implementando en LOGO nuevas herramientas, que lo
han ido haciendo cada vez más potente, pero también han venido motivadas por las continuas
experiencias realizadas sobre el mismo. Desde el primitivo LOGO de los años 70, cuya tortuga
era un dispositivo externo, hasta las últimas versiones, que permiten trabajar con ventanas
(Windows) y multitud de colores, han pasado los años suficientes para que, de los grandes
ordenadores en los que se desarrolló LOGO hasta 1980, se llegase a los actuales ordenadores
personales de reducidas dimensiones y mayor potencia.

4.1.1 Como lenguaje de programación

Segarra y Gayán (1985: 30) al estudiar LOGO como lenguaje informático, afirman que “es un
programa traductor que actúa de intermediario entre el usuario y el ordenador, es decir, un
programa que va traduciendo lo que se escribe en el teclado del ordenador, en un lenguaje o
código, hasta cierto punto parecido al que usamos en la vida corriente, a otro código, el
binario, que es el único que puede manipular el ordenador”. Lo cual pone de manifiesto que
LOGO es un lenguaje parecido al resto, con la peculiaridad de haber sido concebido para su
trabajo en el campo educativo.

El diseño específico de LOGO le confiere determinadas peculiaridades que lo identifican como


un lenguaje de programación sencillo, pero con potentes herramientas de diseño a la vez, que
lo hacen apto para entornos de aprendizaje tan diversos como escuela o universidad. Para
realizar un repaso concienzudo de tales características es casi obligado partir de Harvey (1982),
quien hizo un primer estudio de los aspectos estructurales de LOGO en relación con otros
lenguajes como BASIC, FORTRAN, LISP,.... Harvey concretó las potencialidades y virtudes, que
Papert había expuesto con tanto optimismo sólo unos años antes (1981). El paso de los años
ha ido perfilando más estas cualidades, destacando unas sobre otras, hasta llegar a la revisión
que se expone a continuación.

4.1.1.1 Procedural o procedimental

LOGO es un lenguaje que puede aprender, es decir, que partiendo de las órdenes que conoce,
se le puede enseñar a hacer cosas nuevas. Estas nuevas tareas que, una vez definidas por el
usuario, LOGO asume como propias, se denominan procedimientos. Los procedimientos
pueden hacerse tan grandes como se desee y llamarse unos a otros, formando un programa
más amplio. Esta característica de LOGO le falta a BASIC, aunque la poseen otros lenguajes
modernos como PASCAL, C o FORTRAN.

4.1.1.2 Interactivo

La interactividad es una característica asociada al papel activo del niño ante el ordenador en
los planteamientos de Papert (1981), como pone de manifiesto Martí (1992) al referirse a la
realización de proyectos. Los niños ponen en acción los conceptos matemáticos aprendidos en
el momento de intentar realizar dibujos dando órdenes a la tortuga. Esta particularidad de
LOGO, propia de un lenguaje interpretado, es la que lo hace tan atractivo para los niños desde
el primer encuentro. En el momento en que se escriben las órdenes o primitivas, el ordenador
las ejecuta inmediatamente. No es preciso terminar un programa para ver los resultados, ni
tan siquiera un procedimiento. Cualquier instrucción escrita en el ordenador se interpreta en
ese mismo momento, lo cual posibilita un seguimiento de aquello que se desea realizar y una
mejor solución de los problemas que vayan surgiendo. La interactividad es la característica de
LOGO que mejor ha sobrevivido al paso de los años, conviviendo en la actualidad con gran
parte del nuevo software educativo, en especial los programas multimedia. No es momento de
entrar en disquisiciones sobre la particularidad de la interacción entre niño y máquina
específica de LOGO y diferente del resto de los programas actuales, pero sí conviene resaltar
las grandes dosis de motivación que las órdenes de LOGO conllevan, al evitarle retrasos al
niño-programador y permitir la comprobación inmediata del funcionamiento de las órdenes y
los procedimientos (Segarra y Gayan, 1985).

4.1.1.3 Iterativo

Esta característica es destacada por Caravantes (1993), en el sentido de la utilización que hace
LOGO de primitivas como “repite”, “mientras”, etc. o de sus posibilidades recursivas, que le
permiten repetir de forma indefinida un proceso. Abelson y diSessa (1986 : 23) ejemplifican
este truco que LOGO puede utilizar con facilidad y exponen cómo se puede realizar con rapidez
un cuadrado:

> PARA CUADRADO

> REPITE 4 [AVANZA 100 GIRADERECHA 90]

> FIN

El procedimiento repetirá cuatro veces las órdenes AVANZA 100 y GIRADERECHA 90.

4.1.1.4 Recursivo

Esta característica de LOGO consiste en que “un procedimiento se llama a sí mismo como
subprocedimiento” (Abelson y diSessa, 1986: 35).

Detrás de esta idea, aparentemente simple, se esconde una gran potencia, que se hace visible
cuando se intentan abordar problemas complejos, que requieren una estructuración de los
mismos en orden a una dificultad creciente (Harvey, 1982). Por este motivo la recursión se
encuentra presente en casi todos los lenguajes modernos, salvo FORTRAN y BASIC. La
recursión es una de las peculiaridades del lenguaje LOGO que más ha sido estudiada. Lee y
Mitchell (1985) han propuesto un modelo que procesa la recursión y la lleva a la memoria para
poder ser utilizada. Este tipo de recursión la encuadran ambos autores dentro de lo que se
denomina recursión grabada y se muestran entusiasmados con sus posibilidades pedagógicas.
Idea no compartida por Martin (1985), quien señala que, si bien la recursión es una
característica poderosa de LOGO, también es verdad, que hace que los programas se hagan
más difíciles de entender. Una dificultad más, añadida a esta característica que nos lleva a su
aplicación en el trabajo con proyectos excesivamente complejos, que sobrepasan con creces el
nivel escolar. Sólo en demostraciones no exentas de abstracción, se pueden mostrar al niño las
posibilidades recursivas del LOGO. Como puede ser el caso de las poliespirales gráficas clásicas,
muy vistosas pero de una difícil comprensión para la mente del escolar (ver, por ejemplo,
Lawler, 1982; Abelson, 1982; Abelson y diSessa, 1986; RodríguezRoselló, 1986a; Caravantes,
1993).
4.1.1.5 Procesa listas

El agrupamiento de datos en unidades mayores es necesario para manejar de forma rápida la


información. Las listas no tienen un tamaño fijo y pueden estar formadas por números,
palabras u otras listas. En palabras de Gros (1987: 186) "una lista es un conjunto de elementos
a partir de los cuales se pueden establecer relaciones de distinto orden (jerárquicas,
secuenciales, etc.)". En realidad, LOGO reconoce dos tipos de objetos: las palabras y las listas.
Mientras una palabra está constituida por caracteres sin espacios en blanco, una lista se
compone de objetos LOGO, que pueden ser palabras u otras listas (Myx, 1986: 33). Otros
lenguajes como BASIC, FORTRAN, Pascal o C utilizan también listas aunque de tamaño fijo y de
manejo más complicado. LOGO no hace distinción entre números, letras o palabras.

4.1.1.6 Utiliza variables no tipificadas

Esta característica no la tenía el LOGO original, sino que le fue incorporada más tarde para
facilitar tareas de programación. Las variables vienen a ser como “una especie de cajas con
etiquetas, con el nombre asociado en el exterior y con un contenido en el interior” (Rodríguez
Roselló, 1986a: 29). Para identificar el contenido de la caja se utilizan los dos puntos (:)
seguidos de un nombre. Con esta sintaxis tan simple, LOGO se aproxima a un esquema
aplicable a situaciones semejantes (Delval, 1986), que puede ir complicándose hasta constituir
auténticas abstracciones. El concepto de variable conlleva el poder ser asignada dentro de un
procedimiento o estar definida en la entrada del mismo (Gros, 1987). Los únicos lenguajes que,
en este sentido, mantienen similitud con LOGO son LISP y APL, el resto tienen variables, pero
están ya definidas.

4.1.1.7 Es un lenguaje extensible

LOGO es un lenguaje que permite definir nuevas operaciones, lo que le da una mayor
capacidad. En palabras de Harvey (1982: 176) "un lenguaje extensible es aquel en el que los
procedimientos definidos por el usuario ´parecen´ procedimientos primitivos". LOGO conoce
inicialmente un buen número de primitivas, pero no son suficientes para hacer frente a
proyectos complejos. Esta es la razón de ser de que el usuario pueda hacer extensible LOGO
cuanto desee, creando las nuevas primitivas que necesite. LOGO se puede hacer así tan amplio
y personalizado como sea necesario. Lenguajes como LISP o APL, también poseen esta
cualidad. La extensibilidad dota a LOGO de un doble interés, por un lado, hace compatible el
umbral inicial con las nuevas acciones y, por otro, permite que el lenguaje crezca con el niño y
se pueda aplicar a tareas más complejas (Segarra y Gayan, 1985: 53).

4.1.1.8 Tiene posibilidades graficas

Ésta es una peculiaridad que ha llevado a LOGO a ser confundido con un programa de dibujo,
sin tener en cuenta las demás posibilidades que le hacen ser un lenguaje de alto nivel. No
obstante, es una confusión comprensible, si se tiene en cuenta que la mayor parte de las
aplicaciones que se han hecho, han partido de lo que su inventor denominó "geometría de la
tortuga" (Papert, 1981: 73). De hecho, esta es la característica de LOGO más admirada por los
niños: la pequeña tortuga correteando por la ventana dejando tras de sí un rastro, que le
permite realizar dibujos. La tortuga se puede trasladar de un sitio para otro de la pantalla
mediante órdenes fáciles de aprender para el niño: AVANZA, RETROCEDE, CENTRO,
GIRADERECHA, etc. A pesar de todo, para el movimiento correcto de la tortuga, es preciso,
tener muy bien adquiridos los sentido de la orientación espacial y la lateralidad
izquierda/derecha, aunque siempre queda la opción, sugerida por Solomon (1987: 124), de
que el niño se levante y siga las órdenes como si fuese la tortuga, así comprenderá mejor la
forma de moverse por la pantalla y realizar los dibujos. Esta capacidad gráfica distingue a
LOGO de otros lenguajes, aunque algunos de ellos, como PASCAL o PILOT, han comenzado a
incorporarla (Harvey, 1982: 178).

4.1.1.9 Modular

La concepción de programación procedimental dota a LOGO de la posibilidad de descomponer


los grandes programas en otros más pequeños, que se van ensamblando entre sí. Esta
característica la tienen lenguajes como LISP (lenguaje del que LOGO deriva directamente) y, de
forma limitada y menos clara, BASIC. LOGO permite la creación de programas de fácil
comprensión, que a su vez son operativos de forma independiente, lo que permite mantener
un alto grado de comprensión sobre los mismos (Rodríguez- Roselló, 1986a). Esta cualidad
facilita enormemente la resolución de problemas, al permitir al niño la descomposición de los
mismos en partes más simples.

4.2 ELEMENTOS BASICOS DEL LENGUAJE

Analizaremos a continuación los elementos que caracterizan a LOGO, que les confieren
identidad propia frente a otros lenguajes de programación y que lo hacen sencillo y poderoso a
la vez (Abelson, 1982). La mayor parte de los conceptos utilizados no han sufrido modificación
a lo largo de los años, no obstante, la aparición de nuevas versiones, ha provocado una
ampliación y reestructuración de determinados términos, que serán tomados en consideración
al aparecer en la versión española de Win-LOGO, utilizada en lugar privilegiado de nuestra
investigación.

4.2.1 La Tortuga

Hasta los más profanos en la materia identifican a LOGO con una tortuga, aunque en muchos
casos no sepan muy bien lo que ésto significa. Su nombre proviene, tal y como señalan Segarra
y Gayan (1985: 67), de un robot usado en los primeros años de LOGO, “provisto de ruedas y de
forma semiesférica, dirigido desde un ordenador con la posibilidad de ser manejado por niños,
que es capaz de desplazarse y girar y que, a medida que lo hace, deja rastro por donde pasa
gracias a que lleva incorporado un lápiz óptico”.

Muy pronto, la tortuga toma la forma de un pequeño triángulo situado en el centro de la


pantalla, que responde a unas órdenes sencillas (Abelson, 1982).
Una característica más explotada de Logo es poder producir «gráficos tortuga», es decir, poder
en dar instrucciones a una tortuga virtual, un cursor gráfico usado para crear dibujos, que en
algunas versiones es un triángulo, en otras tiene la figura de una tortuga vista desde arriba.
Esta tortuga o cursor se maneja mediante palabras que representan instrucciones, por
ejemplo:

Ingles

Español

La característica de que las instrucciones se puedan comprender en las diferentes lenguas es lo


que hace al Logo un lenguaje de programación tan fácil de aprender. Una secuencia de
instrucciones en Logo puede constituirse en un rudimentario programa, usándose como un
bloque. Esta característica modular y reutilizable de las instrucciones hace que Logo sea muy
flexible, recursivo, y apto para trabajarse en forma de módulos.

Otras instrucciones básicas de Logo en español son:

 cs o BP: Borrar pantalla.


 rep o REPITE (numero de veces) [(accion) (cantidad) ]
 st o MT: Mostrar tortuga.
 ht o OT: Ocultar tortuga.
 pu o SP (sin pluma): Subir lápiz, hace que la tortuga no dibuje mientras camina.
 pd o CP (con pluma): Bajar lápiz, hace lo contrario que “-pu” (“SP” en interpretes en
español).

Las instrucciones básicas de desplazamiento varían de una versión de LOGO a otra, pudiendo
encontrar como equivalentes: DE, DERECHA, GD, por ejemplo, para indicar un giro en sentido
de las agujas del reloj.

4.3 INTERFAZ

INTERACTIVIDAD

Aunque existen algunas versiones de Logo que se compilan, generalmente se implementa


como un lenguaje interpretado. La interactividad de este enfoque proporciona al usuario
retroalimentación inmediata sobre instrucciones individuales, lo que ayuda en el proceso de
depuración y aprendizaje. Los mensajes de error son descriptivos. Por ejemplo:
(La palabra fowad no es una primitiva, una de las palabras integradas de Logo, ni un
procedimiento que haya definido).

(Ahora que lo ha escrito correctamente, Logo conoce la palabra adelante , pero no puede
ejecutar sus instrucciones porque adelante requiere información adicional. adelante 100 (El
logotipo está contento. No hay mensaje de error. La tortuga avanza 100 pasos).

MODULARIDAD Y EXTENSIBILIDAD

Los programas de logotipos suelen ser colecciones de pequeños procedimientos.


Generalmente, los procedimientos se definen escribiéndolos en un editor de texto. La palabra
especial to va seguida del nombre del procedimiento. Las líneas siguientes forman la definición
del procedimiento. La palabra fin indica que ha terminado.

En nuestro ejemplo de gráficos de tortugas, definimos un procedimiento para dibujar un


cuadrado

No, set-random-position no es una primitiva, pero random sí lo es y también lo es setposition


(o setpos o setxy). O puede escribir set-randomposition usando forward y right con random.

Una vez que se define un procedimiento de Logo, funciona como las primitivas de Logo. De
hecho, cuando mira los programas de Logo, no hay forma de saber qué palabras son primitivas
y cuáles están definidas por el usuario a menos que conozca la implementación de Logo en
particular. En nuestra muestra de lenguaje usamos el procedimiento picking para seleccionar
aleatoriamente un elemento de una lista, por ejemplo, en el procedimiento who.

FLEXIBILIDAD

El logotipo funciona con palabras y listas. Una palabra Logo es una cadena de caracteres. Una
lista de logotipos es una colección ordenada de palabras o listas. Los números son palabras,
pero son especiales porque puedes hacer cosas como aritmética con ellos. Muchos lenguajes
de programación son bastante estrictos en cuanto a querer saber exactamente qué tipo de
datos afirma estar utilizando. Esto hace las cosas más fáciles para la computadora, pero más
difíciles para el programador. Antes de agregar un par de números, es posible que deba
especificar si son números enteros o reales. La computadora necesita saber esas cosas. Pero la
mayoría de la gente no piensa en esto, así que Logo se encarga de ello. Cuando se le pide que
haga aritmética, Logo simplemente lo hace.

Si no está familiarizado con Logo pero trabaja en otros lenguajes de programación, la siguiente
secuencia puede sorprenderle:

Aquí hay un procedimiento recursivo que calcula factoriales:

A continuación, se muestra un procedimiento para invertir una lista de palabras:


Es posible que también desee echar un vistazo a la interesante muestra de Logo de Brian
Harvey.

FUERA DEL SUELO Y EN LA PANTALLA

La tortuga migró a la pantalla de la computadora donde vive como un objeto gráfico. Ver la
pantalla es como mirar hacia abajo a la tortuga mecánica desde arriba.

La tortuga de pantalla también entiende hacia adelante y hacia la derecha.

Después de un poco de exploración exploratoria, una primera actividad común de la tortuga es


dibujar una forma geométrica. ¿Qué tal un cuadrado?

También hay un comando de repetición para que repetir 4 [avanzar 50 a la derecha 90]
también dibuja un cuadrado. ¿Qué tal un triángulo?

Otro aspecto importante de Logo es la definición de nuevos procedimientos. Dibujamos un


cuadrado usando la instrucción
Ahora, si escribimos cuadrado, Logo dibuja un cuadrado como si hubiéramos escrito repetir 4
[adelante 50 a la derecha 90]. Logo ha aprendido una nueva palabra.

Ahora que el cuadrado está en el vocabulario de Logo, la nueva palabra puede usarse como
parte de otra instrucción. Por ejemplo

En Logo, la programación se realiza agregando nuevas palabras al vocabulario existente. Es


como aprender un idioma hablado. Las palabras nuevas se definen utilizando palabras que ya
conoce. Las cosas pueden volverse más complejas. Los procedimientos pueden tomar
"entradas" para que varíe la información que utilizan. Podríamos escribir un procedimiento
cuadrado como este:
La geometría euclidiana tradicional se basa en abstracciones: un punto que no tiene tamaño;
una línea que tiene longitud, pero no grosor. Esto es difícil de comprender para los jóvenes. La
tortuga es un objeto concreto real que se puede ver y manipular. La geometría analítica se
basa en un marco de referencia exterior: el sistema de coordenadas. Por el contrario, la
geometría de la tortuga es "sintonía corporal". La tortuga se mueve mientras tú lo haces.
Puede identificarse con él y comprender lo que está haciendo.

La geometría de la tortuga no estaba destinada a ser un reemplazo de la geometría tradicional,


sino más bien, como un punto de entrada alternativo a la geometría y las matemáticas en
general. Es apropiado tanto para niños pequeños como para adultos.

Seymour Papert en Mindstorms explica a fondo el fundamento de la geometría de las tortugas.


Muchas versiones de Logo incluyen tutoriales y guías sobre geometría de tortugas.

Si bien es fácil comenzar con la geometría de las tortugas, también puede volverse bastante
complejo. El libro Turtle Geometry, de Hal Abelson y Adrea diSessa, incluye muchas
exploraciones avanzadas con la tortuga.
La pantalla de MSWLogo se divide en dos partes:

La pantalla principal. En esta ventana es donde se encuentra la tortuga, mediante la ayuda de


ésta se dibujan diferentes figuras, se cargan imágenes, etc. Esta ventana está etiquetada con el
título de "Pantalla de MSWLogo".

En la parte superior de esta ventana se encuentran diferentes menús para la realización de


diversas tareas.

A continuación, se muestra una pequeña descripción de las tareas que pueden realizar cada
uno de los menús que se muestran en la imagen superior.

Archivo: permite guardar, abrir, cerrar y modificar entre otras cosas los archivos de
programación de MSWLogo.

Bitmap: permite poder trabajar con imágenes con extensiones bmp.

Configurar: permite cambiar el color del lápiz, el grosor del lápiz, el tipo de letra, etc.

Zoom: permite acercarse o alejarse de la imagen que se muestra en pantalla.

Ayuda: vienen los diferentes archivos de ayuda necesarios para la total comprensión del
entorno de MSWLogo.

La ventana de trabajo o de comandos. La ventana de comandos se divide a su vez en 3 partes


diferentes:

La caja de entrada de datos o primitivas: Se pueden usar minúsculas o mayúsculas para las
primitivas puesto que Logo no hace distinciones entre unas y otras. Las primitivas se ejecutan
después de ser introducidas en la ventana de trabajo y de pulsar la tecla ENTER o de hacer clic
en el botón Ejecutar.

Lista de comandos o primitivas ejecutadas: Cada primitiva se graba en una lista de órdenes y
comandos que se muestran en la ventana superior a la de entrada de datos.

Botones de comandos: Estos botones se encuentran a la derecha de la ventana de trabajo,


éstos realizarán diferentes acciones que se explicarán más adelante en este manual.

También podría gustarte