Manual de Logo
Manual de Logo
5a
educativas. De hecho MSWLogo es la versin libre del lenguaje Logo, que se distribuye bajo la
licencia pblica general (GPL) del proyecto GNU de la Free Software Foundation.
El smbolo de Logo es una tortuga robotizada que se mueve bajo el control de un
ordenador dibujando a medida que se desplaza por la pantalla. En algunas versiones de este
lenguaje la tortuga ha evolucionado hasta convertirse en otro tipo de objetos. Por ejemplo, en
MSWLogo se ha convertido en un tringulo.
MSWLogo se puede utilizar para mltiples utilidades: para dibujar, para crear sonidos,
para manipular una controladora a travs del ordenador, etc.
La versin que se intentar explicar en esta documentacin es la versin que presenta
el Centro Nacional de Informacin y Comunicacin Educativa (CNICE), que es una versin del
MSWLogo 6.5a traducida al castellano.
cambio, los programas "compilados" son convertidos primero a cdigo mquina antes de que
cualquier parte del programa pueda empezar a funcionar, como por ejemplo Borland C++.
Archivo: permite guardar, abrir, cerrar y modificar entre otras cosas los
archivos de programacin de MSWLogo.
PRIMITIVA
MTODO
DESCRIPCIN
EJEMPLO
ABREVIADO
AVANZA unidades
AV ...
especificado de unidades.
RETROCEDE unidades
RE ...
La
tortuga
retrocede
el
RETROCEDE 100
nmero
especificado
de
RE 100
el
GIRADERECHA 90
unidades.
GIRADERECHA ngulo
GD ...
La
tortuga
VIRA
sentido
gira
en
del
GD 90
VIRA 90
especificado.
Gira
de
las
agujas
la
tortuga
90
hacia la derecha
GIRAIZQUIERDA
GI ...
ngulo
PONLAPIZ
PLA
GIRAIZQUIERDA 90
GI 90
reloj
Gira la tortuga 90
el
ngulo
especificado.
hacia la izquierda
PONLAPIZ
modo
PLA
PINTA
(PINTA
es
el
GO
dibujar).
GOMA
GO
borrando
por
donde
se
mueve).
SUBELAPIZ
SL
Pone
el
lpiz
SUBELAPIZ
BL
su
modo.
Pone
el lpiz BAJADO, sin
BAJALAPIZ
cambiar su modo.
BL
CENTRO
Devuelve
centro
de la
borrarla.
la
la
pantalla
Hay
que
primitiva
para
al
CENTRO
sin
utilizar
SUBELAPIZ
evitar
mientras
tortuga
SL
que
va
dibuje
hacia
el
centro.
PONCOLORLAPIZ [...
PONCL [...
Pone el
... ...]
... ...]
lpiz
del
color
PONCOLORLAPIZ
= Rojo
255 000]
= Verde
PONCOLORLAPIZ [000 000 255]
= Azul
OCULTATORTUGA
OT
Oculta
la
tortuga
(el
OT
tringulo) en la pantalla.
MUESTRATORTUGA
MT
Muestra
la
tortuga
(el
tringulo) en la pantalla.
MT
[255
HAZTORTUGA tortuga
Coloca
45 [av 100]]
[instrucciones] ]
hincndole la posicin y el
ngulo
as
la tortuga n 0 en el
va a realizar
la
tortuga
de
en
ubicacin,
la
HAZTORTUGA 0 [0 100
100
del
eje
Y,
despus la rota en un
ngulo de 45, y por
ltimo
avanza
sta
BP
LIMPIA
BORRAPANTALLA
a la tortuga en el centro.
BP
Borra
LIMPIA
la
pantalla,
pero
mantiene a la tortuga en su
posicin
actual
en
la
pantalla.
ROTULA [texto]
RO []
Escribe
un
direccin
texto
en
la
que
se
tortuga.
Este
encuentra
la
texto
muestra
se
en
en
ROTULA
[Texto
de
ejemplo]
RO [Texto de ejemplo]
la
pantalla de MSWLogo.
PONG []
PONGROSOR
[anch
o alto]
del
lpiz
la
altura
especificados.
MSWLogo
utiliza
el
lpiz
solamente
valor
50
veces
su
tamao
PERSPECTIVA
Coloca
la
tortuga
en
las
Coloca la tortuga en
X y el segundo
nmero
las
en la
unidad
Y.
PERSPECTIVA
tercera
para
mover
dimensin (eje
que
por
sta
sta
se
Z)
pueda
dimensin.
PONBALANCEO 90
Rota
la
tortuga
90
respecto al eje Y
sobre
comando
el
eje
slo
Y.
Este
funciona
en
modo perspectiva.
PONCABECEO grados
PONCABECEO 90
posicin
Rota la tortuga 90
absoluta
segn los
respecto al eje X
sobre
comando
el
eje
slo
X.
Este
funciona
en
modo perspectiva.
BALANCEA grados
BAL ...
Rota
la
tortuga
hacia
la
BALACEA 90
BAL 90
Rota
funciona
hacia la derecha
en
modo
la
tortuga
90
perspectiva.
BALANCEAIZQUIERDA
CAI ...
grados
Rota
la
tortuga
hacia
la
BALACEAIAQUIERDA 90
CAI 90
Rota la tortuga 90
funciona
hacia la izquierda
en
modo
perspectiva.
BAJANARIZ grados
BAJAN ...
Desciende
la
nariz
de
la
que
le
comando
indiquen.
slo
Este
funciona
en
BAJANARIZ 90
se
BAJAN 90
Desciende
90
el
sentido de la tortuga
modo
perspectiva.
GOMA
GOMA
Goma
modo borrador
Ponlapiz
Ponlapiz
Vuelve a pintar
Ponlapiz
DESCRIPCIN
Realiza
una
conjunto
de
EJEMPLO
instruccin
instrucciones
un
si
se
SISINO condicion
Realiza
[instrucciones1]
instrucciones
[instrucciones2]
las
si
primeras
la
condicin
sino
SI SINO
(:variable=1) [M1 "P]
[salida 255]
HAZ.HASTA
[instrucciones]
[condicion]
Repite
la
lista
de instrucciones
HAZ.HASTA [
SI [:variable=3] [salida 1]
la
el
instrucciones,
de
[:bucle=1]
las
condicion.
conjunto
Primero
de
instrucciones
se
lee
ejecutan
al
condicin.
HASTA [:bucle=1]
HASTA [condicion]
Repite
[instrucciones]
[SI
la
[:entradas_digitales=3]
la
lista
condicin.
expresada
Si
se
ejecutan las
de
instrucciones
la
condicin
cumple
no
se
instrucciones ni una
[salida 1]
SI [:entradas_digitales=5
[salida 0]]
sola vez.
HAZ.MIENTRAS [instrucciones]
Repite
la
[condicion]
tantas
veces
lista
de
instrucciones
como
se
de
la
lee
HAZ.MIENTRAS [
SI
[:entradas_digitales=3
[salida 1]
el conjunto de instrucciones, de
SI [:entradas_digitales=5
esta
[salida 0]]
forma
se
instrucciones
asegura
se
que
ejecutan
las
al
[:bucle=1]
SIEMPRE [instrucciones]
condicin.
MIENTRAS [:bucle=1]
condicin.
[:entradas_digitales=3]
Si
la
condicin
[SI
expresada no se cumple no se
[salida 1]
SI [:entradas_digitales=5
sola vez.
[salida 0]]
de forma repetida.
un ejemplo]
Esto es un ejemplo
Esto es un ejemplo
Esto es un ejemplo
Esto es un ejemplo
.
.
.
Escribir
de
maner
continua
estas
frases,
hasta
que se
detenga
un ejemplo]]
nmero.
Esto es un ejemplo
es
Esto es un ejemplo
Esto es un ejemplo
Nos muestra el
texto
que
hemos
indicado.
PRIMITIVA
CREAVENTANA
[titulo]
pox
DESCRIPCIN
padre
poxy
[configuracin]
nombre
ancho
alto
EJEMPLO
CREAVENTANA principal
de MSWLogo.
[Ejemplo
12
de la ventana.
de
ventana]
para
el nombre de ej
cual se muestra la
de Ejemplo de ventana.
quizs
-nombre
se
sea
utiliza
padre
de
otra
en
la
etiqueta
ventana.
principal,
de
ventana se pusiera
las
las
si
esta
dentro
respectivamente de la esquina
ventana.
ventana de la cuelga.
-ancho
alto
de
la
nueva
ventana.
-configuracin
de
es
instrucciones,
una
lista
esta
lista
BORRAVENTANA principal
en nombre.
las
ventanas,
tambin
ventanas que
las
colgarn de
ventana
etiquetada
nombre
ej.
con
el
CREAGROUPBOX
ej_groupbox 5 0 274 85
agrupar
botones,
botones
de
ventana con
es
el
ventana
en
la
que
la
de
la
ej
crea
el
ej_groupbox.
nombre
la
ej
etiqueta
cual
se
llama
groupbox.
-nombre
se
utiliza
para
identificar el groupbox y ha
de ser nico.
-pox posy son las
de
las
posiciones
las
respectivamente de la
esquina
-ancho
del
nuevo
groupbox.
BORRAGROUPBOX nombre
BORRAGROUPBOX ej_groupbox
en nombre.
Borra
la
caja
etiquetada
como ej_groupbox.
CREABOTON padre nombre posx
Crea
ventana.
un
botn
dentro
de
una
es
el
nombre
ventana
en
la
que
de
crea
el
la
se
utiliza
para
identificar el botn y ha
de
las
respectivamente de la esquina
superior
izquierda
del
nuevo
botn.
-ancho alto del nuevo botn
creado.
- llamada
de
con
cual
el
ej_boton, y
etiquetada
se
es
una
pequea
instrucciones
nombre de un procedimiento
cuando
se
pulsa
un
a
el
con
etiqueta
nombre
muestra
texto de Botn.
ser nico.
botn.
ventana
ej al
-nombre
llamar
ej_boton
la
botn.
lista
ej
[Botn] 25 10 110 35 []
-padre
de
CREABOTON
de
ej_boton
ACTUALIZABOTON
[Botn
etiquetado
actualizado]
ej_boton
con
de
Botn
BORRABOTON nombre
por
la
palabra
actualizado.
BORRABOTON ej_boton
nombre.
Borra
el
botn
etiquetado
como ej_boton.
CREABOTONRADIO padre grupo
CREABOTONRADIO
nombre [etiqueta]
la posibilidad de seleccin
ej_groupbox
ancho
posx posy
alto
un
elemento
de
de
estados
botn
tiene
tipo
que
estar
es
el
nombre
ventana
en
la
que
de
la
crea
este
nombre
del
[Esto
es
ej
ej_botonradio
otro
ejemplo]
25
50 120 30
que
se
con
etiqueta
ej_botonradio,
el
cua
botn.
-grupo
es
el
groupbox
al
que
ejemplo.
est
asociado.
-nombre
se
utiliza
para
identificar el botn y ha
de
ser nico.
-etiqueta
etiqueta
se
que
utiliza
aparece
como
en
el
nuevo botn.
-pox posy son las posiciones
de
las
las
respectivamente de la esquina
superior
izquierda
del
nuevo
botn.
-ancho alto del nuevo botn
creado.
BORRABOTONRADIO nombre
BORRABOTONRADIO
nombre.
ej_botonradio
Borra
el
botn
etiquetado
como ej_botonradio.
CREACHECKBOX
nombre
la posibilidad de seleccin
ej_groupbox
ancho
[etiqueta]
posx
posy
alto
de
[Texto
110 35
groupbox.
Crea
-padre
es
el
nombre
ventana
en
la
que
de
la
crea
este
nombre
del
botn.
de
el
dentro
ej_checkbox
ejemplo]
groupbox
del
es
el
groupbox
al
que
10
checkbox
botn
con
nombre de ej_checkbox en
el cual se muestra
-grupo
155
Texto
de ejemplo.
est
asociado.
-nombre
se
utiliza
para
identificar el botn y ha
de
ser nico.
-etiqueta
etiqueta
se
que
utiliza
aparece
como
en
el
nuevo botn.
-pox posy son las
de
las
posiciones
las
respectivamente de la
superior
izquierda
esquina
del
nuevo
botn.
-ancho alto del nuevo botn
creado.
BORRACHECKBOX nombre
Borra
el
botn
que
se
en
nombre.
BORREACHECKBOX ej_checkbox
Borra
el
botn
etiquetado
como ej_checkbox.
CREALISTBOX padre nombre
CREALISTBOX ej ej_listbox
diferentes elementos.
155 45 90 20
-padre
es
el
nombre
ventana
en
la
que
de
crea
la
este
botn.
de
la
etiquetada
-nombre
se
utiliza
identificar la lista y
para
ha
de
esta
lista
como
se
la
ventana
ej,
etiqueta
como ej_listbox.
ser nico.
-pox posy son las
de
las
posiciones
respectivamente de la
las
esquina
BORRALISTBOX ej_listbox
se indica en nombre.
como
CREACOMBOBOX
para
ej_combobox 155 55 90 20
dar
al
seleccin
usuario
de
una
mltiples
elementos.
-padre
es
el
nombre
de
la
se
dentro
de
la
ej
utiliza
para
identificar el botn y ha
de
ser nico.
-pox posy son las posiciones
de
las
las
respectivamente de la esquina
superior
izquierda
del
nuevo
botn.
-ancho alto del nuevo botn
creado.
BORRACOMBOBOX nombre
BORRACOMBOBOX ejcombobox
mltiples
Borra
elementos
que
se
indica en nombre.
la
caja
de
seleccin
etiquetada
como
ej_combobox.
CREAESTATICO padre nombre
CREAESTATICO
"e
"ej_estatico
35
puede
70 50 10
actualizar
-padre
con
la
actualizaestatico.
primitiva
es
el
nombre
de
la
se
utiliza
[ESTATICO]
dentro de la ventana ej a
la
para
cual
se
llama
contiene
a introducir en la ventana y ha
ESTATICO.
el
texto
de ser nico.
-pox posy son las posiciones
de
las
las
respectivamente de la esquina
superior izquierda de donde se
va a ubicar el texto.
-ancho
alto
del
texto
introducido en la ventana.
ACTUALIZAESTATICOnombre
[texto]
con
creaestatico.
ACTUALIZAESTATICO
ej_estatico [ACTUALIZADO]
Actualiza el texto
de la
ventana
de texto
esttica
de
ESTATICO
ACTUALIZADO.
BORRAESTATICO nombre
BORRAESTATICO ej_estatico
indica en nombre.
Borra
la
ventana
de
texto
etiquetada
como
ej_estatico.
DESCRIPCIN
EJEMPLO
donde
CARGADIB C:\\ejemplo.bmp
indica
ruta_imagen.bmp.
CARGADIBTAMAO
Se
ruta_imagen.bmp
que
primitiva
se
indica
en
utiliza
ruta_imagen.bmp. El tamao lo
mostrar
devuelve
pantalla.
en
una
lista
de
MUESTRA
junto
con
muestra
el
la
para
resultado
en
CARGADIBTAMAO
C:\\ejemplo.bmp
Nos devuelve:
[256 256]
GUARDADIB ruta\nombre_bitmap
Guarda
una
imagen
.bmp
en
la
en
formato
ubicacin
GUARDADIB C:\\ejemplo.bmp
del
que se
donde
CARGAGIF C:\\ejemplo.gif
indica
ruta_imagen.gif.
GUARDAGIF ruta\nombre_gif
Guarda
una
imagen
.gif
en
la
en
formato
ubicacin
GUARDAGIF C:\\ejemplo.gif
del
DESCRIPCIN
Cierra el programa de MSWLogo.
EJEMPLO
ADIOS
4.- Comentarios
Los comentarios en el lenguaje de MSWLogo han de ir precedidos por un punto y
coma ;. A continuacin se muestra un ejemplo.
; Esto es un comentario de MSWLogo
Es importante destacar que cuando se carga un fichero lgo se cargan todos sus
procedimientos en el entorno de MSWLogo.
Si no se han guardado el entorno de trabajo de la sesin actual en disco o si en el
archivo existen procedimientos ya definidos en la sesin actual, se sobrescribir. Pero
antes de eso MSWLogo emite una ventana de aviso: