Está en la página 1de 6

LENGUAJE DE PROGRAMACIN LOGO

http://recursostic.educacion.es/secundaria/edad/4esotecnologia/quincena12/4q
uincena12_contenidos_2a.htm

http://neoparaiso.com/logo/que-es-logo.html

Logo es un lenguaje de programacin de alto nivel, en parte funcional, en parte


estructurado; de muy fcil aprendizaje, razn por la cual suele ser el lenguaje
de programacin preferido para trabajar con nios y jvenes. Fue diseado con
fines didcticos por Danny Bobrow, Wally Feurzeig y Seymour Papert, los cuales
se basaron en las caractersticas del lenguaje Lisp. Logo fue creado con la
finalidad de usarlo para ensear programacin y puede usarse para ensear la
mayora de los principales conceptos de la programacin, ya que proporciona
soporte para manejo de listas, archivos y entrada/salida. Logo cuenta con
varias versiones.

Papert desarroll un enfoque basado en su experiencia con Piaget a principios


de los sesenta. Fundamentalmente consiste en presentar a los nios retos
intelectuales que puedan ser resueltos mediante el desarrollo de programas en
Logo. El proceso de revisin manual de los errores contribuye a que el nio
desarrolle habilidades metacognitivas al poner en prctica procesos de
autocorreccin. Es conocido por poder manejar con facilidad grficas tortuga,
listas, archivos y recursividad.

Logo es uno de los pocos lenguajes de programacin con instrucciones en


espaol en algunos intrpretes, entre ellos: FMSLogo, LogoWriter, WinLogo,
Logo Grfico, XLogo, MSWLogo y LogoEs. Logo tiene ms de 180 intrpretes y
compiladores, segn constan en el proyecto "Logo Tree".

El programa Logo existe en varias versiones.

XLogo, MSWLogo y LogoES tienen la particularidad de ser adems software


libre.

Una caracterstica ms explotada de Logo es poder producir grficos


tortuga1, es decir, poder en dar instrucciones a una tortuga virtual, un cursor
grfico usado para crear dibujos, que en algunas versiones es un tringulo, en
otras tiene la figura de una tortuga vista desde arriba. Esta tortuga o cursor se
maneja mediante palabras que representan instrucciones.

Primitivas bsicas
Las rdenes o instrucciones bsicas de MSWLogo se llaman primitivas. Las
primitivas deben escribirse en el cuadro inferior de la ventana de trabajo. Al

1 Es un trmino usado en computacin grfica como mtodo para programar grficos vectoriales usando un
cursor relativo (la tortuga) a unas coordenadas cartesianas. Las grficas tortuga son un elemento clave en
el Lenguaje de programacin Logo.
pulsar Enter o hacer clic en el botn Ejecutar, la primitiva escrita se ejecuta. Si
la primitiva est mal escrita o si le faltan datos, el intrprete contesta no s
cmo... Cada una de las rdenes queda anotada en la ventana de trabajo.

La primitiva puede escribirse completa o mediante abreviaturas y tanto en


minsculas como en maysculas.

AVANZA (AV): Sirve para desplazar el cursor una determinada longitud


que debe de especificarse a continuacin de AVANZA o de AV. Por
ejemplo, AV 40 desplazar el cursor 40 unidades. Es importante separar
con un espacio la primitiva (AV) del parmetro (40) o el programa no
entender la orden.
GIRADERECHA (GD) y GIRAIZQUIERDA (GI): Sirven para cambiar la
orientacin del cursor; el parmetro que acompaa a la primitiva ser el
nmero de grados de giro y tendr que ir separado mediante un espacio
de la primitiva. Al abrir el programa, el cursor est orientado en
direccin vertical con sentido hacia arriba. GD 90 desplazar el cursor 90
grados en el sentido de las agujas del reloj. GD 180 o GI 180 da la vuelta
al cursor y lo pone en posicin de retroceso.
RETROCEDE (RE): Hace retroceder el cursor el nmero de unidades
que le indique el parmetro que venga a continuacin. Es equivalente a
GD 180 o a GI 180 seguido de AV.
BORRAPANTALLA (BP): Pone la pantalla en blanco y vuelve a llevar el
cursor a su posicin y su orientacin inicial.
BORRATEXTO (BT): Borra todo el cdigo escrito en el rea de
comandos.
OCULTATORTUGA (OT): Oculta el icono de la tortuga.
CENTRO: Lleva la tortuga al centro de la pantalla sin borrar.
MUESTRATORTUGA (MT): Muestra el tringulo que representa la
tortuga.
SUBELAPIZ (SL): Sirve para avanzar sin que el rastro quede marcado.
BAJALAPIZ (BL): Al avanzar el rastro deja marca; es la opcin que est
seleccionada por defecto si no hemos utilizado SL.
CIRCULO: Dibuja un crculo; debe ir acompaada de un parmetro que
indique el valor del radio.
ADIOS: Sale de Logo.

Usando colores
Existen dos primitivas para cambiar los colores:

a) PONCOLORLAPIZ (PONCL), que se usa para seleccionar el color de los


trazos que ir produciendo el cursor al avanzar.
b) PONCOLORPAPEL (PONCP), que se usa para seleccionar el color de la
pantalla.
c) PONCOLORRELLENO (POCCR), que se usa para seleccionar el color de
relleno de las figuras que dibujemos. Esta instruccin esta soportada en
MSWLogo, mientras que XLogo no la reconoce.

Las tres instrucciones necesitan un parmetro que indique el color; cada


color lleva asociado un nmero segn la siguiente tabla (no tienes que
sabrtela; de ser necesaria en el examen, se te proporcionara):

Para rellenar una figura que hayamos dibujado, tras definir el color de
relleno con POCCR se emplea la primitiva RELLENA. Ej.:

para cuadroazul
repite 4 [av 200 gd 90] sl poccr 1 gd 10 av 10 rellena bl ot
fin

Creando secuencias repetitivas


Un programa mnimamente complejo lleva consigo la ejecucin de un gran
nmero de primitivas. El primer paso para ahorrarnos cdigo es emplear la
primitiva REPITE, que va acompaada de un parmetro que indica cul es ese
nmero de veces que se debe repetir, y de otra primitiva, que ser la
instruccin que tiene que repetirse un nmero de veces.

Uno de los ejemplos ms tpicos que explica la comodidad del uso de la


primitiva REPITE es la construccin de un cuadrado. Para ello es necesario
hacer avanzar el cursor la longitud del lado y girar su direccin 90; habr que
repetir esta instruccin cuatro veces.

Utilizando REPITE podemos reducir cuatro lneas de cdigo a una sola; las
primitivas que deben repetirse se colocan entre corchetes:

REPITE 4 [AV 50 GD 90]

Con esta orden el ordenador entiende que queremos repetir 4 veces la


siguiente secuencia: avanza 50 y gira derecha 90 grados. El resultado final es
el dibujo de un cuadrado.

Mostrar texto
ROTULA es una de las primitivas ms interesantes porque nos permite escribir
en la pantalla. Tenemos que tener cuidado porque el texto ser escrito en la
direccin del cursor (si el cursor est vertical el texto se escribir en vertical).

Para introducir el texto podemos hacerlo con comillas al principio (no al final) si
se trata de una palabra sola o entre corchetes si se trata de varias palabras.

ROTULA "Hola
ROTULA [Hola, amigo]
Para escribir varias lneas, tendremos que desplazar el cursor despus de cada
una o de lo contrario los textos se superpondrn. Antes de desplazar el cursor,
habr que subir el lpiz para no ir dejando huella y volver a bajarlo antes de
escribir de nuevo.

Crear ventanas y botones


En los programas suele ser muy til disponer de botones que nos permitan
controlar el cursor (que recordemos que lo que haga el cursor ser lo que haga
el sistema a controlar o el sistema robtico) y darle instrucciones desde la
pantalla sin tener que entrar a modificar el cdigo.

Existen varias Crear ventanas y botones, las ms importantes son


CREAVENTANA y CREABOTN, que nos permiten mostrar una ventana con
botones dentro de nuestro programa.

Si nos hemos equivocado al crear el botn o toda la ventana, los borramos con
las primitivas BORRABOTON o BORRAVENTANA, seguidas del nombre del botn
o la ventana precedidos de una comilla.

Cdigo fuente de ejemplo: Pantalla con botones

creaventana "MIVENTANA [Esta es mi ventana] 120 60 70 100 [poncp 4]


Crea una ventana con el texto "Esta es mi ventana", se sita a 120 unidades a
la derecha y 60 debajo y tendr 70 unidades de largo por 100 de ancho. Al
crear la ventana la pantalla se volver de color rojo.

creaboton "MIVENTANA "AVANCE [Avance] 10 20 50 15 [av 50]


Crea un botn situado a 10 unidades a la derecha y 20 debajo de la ventana
MIVENTANA y tendr 50 unidades de largo por 15 de ancho. Al pulsar el botn
la tortuga avanzar 50

creaboton "MIVENTANA "RETROCESO [Retroceso] 10 40 50 15 [re 50]


Crea un botn situado a 10 unidades a la derecha y 40 debajo de la ventana
MIVENTANA y tendr 50 unidades de largo por 15 de ancho. Al pulsar el botn
la toruga retroceder 50

Procedimientos
A veces existe una combinacin de primitivas que tenemos que usar con cierta
frecuencia. Las primitivas son texto y por lo tanto se pueden copiar y pegar de
un sitio a otro, pero eso supone aadir muchas lneas de cdigo; intentar
eliminar cdigo superfluo es muy importante en un programa de cierta
complejidad.

Para ello se crean los procedimientos; se asigna un nombre a ese conjunto de


primitivas de forma que se ejecutan automticamente cada vez que escribimos
el nombre.

Como ejemplo, veamos un procedimiento que nos permite dibujar cuadrados:


Ya habamos reducido con anterioridad el cdigo necesario para dibujar un
cuadrado; gracias a la primitiva REPITE, habamos convertido las cuatro
primitivas necesarias para dibujar los cuatro lados en una sola:

REPITE 4 [AV 50 GD 90]

No obstante, si tenemos que dibujar un montn de cuadrados repetir


constantemente esta primitiva complica el cdigo del programa; creamos por
lo tanto un procedimiento llamado cuadrado:

PARA cuadrado
REPITE 4 [AV 50 GD 90]
FIN

La primera lnea de un procedimiento consta siempre de PARA seguido del


nombre (no se admiten espacios ni tildes ni caracteres distintos de letras y
nmeros en el nombre). La ltima lnea dir nicamente FIN y las lneas
intermedias, que pueden ser ms de una, incluyen las primitivas que se van a
ejecutar mediante el procedimiento.

Control de tiempo
Con ESPERA podemos generar un intervalo entre una primitiva y otra. Debe de
ir seguido de un parmetro que indique el tiempo: cada segundo son 60
unidades de tiempo. De esta forma podemos definir a nuestro gusto el tiempo
de ejecucin de las distintas rdenes de un procedimiento.

Por ejemplo, vamos a ir introduciendo un texto por partes:

PARA saludo
GD 90
ROTULA "Hola
ESPERA 30 ;medio segundo
BP ;de lo contrario, los textos se superpondrn
GD 90
ROTULA [Qu tal ests?]
ESPERA 30
BP
FIN

Si lo que queremos es que el programa se repita de forma indefinida, la ltima


instruccin del programa debe ser el propio nombre del programa.

De esa forma el programa se llamar a s mismo y volver a empezar antes de


acabar.

También podría gustarte