Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.- Historia de MSWLogo 2.- Uso del entorno de MSWLogo 3.- Crear procedimientos en MSWLogo 4.- Definicin de variables 5.- Listado de primitivas de MSWLogo 5.1.5.2.5.3.Primitivas para dibujar Primitivas para escribir, editar y trabajar con ficheros Primitivas para trabajar con controladoras Salidas digitales Entradas digitales Entradas Analgicas Salidas Analgicas 5.4.5.5.5.6.5.7.5.8.Primitivas de sonido Primitivas para crear condicionales y bucles Primitivas para dibujar ventanas Primitivas para trabajar con imgenes Primitivas para salir de MSWLogo
2 2 3 7 8 8 11 14
20 22 25 33 33 33 35 36 37 38
6.- Entorno grafico de MSWLogo 7.- Comentarios 8.- Guardar un fichero de programacin 9.- Cargar un fichero de programacin 10.- Bibliografa
siguientes dcadas l y su equipo continuaron con su desarrollo y tratando de crear un programa con un entorno grfico que fuera a la vez potente y fcil de usar. En 1994 MSWLogo fue modificado para permitir el control por ordenador a travs de los puertos serie y paralelo. Todas las versiones del software Logo para los sistemas operativos Unix, MSDos, Macintosh y Windows desarrolladas inicialmente por la Universidad de California (Berkeley), son gratuitas y pueden ser copiadas sin ningn tipo de restriccin por instituciones 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 Instituto Superior de Formacin y Recursos en Red para el Profesorado (ISFTIC), que es una versin del MSWLogo 6.5a traducida al castellano.
La pantalla de MSWLogo se divide en 2 partes: 1. La pantalla principal: En esta ventana es donde se encuentra la tortuga, mediante la ayuda de sta se dibujan diferentes figuras, se cargan imgenes, etc. Esta ventana est etiquetada con el titulo de Pantalla de MSWLogo. En la parte superior de esta ventana se encuentran diferentes mens para la realizacin de diversas tareas.
A continuacin se muestra una pequea descripcin de las tareas que pueden realizar cada uno de los mens que se muestran en la imagen superior. Archivo: permite guardar, abrir, cerrar y modificar entre otras cosas los archivos de programacin de MSWLogo. Bitmap: permite poder trabajar con imgenes con extensiones bmp. Configurar: permite cambiar el color del lpiz, el grosor del lpiz, el tipo de letra, etc. Zoom: permite acercarse o alejarse de la imagen que se muestra en esta pantalla. Ayuda: vienen los diferentes archivos de ayuda necesarios para la total comprensin del entorno de MSWLogo.
2. La ventana de trabajo o de comandos: Esta ventana a su vez se divide a su vez en 3 partes diferentes: A) La caja de entrada de datos o primitivas: Se pueden usar maysculas o minsculas para las primitivas puesto que Logo no hace diferencia unas de otras. Las primitivas se ejecutan despus de ser introducidas en la ventana de trabajo y de pulsar la tecla ENTER o de hacer clic en el botn Ejecutar. B) 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.
Anexo Manual MSWLogo
C) Botones de comandos: Estos botones se encuentran a la derecha de la ventana de trabajo, stos realizarn diferentes acciones que se explicarn ms adelante en este manual.
seguida del
nombre que se vaya a poner al procedimiento y de los parmetros que tenga ste, si es que los tiene. Despus se pondr la definicin del procedimiento con toda la lista de instrucciones, para finalizar el procedimiento se utiliza la palabra reservada fin.
A la hora de crear procedimientos, existen 3 maneras distintas de realizarlos. A continuacin las exponemos:
1. En la ventana de trabajo, hay que escribir en la caja de entrada de datos o primitivas la siguiente instruccin
parmetros], PARA nombre [lista de
En esta ventana se irn introduciendo una a una las sentencias o instrucciones de las que va a constar el procedimiento, segn se vaya poniendo cada instruccin se ir pulsando el botn OK para ir aadindolas al procedimiento. Para terminar con la definicin del procedimiento se introducir la primitiva FIN.
2. Mediante la ventana de edicin, que es una ventana en la que se irn poniendo las instrucciones, previamente tenemos que poner el nombre al procedimiento despus de la palabra ventana se utiliza las primitivas
para.
editatodo
pueden definir variables, asignar valor a dichas variables, escribir comentarios, etc. Cuando se ha acabado de definir el procedimiento se guardar en la opcin del men Archivo Guardar.
5 3. En un archivo con extensin lgo, dentro de este archivo se pueden definir uno o varios procedimientos mediante las palabras reservadas
para
fin.
MSWLogo el archivo lgo, para lo cual iremos a la opcin del men Archivo - Cargar.
Una cosa bastante importante de los procedimientos en MSWLogo es la recursividad, es decir un procedimiento se puede llamar a si mismo. Esto es bastante importante ya que se utilizar bastante en la programacin de los diferentes proyectos para poder crear pequeos bucles.
PARA nombre_del_procedimiento [lista de parmetros] Lista de instrucciones . . nombre_del_procedimiento FIN
Tambin como en otros entornos de programacin un procedimiento puede llamar a otro procedimiento, lo que har esto es realizar las instrucciones que tiene definidas el procedimiento al que se llama.
PARA nombre_del_procedimiento1 [lista de parmetros] Lista de instrucciones . . FIN PARA nombre_del_procedimiento2 [lista de parmetros] Lista de instrucciones . . nombre_del_procedimiento1 FIN
Fija: el tamao de la variable no cambia a lo largo de la ejecucin del programa. Prcticamente todas las variables tienen una longitud fija.
haz
seguida de una apertura de comillas , tras las cuales se pone el nombre que se le vaya a dar a la variable.
Haz nombre_variable
valor
A una variable se la puede asignar un valor, este valor puede ir cambiando a lo largo de la ejecucin de un programa. El valor depende del tipo de dato que se quiera guardar en la variable. sta puede guardar los siguientes tipos de datos, son: - Entero - Lgico - Carcter - Cadena de texto
Para asignar un valor a una variable lo nico que hay que hacer es poner tras el nombre de la variable el valor que se le quiera dar ya sea un nmero o una cadena de texto. As si por ejemplo se quiere asignar un valor de una letra o una palabra, stas irn precedidas de comillas (), pero si se quiere asignar como valor una cadena de texto el valor se pone entre corchetes []. A continuacin mostraremos varios ejemplos.
5 a verdadero 7
Haz nombre_variable
[Esto es un ejemplo]
Para poder acceder al valor de una variable se debe anteponer al nombre de la variable dos puntos :. As por ejemplo mediante el uso de otra primitiva nos muestra el valor en pantalla de la primitiva.
Haz nombre_variable
muestra :nombre_variable
Tambin hay otra palabra reservada para poder crear variables y asignarles un valor, la palabra a utilizar es haz2, lo nico que cambia con respecto a
haz
es el orden
en la declaracin de la variable. As una variable con un valor asignado se declarara de la siguiente forma:
Haz2
valor nombre_variable
Ej:
Haz2
5 nombre_variable
PRIMITIVA
MTODO ABREVIADO
DESCRIPCIN
EJEMPLO
AVANZA unidades
AV ...
RETROCEDE unidades
RE ...
La
tortuga
retrocede
el
RETROCEDE 100
sentido
agujas GD 90
del reloj el nmero de grados VIRA 90 especificado. Gira la tortuga 90 hacia la derecha GIRAIZQUIERDA ngulo GI ... La tortuga gira en sentido GIRAIZQUIERDA 90 contrario del reloj a el las agujas GI 90 ngulo Gira la tortuga 90
el modo el modo
(PINTA
normal
GOMA
GO
Pone
el
lpiz por
BAJADO donde
y GOMA se
el modo a BORRA (la tortuga va GO borrando mueve). SUBELAPIZ SL Pone el lpiz LEVANTADO, SUBELAPIZ SL sin BAJALAPIZ BL tortuga pantalla que al sin para CENTRO
utilizar mientras
la primitiva SUBELAPIZ dibuje va hacia el centro. PONCOLORLAPIZ ... ...] [... PONCL [... ... ...] Pone el lpiz del
color 000]
El color amarillo es: PONCOLORLAPIZ 255 000] PNCL[255 255 000] [255
determinado de acuerdo con: PONCOLORLAPIZ [255 000 = Rojo PONCOLORLAPIZ [000 255 = Verde PONCOLORLAPIZ [000 000 = Azul 255] 000]
OCULTATORTUGA
OT
Oculta
la
tortuga
(el
OT
tringulo) en la pantalla.
HAZTORTUGA
tortuga
la
tortuga le
en
la
HAZTORTUGA
[0
100
que de
indicamos, 45 [av 100]] ejemplo 0 100 del del coloca eje eje rota as
la tortuga n 0 en el
que va a realizar
Y, despus la
sentido BORRAPANTALLA BP Borra la pantalla y coloca a la tortuga en el centro. LIMPIA Borra la pantalla, actual en pero la BORRAPANTALLA BP LIMPIA
mantiene a la tortuga en su posicin pantalla. ROTULA [texto] RO [] Escribe direccin encuentra Este texto un textoen la en la que se la ROTULA [Texto de
ejemplo]
semuestra en
pantalla de MSWLogo. PONGROSOR alto] [ancho PONG [] Coloca el ancho lpiz y del PONGROSOR [50 50] la PONG [50 50] Aumenta el grosor del 50 veces su
PONPOS [X Y]
Coloca
coordenadas que se indican, Coloca la tortuga en siendo el primer nmero las la unidad 100 del eje X y el segundo nmero X y en la unidad las Y. PERSPECTIVA Se aade a la Z) para mover que sta sta tortuga (eje pueda se
dimensin.
Este comando precede a los comandos que vienen debajo de ste. PONBALANCEO grados Rota la tortuga a una nueva posicin absoluta segn los PONBALANCEO 90 Rota la tortuga 90
10
grados en
hacia la derecha
izquierda los grados que se CAI 90 indican. funciona perspectiva. Este comando slo Rota en modo la tortuga 90
hacia la izquierda
BAJANARIZ grados
BAJAN ...
Desciende tortuga se le
la los
nariz
de
la
BAJANARIZ 90
grados Este
indiquen.
11
12
entradas en la salida escritura es Todas una que ESCRIBE [Esto es un est ejemplo] el las ES ejemplo se si ejemplo] de si de entre los sola ES [Esto es un actualmente inicialmente terminal). entradas escriben lnea. es una llevar apertura es una texto en El sola , cadena va
de texto texto
palabra y
comillas
corchetes[],no mostrndose corchetes. MUESTRAT texto Muestra entradas comando excepto muestra de el nueva la entrada o MUESTRAT ejemplo al no al son MUESTRAT [Esto es
escribe, carcter
un ejemplo]
final, y las entradas mltiples separadas por lneas. EDITA PROCEDIMIENTOS EDITAPROCEDIMIENTOS Abre la ventana del Este comando se
editor que nos permite crear o modificar procedimientos, variables que estemos creando. es Editar. Su funcin al a botn la similar similar
EDITA CONTENIDO
EDITATODO
Es
Este
comando
se
funcin
anterior.
Se explica en el tema
mantiene esta funcin 3 de este manual por compatibilidad con versiones anteriores de MSWLogo. EDITA nombre_proc ED ... Abre la ventana del Este comando se editor con el nombre de explica en el tema3 procedimiento que se le de este manual haya dado.
13
Abre un editor estndar EDITAFICHERO con el fichero que se haya c:\\ejemplo.lgo rotula [Este el indicado. En llamada se fichero a editar] pone un conjunto a de Abre el fichero ejemplo.lgo que instrucciones ejecutar se encuentra en C, y una vez abierto muestra en la pantalla de
MSWLogo el texto del comando TAPADO rotula Devuelve una lista de Mediante la ayuda del contenidos con los comando muestra que Con ejemplo elementos tapados del nos dice los entorno de trabajo. procedimientos se han MSWLogo. respecto al anterior: MUESTRA TAPADO Devuelve encender BORRA contenidos BO ... Borra del entorno de trabajo los procedimientos, variables y listas de propiedades han pasado entrada. BORRAPROCEDIMIENTOS Borra todos los que BORRAPROCEDIMIENTOS que en se la BORRA [encender] Elimina procedimiento encender de MSWLogo el ocultado a
entorno de
que
BORRATEXTO
hay en el Terminal. CARGA nombre_fichero Lee las instrucciones CARGA del para fichero a lgo C:\\ejemplo.lgo Carga el fichero que ejemplo.lgo continuacin
realizarlas.
se encuentra en C GUARDA nombre_fichero Guarda en un de todos y listas fichero GUARDA los Guarda fichero de ejemplo.lgo que se encuentra en C en el
14
El listado de primitivas que se van a exponer a continuacin sirve para poder trabajar con las controladoras ENCONOR y CNICE. Hay que tener en cuenta que estas controladoras no tienen las mismas conexiones, as por ejemplo no tienen el mismo nmero de entradas analgicas, por ello hay algunas primitivas que no se pueden utilizar. Adems la controladora CNICE no tiene salidas analgicas y por tanto las primitivas que para este tipo de salidas no se podrn usar con ella.
PRIMITIVA
M1 I Hacer
DESCRIPCIN
girar en un sentido M1 I
EJEMPLO
un motor conectado a las salidas digitales 0 y 1. Si el actuador es una bombilla, Activa la rel o lo electroimn, activa. digital 0. M1 D Hacer contrario anterior girar a un en la motor sentido primitiva conectado M1 D simplemente
salida
a las salidas digitales 0 y 1. No se diferencia de la primitiva anterior otros bombilla, simplemente si estn o lo conectados son una activa. electroimn, actuadores rel como
Activa la salida digital 1. M1 P Desactiva el actuador que est conectado a una de las salidas digitales 0 y 1 M1 P
15
M2 I, P M3 M4 P
M2 D, I, M3
M2 D,
las
mismas cambia
I,
M2
D, M3
primitivas
anteriores, M2 P M3 I, M4 D, M4 P
M3 P M4 I, M4 D,
M3 P M4 I,
M2 - Salida 2 y 3 M3 - Salida 4 y 5 M4 - Salida 6 y 7 M? Devuelve estado una de lista 4 con el Esta primitiva con la para se utiliza
los
motores. junto
primitiva ver el
muestra,
resultado en pantalla. MUESTRA M? nos devuelve: M [I P D I] M [lista_motores] Permite activar o desactivar los M [I D P P] 4 motores de manera Se pone entre corchetes simultneamente. En la lista de el estado en que queremos motores se pone el estado que se que encuentren los 4 quiera por cada motor, separados motores. stos por un espacio. La lista ha de ir entre corchetes []. CONECTAR Activa todas las salidas CONECTAR
digitales de la controladora. CONECTA numero Activa la salida digital indicada en :NUM (1,2,3,4,5,6,7,8) DESCONECTA numero Desactiva indicada la salida en digital :NUM CONECTA 1 Activa la salida digital 0 DESCONECTA 8 Desactiva la salida digital 7 Esta primitiva con la para se utiliza
cada junto
primitiva ver el
son 0 1 muestra,
SALIDA dato
Controla en conjunto las ocho salidas digitales. Enva a las salidas digitales el dato en binario equivalente al decimal que se ponga en dato.
salidas
0, 1 y 7 (1+2+128)
16
compatibilidad con las primitivas Activa las salidas digitales ENCONOR (realiza la misma funcin 0, 6 y 7 (1+64+128) que la primitiva SALIDA). Enva a las salidas el nmero decimal que se ponga en dato. APAGA numero_salida Procedimiento para la APAGA 4
compatibilidad con las primitivas Desactiva la salida digital ENCONOR. Desconecta la salida nmero 4 digital indicada numero_salida que van de 0 al 7, dejando el resto de salidas como estn. SALIDA? Devuelve una lista de ocho elementos con el estado de las ocho salidas digitales (devuelve un 1 si la salida est activada o un 0 si la salida se encuentra desactivada. VS? Devuelve el valor en en un nmero decimal que decimal de las estn Se utiliza junto con l Se utiliza junto con l
salidas
digitales
activadas.
PRIMITIVA
ENTRADA numero_entrada
DESCRIPCIN
Procedimiento compatibilidad primitivas por digital conectada VERDADERO si ENCONOR. la indicada para con la las Se
EJEMPLO
utiliza el junto con la para en
muestra resultado
numero_entrada est
Esto ocurrira si la entrada no estuviera y devuelve FALSO digital 1 conectada si no est conectada.
17
VE?
un indica digitales
nmero Se
utiliza el
junto
con
la para en
muestra resultado
Nos indica que est activada la entrada digital n 3 SD numero_entrada Devuelve el valor del sensor Se digitalque se indica numero_entrada, un 1 si la entrada en est devuelve utiliza junto con la para en
muestra resultado
activa y 0 si la entrada no MUESTRA SD1 est activa. 0 Nos indica que la entrada
digital 0 est desactivada SD? Devuelve todas las de 0s o 1s. el estado entradas de Se utiliza junto con la para en
primitiva el
muestra resultado
digitales en forma
digitales 0, 6 y 7. ESPERAON numero_entrada Deja el programa parado a ESPERAON 1 active Deja el programa se detenido la indicada hasta que active
la espera
de que se
entrada digital 0 parado a ESPERAOFF 1 que se Deja el programa detenido la entrada hasta que se desactive
indicada
en entrada digital 0
numero_entrada.
18
PRIMITIVA
LEEANALOGICA dato
DESCRIPCIN
Procedimiento compatibilidad la empresa ENCONOR. para con la Se
EJEMPLO
utiliza junto con la para en
muestra resultado
Lee y escribe en el puerto los MUESTRA LEEANALOGICA 1 datos necesarios para obtener el 240 valor decimal (valor entre 0 y Devuelve 255) que proporciona la entrada tensin analgica indicada en dato analgica valor (que puede ser 1, 2, 3, o 4). el el en 1. en valor la Para en entrada obtener de
voltios
Si consigue leer las entradas, esta entrada se aplica la devuelve su valor, para poder formula obtener decimal el valor en voltios descrita. al se valor El valor es: 468 Voltios consigue correspondiente devuelto anteriormente
aplicando la siguiente frmula: Voltaje(V) = (N*5/256) SAV Primitiva valida para la Se utiliza junto con la para en
controladora ENCONOR. Devuelve primitiva el valor en voltios del mostrar pantalla. MUESTRA SAV 0 Nos el sensor analgico conectado a la entrada analgica 1.
muestra resultado
analgica
est desactivada SAW Primitiva ENCONOR. Devuelve voltios el de la valor entrada, de se valida tanto para Se utiliza junto con la para en
la controladora CNICE como la primitiva mostrar en pantalla. esta MUESTRA SAW la 0 este Nos el
muestra resultado
19
SAX
valida
tanto
para
Se
utiliza
junto
con la para en
la controladora CNICE como la primitiva mostrar el de la valor entrada, de se en pantalla. esta MUESTRA SAX la 0 est Nos el
muestra resultado
SAY
valida
tanto
para
Se
utiliza el
junto
con la para en
la controladora CNICE como la primitiva mostrar el de la valor entrada, de se en pantalla. esta MUESTRA SAY la 0
muestra resultado
est Nos
SAZ
valida
tanto
para
Se
utiliza
con la para en
la controladora CNICE como la primitiva mostrar el de la valor entrada, se en pantalla. esta MUESTRA SAZ 0 este Nos el
muestra resultado
entrada depende de la controladora que utilizando. Ser: -CNICE: entrada analgica 4 -ENCONOR: entrada analgica 5
20
valor en voltios de todos los primitiva sensores analgicos. mostrar pantalla. MUESTRA SA? el
muestra resultado
PRIMITIVA
SALIDAANALOGICA numero_salida valor_salida
DESCRIPCIN
EJEMPLO
Escribe los datos necesarios SALIDAANALOGICA 1 100 para poner analgica en que se la le salida A la salida analgica 1 se indica le el asigna 100. el valor ste nivel de de salida valor
corresponde a un la frmula
tensin que se calcula con anteriormente descrita. El valor es: 420 Voltios
salida analgica se utiliza la siguiente frmula: Voltaje(V) = (valor_salida/23,8) VOLTAJE valor_salida numero_salida Fija en la salida analgica
VOLTAJE?
Devuelve
una
lista
con
el Se
utiliza el
junto
con la para en
muestra resultado
MUESTRA VOLTAJE? [0 4.5 0 0] Nos muestra que la salida analgica 2 tiene un valor de 4,5 voltios
21
PRIMITIVA
TONO [flujosonido] Emite un
DESCRIPCIN
tono desonido.
EJEMPLO
TONO [700 5000] Emite agudo un tono de un sonido perodo
Frecuencia - Hertzios Duracin - Milsimas de segundo El sonido solo se emite por el altavoz del PC.
durante
de tiempo de 5 segundos.
SUENATONO duracion
frecuencia
Funcin
similar
a se
la
SUENATONO [1000 5000] Emite ms un un agudo tono que de sonido con el durante
versiones
anteriores de MSWLogo.
comando segundos.
anterior
perodo de tiempo de 5
ENCIENDESONIDO frecuencia
Emite
un
sonido
cuya ENCIENDESONIDO 1000 con el Emite manera un no tono agudo de Este en continua. funciona
frecuencia coincide
sonido continuar hasta que comando comando sistemas APAGASONIDO. Esta primitiva no funcionar en Sistemas Operativos con ncleos NT, ya que utiliza la primitiva escribepuerto. APAGASONIDO
operativos
Quitar un sonido que se haya APAGASONIDO puesto con la primitiva Este en comando sistemas no funciona operativos ENCIENDESONIDO frecuencia. Esta primitiva no funcionar en Sistemas Operativos con ncleos NT, ya que utiliza la primitiva escribepuerto.
22
encuentra ubicado en C, y
devuelve el control hasta que continuada se haya terminado 1-> el Asncrono que control devuelve sigue
control a MSWLogo
inmediatamente sonido
mientras el sonando
2-> No utiliza el sonido por defecto si el indicado no puede orse 8 -> Reproduce ejecuta sonido 16 -> No para un sonido que ya estaba sonando Las opciones anteriores se otra el sonido de de
pueden combinar.
PRIMITIVA
SI condicion [instrucciones] Realiza
DESCRIPCIN
una instruccin la o La
EJEMPLO
variable las entradas para guardar entradas
(:entradas_digitales=1)
entrada
digital
desactivan digitales la 0
y 1. Si nada.
no se cumple
condicin,
no se ejecuta
23
las se el otro
variable las
instrucciones la condicin.
sino se cumple SISINO (:entradas_digitales=1) [M1 "P] [salida 255] Se expresa que 0 0 si la est 1,
entrada salidas
digital
activada, se desactivan las digitales pero si no est activada, se encienden todas las salidas digitales. HAZ.HASTA [instrucciones] [condicion] Repite hasta conjunto la que de se lista de La variable entradas para guardar
cumpla la el
las entradas
Primero lee
instrucciones, HAZ.HASTA [SI[:entradas_digitales=3] de esta forma se asegura que [salida 1] las instrucciones se ejecutan SI[:entradas_digitales=5] al menos una vez antes de [salida 0]] [:bucle=1] Lo .primero que hace .es comprobar la condicin.
chequear las instrucciones que son 2 condiciones de los HASTA [condicion] [instrucciones] Repite la lista de La variable entradas para las guardar entradas
condicin.
expresada se
cumple no se HASTA [:bucle=1] ejecutan las instrucciones [SI[:entradas_digitales=3] ni una sola vez. [salida 1] SI [:entradas_digitales=5]
condicin,
cumple
instrucciones
24
el HAZ.MIENTRAS [ conjunto de instrucciones, SI [:entradas_digitales=3] de esta forma se asegura que las [salida 1] instrucciones se ejecutan al SI [:entradas_digitales=5] menos una vez antes de [salida 0]] comprobar la condicin. [:bucle=1] Lo primero que hace es
Primero
chequear las instrucciones, que son 2 condiciones de los SI, y despus comprueba si se cumple la condicin del HAZ.MIENTRAS, si sta no se cumple no realiza ms veces las instrucciones del MIENTRAS [condicion] [instrucciones] Repite la lista de instrucciones tanta veces como se de la condicin. Si la condicin expresada no se cumple no se ejecutan las instrucciones ni una sola vez. HAZ.MIENTRAS. La variable se ha creado el valor de digitales. MIENTRAS [:bucle=1] [SI [:entradas_digitales=3] [salida 1] SI [:entradas_digitales=5] entradas guardar
para
las entradas
[salida 0]] Primero comprueba sise cumple la condicin, si sta se cumple evala las instrucciones del MIENTRAS. SIEMPRE[ escribe [Esto es un ejemplo] Esto es un ejemplo Esto es un ejemplo Esto es un ejemplo Esto es un ejemplo . . . Escribir continua hasta que de manera estas frases, el ayuda la sedetenga
SIEMPRE [instrucciones]
25
Repite
la
lista
de REPITE 3 [escribe [Esto es veces un ejemplo]] Esto es un ejemplo Esto es un ejemplo Esto es un ejemplo
instrucciones tantas
Nos de
muestra
el
texto
veces,
que es el
nmero
indicado.
DESCRIPCIN
ventana en la
EJEMPLO
CREAVENTANA [Ejemplo de principal ej ventana] 120
nombre [titulo]
nombre 150 287 100 [] Esto las cual y la crear se una ventana la la de p con el nombre de ej en muestra Ejemplo etiqueta de ventana. El es nombre del proceso si se del
lista de instrucciones, esta llama principal, vaca y esta ventana se ms dentro de otra pondra cuelga. en los controles
padre de la ventana de la
26
todas
ventanas,
esta ventana padre. BORRAVENTANA ej Borra solamente la ventana etiquetada ej. CREAGROUPBOX padre nombre posx posy ancho alto Crea una caja dentro de una CREAGROUPBOXej ventana en la que se pueden ej_groupbox 5 0 274 85 agrupar botones, botones de Crea una caja dentro de la radio, botones de ventana con la etiqueta seleccin. ej a la cual se llama -padre es el nombre de la ej_groupbox. ventana en la que crea el groupbox. -nombre se utiliza para identificar el groupbox y ha de ser nico. -pox posy son de del las la nuevo con el nombre
posiciones de las X y las Y respectivamente esquina superior de izquierda groupbox. BORRAGROUPBOX nombre Borra el groupbox que se indica en nombre. BORRAGROUPBOX ej_groupbox Borra la caja etiquetada izquierda
como ej_groupbox.
27
CREABOTON [llamada]
padre
nombre
Crea
un
botn es se el
dentro
de
-padre -nombre
nombre de para y ha
utiliza
posiciones de las X y las Y respectivamente esquina superior -ancho alto izquierda del nuevo
ej_boton,
el texto de Botn.
pequea
instrucciones o
de un procedimiento a llamar ACTUALIZABOTON nombre [texto] Sustituye el texto que aparece dentro del botn. -nombre se utiliza para saber que ventana cuelga. ACTUALIZABOTON ej_boton [Botn actualizado] Cambia el texto del botn etiquetado por la en vez de con ej_boton Escribe la palabra por palabra
Botn actualizado.
BORRABOTON nombre
como ej_boton.
28
es 120 de del
ej_botonradio,
que est
identificar el botn y ha de
botn creado. BORRABOTONRADIO nombre Borra el botn que se indica en nombre. BORRABOTONRADIO ej_botonradio Borra el botn etiquetado como ej_botonradio.
29
Crea
un
botn de un de
que
da
ej ej_checkbox 155
posibilidad
asociado con un
del
-padre es el nombre de la ventana en la que crea este botn. -grupo es groupbox asociado. -nombre se utiliza para el al nombre del que est
Texto de ejemplo.
botn y ha
-etiqueta se utiliza como etiqueta que aparece en nuevo botn. -pox posy son de las la el
posiciones de las X y las Y respectivamente esquina del nuevo botn. -ancho alto del nuevo botn creado. BORRACHECKBOX nombre Borra el botn que se BORREACHECKBOX ej_checkbox Borra el botn etiquetado como ej_checkbox. CREALISTBOX padre nombre posx posy ancho alto Crea una lista de seleccin de diferentes elementos. -padre botn. -nombre ser nico. -pox posy son de las la se utiliza es el nombre de la ventana en la que crea este CREALISTBOX ej ej_listbox 155 45 90 20 Crea una lista de seleccin dentro de se la la ventana etiqueta etiquetada como ej, a esta para lista superior izquierda
nombre.
posiciones de
de la
30
utiliza para dar al usuario ej_combobox 155 55 90 20 una seleccin de elementos. -padre es el nombre de la ventana en la que se crea. -nombre ser nico. -pox posy son de las las Y la se utiliza para mltiples Crea una caja de mltiples elementos ventana dentro de la cual
ej,
a la
se llamar ejcombobox.
identificar el botn y ha de
posiciones de las X y respectivamente esquina del nuevo botn. -ancho alto del
superior izquierda
nuevo
botn creado. BORRACOMBOBOX nombre Borra la caja de seleccin de BORRACOMBOBOX ejcombobox mltiples elementos que indica en nombre. se Borra la caja de seleccin etiquetada como ej_combobox. CREAESTATICO padre nombre Permite mostrar dentro de CREAESTATICO "ej
texto se puede actualizar con la actualizaestatico. -padre es el nombre de la ventana en la que se crea. -nombre se identificar se
primitiva
va a introducir
de donde se va a ubicar el
31
Sustituye el texto que se crea con creaestatico. -nombre se utiliza para saber de que creaestatico cuelga.
ACTUALIZAESTATICO ej_estatico [ACTUALIZADO] Actualiza el texto de la ventana de texto esttica de ESTATICO a ACTUALIZADO. BORRAESTATICO ej_estatico Borra la ventana de
BORRAESTATICO nombre
A continuacin vamos a mostrar el resultado en pantalla de los comandos explicados anteriormente en orden progresivo en la creacin de ventanas. Dentro de un marco rojo estarn los resultados de los comandos utilizados.
Crear ventana
Crear groupbox
32
Crear botn
33
Crear checkbox
Crear combobox
Crear esttico
34
PRIMITIVA
CARGADIB ruta_imagen.bmp
DESCRIPCIN
EJEMPLO
Carga una imagen .bmp que CARGADIB C:\\ejemplo.bmp se encuentra donde indica ruta_imagen.bmp.
CARGADIBTAMAO ruta_imagen.bmp
Devuelve imagen
el se
tamao
de la Se
utiliza
junto
con
la
que
indica
en primitiva el
muestra resultado
para en
ruta_imagen.bmp. El tamao mostrar lo devuelve en una lista de 2 pantalla. nmeros Alto]. enteros
GUARDADIB ruta\nombre_bitmap
ordenador que se especifique. CARGAGIF ruta_imagen.gif Carga una imagen .gif que CARGAGIF C:\\ejemplo.gif se encuentra donde indica ruta_imagen.gif. GUARDAGIF ruta\nombre_gif Guarda una imagen en formato GUARDAGIF C:\\ejemplo.gif .gif en la ubicacin del que se ordenador especifique.
PRIMITIVA
ADIOS
DESCRIPCIN
Cierra el programa de MSWLogo. ADIOS
EJEMPLO
35
- Alto: detiene la ejecucin del programa que se esta ejecutando sobre MSWLogo. Trazar: permite ver en el historial de la pantalla de Trabajo las sentencias del programa de MSWLogo que se estn ejecutando tiempo real. Se muestra en la imagen de abajo el historial de las sentencias que se estn ejecutando.
programa
que
se
esta ejecutando sobre MSWLogo. Nos mostrar una ventana en pantalla en la tendremos que darle a continuar para que siga el desarrollo del programa.
Estado: muestra en una tabla informacin sobre el estado del lpiz, la orientacin de ste, el color del lpiz, la posicin de la tortuga y el estado del ncleo de MSWLogo.
36
Paso: ejecuta el programa de MSWLogo paso a paso, es decir, lnea a lnea del archivo de programacin, teniendo que dar consentimiento para que se ejecute la siguiente lnea de programacin. Nos muestra una ventana similar de la que se muestra a continuacin.
est
- Ejecutar: e j e c u t a las sentencias de programacin de MSWLogo que se escriben en la ventana blanca de la pantalla de Trabajo. - Editar: abre el cuadro de edicin de MSWLogo.
7.- Comentarios
Los comentarios en el lenguaje de MSWLogo han de ir precedidos por un punto y coma ;. A continuacin se muestra un ejemplo.
37
Desde el men de Archivo- Guardar o Archivo- Guardar como podemos guardar lo trabajado con un nombre con extensin lgo.
En ambos casos hay que destacar que no se guarda cada procedimiento en un archivo, sino que todo el trabajo definido durante una sesin de MSWLogo se guarda junto en el mismo archivo, excepto aquellas variables o procedimientos que se hayan tapado.
38
podemos cargar un archivo de programacin de MSWLogo. En esta ventana solo aparecen los archivos con extensin .lgo. Para que aparezcan todos los archivos se debe seleccionar en Tipo de archivos: todos los archivos *.*.
Se utiliza la primitiva carga nombfichero.lgo para que cargue el archivo de programacin de MSWLogo especificado. Si el archivo no est dentro de la carpeta bc5, se tendr que poner la ruta de acceso a ese fichero.
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
Anexo Manual MSWLogo
39
10.- Bibliografa
Gua Didctica del Lenguaje Logo en espaol:
http://platea.pntic.mec.es/~lgonzale/tic/programar/manual.html
40