Está en la página 1de 14

I.E.S. Vega de Atarfe Dpto.

de Tecnología

PROGRAMACIÓN EN LOGO
Recordatorio sobre programación en Logo
Conceptos básicos que debes tener en cuenta para hacer programas sencillos con el lenguaje de Logo.

1. Entorno de trabajo de MSWLOGO.


Al iniciar el programa se abre la pantalla principal donde podrás apreciar una barra de menús desplegables
y dos ventanas, la ventana gráfica y el área de comandos.
En el siguiente cuadro se indican los menús y submenús más importantes que vas a manejar:
Fichero Diferentes opciones para trabajar con ficheros y procedimientos.
Nue v o Crea u n arc hivo o p r ogra m a n uevo d e exte n sió n
.log.
Cargar Pone en la m e m o ria d el o r de n a d o r u n fiche ro
.log.
Guardar Guar da u n fichero .log
Guardar c o m o Copia u n fiche ro .log con el n o m b re q ue
d e see s.
Editar Crea, m o difica o pe r mi te ver las ór d e ne s o
p r oce di mien t o s crea do s.
Borrar Borra u n p r oce di mien t o crea d o.
Salir Per mite s alir d el p r ogra m a MSWLOGO.
Configurar Diferentes opciones de configuración con respecto a dibujos.
Tamaño d el lápi z... Configur a el gros or d el lápi z p a r a dib uj ar o
r o t ula r.
Tipo de letra Configur a el ti po d e let r a p a r a ro t ular.
rotulador...
Tipo de letra Configur a el ti po d e let r a e n la vent a na d e
órd en e s... t r a b aj o y e n el e ditor d e p r oce di mien t o.
Color d el lápiz... Configur a el color d el lá piz p a r a di b uj ar o
r o t ula r.
Color d el relleno... Configur a el color p a r a rellenar á rea s con la
o r de n r ellena.
Color d e fondo... Configur a el color d e fo n d o d e la p a n t alla
gráfica.
Ayuda Diferentes opciones de ayuda que presenta MSWLOGO.
Índice Índice d e t alla do d e ó r de ne s y ti pología d e
ó r d e ne s.
Us o d e la ayu da Sirve p a r a e n se ñ a r te có m o u s a r la ayu d a.
De m o stración Te m u e s t r a las di s ti nt a s p o sibilida de s q ue tiene
MSWLOGO
Ac erca d e Logo... Infor m ación d e la ver sión con la q ue es t á s
t r a baja n d o.
Ac erca d e MS... Infor m ación sobre la colabor ación d el
p rogra m a con fu n d acione s be néfica s.

Control y Robótica-Programación MSWLogo 1


I.E.S. Vega de Atarfe Dpto. de Tecnología

2. Ordenes básicas en MSWLOGO: Las primitivas.


Las primitivas son órdenes básicas que ya tiene incorporado el programa, al escribirlas en la pantalla de
comandos ordenan a la tortuga realizar una acción determinada.
Para dar una orden hay que situarse en la zona de introducción de órdenes, y acordarse de “CAI”.

CAI = COMANDO + ARGUMENTO + INTRO

En la versión de MSWLogo la tortuga se visualiza en la pantalla gráfica mediante un triángulo.

Las primitivas más importantes las tienes en la siguiente tabla:


BL Permite que la tortuga pinte en su desplazamiento.
SL Sube el lápiz de la tortuga y ésta no pinta en su desplazamiento.
AV n La tortuga se mueve hacia delante n puntos.
RE n La tortuga retrocede n puntos.
GD n La tortuga gira a la derecha n grados.
GI n La tortuga gira a la izquierda n grados.
BP Borra el contenido de la pantalla gráfica.
OT Hace desaparecer de la pantalla gráfica la tortuga, aunque está ahí.
MT Hace aparecer nuestra tortuga en la pantalla gráfica.
Repite n [...] Repite n veces la orden u órdenes situadas entre corchetes.
Sitúa la tortuga en las coordenadas fijadas en “x” e “y”. El punto de referencia es el
Ponpos [x y]
centro de la pantalla gráfica.
Poncl n A partir de este momento el lápiz pinta en el color indicado por el número n.
Poccr n Establece el color de fondo del área cerrada donde esté situada la tortuga.
Rellena n Rellena la superficie que rodea a la tortuga con el color n ( 1<n<256)
Pocp n Rellena el fondo de la pantalla gráfica con el color n
Pong [n n] Pone el grosor número n al lápiz.
Permite escribir una frase en la pantalla gráfica. Cuando se quiera escribir una palabra
Rotula [frase]
la orden será: Rotula “palabra

En LOGO, a los programas se les llama PROCEDIMIENTOS, y cuando creas uno nuevo, debes empezar por la
palabra “PARA” y a continuación, en la misma línea, escribir el nombre que le quieres poner, ten en cuenta
que no puedes utilizar el nombre de una primitiva.
A partir de la segunda línea de tu nuevo procedimiento, vas introduciendo las órdenes que debe cumplir.
Para terminar el PROCEDIMIENTO, debes escribir en la última línea la palabra “FIN”.
Un procedimiento se puede llamar escribiendo su nombre y a continuación unos datos variables llamados
argumentos, que te permitirán guardar los valores que queremos que utilice el procedimiento. La sintaxis a
emplear es la siguiente:

Nombre :Argumento1 :Argumento 2 ...

En LOGO, se llama modularidad a la posibilidad de realizar procedimientos complejos usando otros


procedimientos más sencillos.
Cuando un procedimiento se llama a sí mismo se denomina “recursividad”, y nos permite que un
determinado procedimiento se ejecute de forma cíclica. Para ello, en la penúltima línea, antes de FIN, escribe
de nuevo el nombre del PROCEDIMIENTO.

Las primitivas CONDICIONALES “SI”, “SISINO”, “Y” y “O”, establecen comparaciones entre distintos
valores. La sintaxis es la siguiente:

SI condición [lista de instrucciones]

SISINO condición [lista de instrucciones 1] [lista de instrucciones 2]

Control y Robótica-Programación MSWLogo 2


I.E.S. Vega de Atarfe Dpto. de Tecnología

Ejercicios propuestos sobre programación en Logo

Ejercicio 4.1

Escribe las órdenes necesarias para que la tortuga dibuje la siguiente figura:

10

20

Ejercicio 4.2

Escribe las órdenes necesarias para que la tortuga dibuje la siguiente línea discontinua:

20

20

Ejercicio 4.3

Dibuja un cuadrado de lado 40.

Ejercicio 4.4

Dibuja un triángulo de lado 50.

Control y Robótica-Programación MSWLogo 3


I.E.S. Vega de Atarfe Dpto. de Tecnología

Ejercicio 4.5

Con la orden REPITE, escribe las órdenes que le debes dar a la tortuga para dibujar los siguientes polígonos.
Completa la tabla.

VALOR NÚMERO
ÁNGUL INSTRUCCIONES QUE LE DAMOS A LA
NOMBRE DEL DE
O TORTUGA
LADO CARAS

Triángulo
L =70 3 120º REPITE 3 [AV 7 0 GD 1 2 0]

Cuadrado
L = 40

Pentágon L = 50
o

L = 60
Hexágon o

L = 55
Octógon o

L = 35
Nonágon o

L = 30
Decágon o

Ejercicio 4.6

Dibuja una circunferencia.

Ejercicio 4.7

Dibuja un pentágono regular de lado 50 con grosor de lápiz 4 y con color de lápiz rojo (número 4).

Ejercicio 4.8

Dibuja 3 cuadrados de lado 45 separados entre sí 20.

Ejercicio 4.9

Dibuja 3 triángulos equiláteros de lado 40, formando una pirámide.

Control y Robótica-Programación MSWLogo 4


I.E.S. Vega de Atarfe Dpto. de Tecnología

Ejercicio 4.10

Escribe un procedimiento para dibujar un cuadrado de lado 45 y que aparezca apoyado en uno de sus
vértices. Llámalo CUADRADO1.

Ejercicio 4.11

Escribe un procedimiento, llámalo ESTRELLA, para dibujar la siguiente figura.

Ejercicio 4.12

Escribe un procedimiento para dibujar un arco a derechas y llámalo ARCOD. Haz lo mismo para un arco a
izquierdas y llámalo ARCOI.

Ejercicio 4.13

Escribe un procedimiento que te permita dibujar el pétalo de una flor, utilizando los procedimientos de los
ejercicios anteriores. Llámalo PETALO.

Control y Robótica-Programación MSWLogo 5


I.E.S. Vega de Atarfe Dpto. de Tecnología

Ejercicio 4.14

Escribe un procedimiento que te permita dibujar un polígono regular de cualquier número de lados y que
cada lado mida 45. Llámalo POLIGONO1.

Ejercicio 4.15

Escribe un procedimiento para dibujar un rectángulo de cualquier longitud de lados, llámalo RECTÁNGULO.

Ejercicio 4.16

Escribe un procedimiento que te permita dibujar un polígono de cualquier número de lados y de cualquier
longitud de lado. Llámalo POLIGONO2.

Ejercicio 4.17

Escribe un procedimiento para dibujar dos circunferencias tangentes exteriores de igual tamaño. Llámalo
CIRCUNFERENCIA1.

Ejercicio 4.18

Escribe un procedimiento, llámalo COCHE, para dibujar la figura siguiente.

Ejercicio 4.19

Escribe un procedimiento, llámalo CASA, para dibujar la figura siguiente. Utiliza un color de fondo azul
(número 1) y un color de lápiz celeste (número13).

Ejercicio 4.20
Escribe un procedimiento que te permita escribir tu nombre en la pantalla gráfica y llámalo NOMBRE1.

Control y Robótica-Programación MSWLogo 6


I.E.S. Vega de Atarfe Dpto. de Tecnología

Ejercicio 4.21

Escribe un procedimiento que escriba en la pantalla gráfica “BIENVENIDO A MSWLOGO” y vaya girando la
frase hasta completar los 360º. Hazlo con color de lápiz verde (numero 2). Llama a este procedimiento
BIENVENIDA.

Ejercicio 4.22

Configura el entorno gráfico con las ventanas del menú, de forma que el fondo sea azul y el color de lápiz
cian . Posteriormente escribe un procedimiento que te pida tu nombre en la pantalla gráfica. Llámalo
NOMBRE2.

Ejercicio 4.23

Escribe un procedimiento para que al introducir un número que sea mayor de 10 dé, en el área de
comandos, este mensaje de error: “ERROR, EL NÚMERO INTRODUCIDO DEBE SER MENOR DE 10”. Llámalo
NUMERO1.

Ejercicio 4.24

Escribe un procedimiento que permita introducir un número y lo muestre en el área de comandos. Si el


número es mayor de 0, calculará la raíz cuadrada y escribirá el resultado en dicha área. Si es menor,
escribirá este mensaje de error “!ERROR, NÚMERO NEGATIVO¡”. Llama al procedimiento RAIZ.
(La orden para calcular la raíz cuadrada de un número N es: RAIZCUADRADA N)

Ejercicio 4.25

Escribe un procedimiento que te pida un número. Si el número es menor de 40, dibujará un triángulo, si es
mayor dibujará un cuadrado. Llama al procedimiento NUMERO2.

Control y Robótica-Programación MSWLogo 7


I.E.S. Vega de Atarfe Dpto. de Tecnología

EL MICROMUNDO DEL CONTROL

Recordatorio sobre el manejo de tarjetas controladoras.


1.º Con Logo y una tarjeta controladora, podemos hacer programas para automatizar una maqueta a través
del ordenador.

2.º Las tarjetas controladoras disponen de entradas y salidas. En las salidas digitales conectamos
motorcillos, bombillas, relés, etc.. Los elementos cuyo funcionamiento depende de la polaridad, como los
motores, se conectan a las salidas digitales S5,S6,S7,S8, éstas son imprescindibles para conseguir el control
del sentido de giro de un motor. Si queremos utilizarlas como simple interruptor se utilizarán las dos clemas
exteriores o las dos interiores de las cuatro que forman la salida.
Los elementos cuyo funcionamiento no depende de la polaridad, como las bombillas, se conectan
un terminal a una salida digital y el otro a masa (GND).

3.º En las entradas se conectan interruptores, pulsadores, finales de carrera, LDR etc.. Es importante no
conectar ninguna tensión a estas entradas, ya que podría causar desperfectos en los circuitos de la placa.

4.º El control se realiza mediante lenguaje LOGO. Por tanto necesitamos procedimientos de
control en MSWLOGO que nos permita manejarla.

5.- Las primitivas más importantes de las salidas y entradas digitales en MSWLOGO son:
PRIMITIVA ORDEN QUE EJECUTA

Conecta n Conecta la salida indicada en el número n y deja las demás como estaban (0< n <8)

Apaga n Apaga la salida indicada en el número n y deja las demás como estaban

Enviaocteto n Envía a las salidas el número binario equivalente al decimal que pongamos en n. (*)
Produce un retardo o espera del número de segundos especificado en s. Se pueden
utilizar fracciones de segundo. Ej: segundos 0.3 , produce un retardo de 0,3
Segundos s
segundos

Entrada n Devuelve “CIERTO” si la entrada está conectada y “FALSO” en caso contrario.

Esperaon n El programa queda parado esperando que se active la entrada n.

Esperaoff n El programa queda parado esperando que se desconecte la entrada n.

Para utilizar la orden “enviaocteto n”, deberás conocer cómo convertir un número binario en su equivalente
decimal. El siguiente ejemplo te ayudará a utilizarla.

Si deseamos conectar las salidas digitales 1 y 5 de la controladora, asociaremos un 1 a las salidas


que queremos conectar y un cero a las salidas que van a quedar apagadas. Y procederemos de la
siguiente forma:
S S S S S S S S
1 2 3 4 5 6 7 8
1 0 0 0 1 0 0 0 = 1x20  + 0x2 1 + 0x2 2 + 0x2 3 + 1 x 2 4 + 1x2 5 + 0x2 6 + 0x2 7
= 17
0 1 2 3 4 5 6 7

Control y Robótica-Programación MSWLogo 8


I.E.S. Vega de Atarfe Dpto. de Tecnología

La orden que deberemos dar será: enviaocteto 17

Cuando necesitemos desconectar todas las salidas deberemos dar la orden “enviaocteto 0”, y en el caso
que queramos conectarlas todas, la orden será “enviaocteto 255”.

Recordatorio sobre simuladores


1.º SIMULADOR DE LA CONTROLADORA

Si te planteas probar tus procedimientos realizados en Logo y no posees una tarjeta controladora, no te
asustes, podrás hacerlo con una controladora virtual.

El manejo del programa MSWlogo no cambia, edita tus procedimientos y guárdalos.


Posteriormente carga el simulador de la controladora siguiendo los siguientes pasos:

a) En el menú Fichero selecciona Cargar, posteriormente busca el fichero “enconor.log” en la unidad de CD-
rom, selecciónalo y pulsa Abrir.

b) En la ventana de trabajo, ejecuta la orden “entrena”. Después de los mensajes de bienvenida te


aparecerá una ventana con la controladora virtual, observa que posee las entradas y salidas semejantes a la
controladora real. Cuando ejecutes una orden verás activarse o apagarse las entradas o salidas
correspondientes.

c) Carga los procedimientos que hayas realizado y ejecútalos. Observarás como el simulador te muestra las
conexiones activadas y desactivadas en las entradas y salidas digitales, siguiendo el orden del programa que
has creado.

2.º SIMULADORES DE PROYECTOS.

Vamos avanzar más. ¿Te basta con el simulador de la controladora?, ¿no te gustaría tener una maqueta que
nuestra controladora virtual pueda manejar y que tú puedas programar su funcionamiento?.

Con los siguientes ejercicios vas a trabajar poniendo en funcionamiento los siguientes simuladores:
1.- Un display de 7 segmentos.

Control y Robótica-Programación MSWLogo 9


I.E.S. Vega de Atarfe Dpto. de Tecnología

En este simulador las salidas digitales de la 1 a la 7 inclusive están conectadas a los segmentos A, B, C, D, E,
F y G respectivamente.

2.- Un cruce de semáforos.

Las salidas digitales de la 1 a la 6 inclusive están conectadas cada una de ellas a los dos semáforos de cruce.

Para poder trabajar y no tener problemas, realiza y guarda tus procedimientos. A continuación sigue los
siguientes pasos:

a) Carga los simuladores que se encuentran en la unidad de CD-rom.

b) En la ventana de trabajo, ejecuta la orden “entrena”. El programa te pedirá la ruta donde se encuentra el
simulador, introdúcela. Posteriormente verás aparecer una ventana donde podrás observar: la controladora
virtual, un dibujo que representa el simulador que vas a poner en funcionamiento, un esquema de la
controladora real, y un simulador de las entradas y salidas digitales de la controladora real.

Control y Robótica-Programación MSWLogo 10


I.E.S. Vega de Atarfe Dpto. de Tecnología

c) Carga los procedimientos creados previamente, para controlar el funcionamiento la maqueta.

d) Ejecuta los procedimientos y comprueba su funcionamiento.

Ejercicios propuestos sobre la controladora

Ejercicio 5.1

Escribe un procedimiento, que se llame LAMPARAS1, que ponga en funcionamiento de forma progresiva
cuatro lámparas (una detrás de otra) con una espera de 1 segundo entre lámpara y lámpara, para luego
apagarlas todas a la vez. Realiza un esquema que muestre como deben ir las lámparas conectadas a las
salidas digitales de la controladora.

Ejercicio 5.2

Escribe un procedimiento, que se llame LAMPARAS2, que realice la misma secuencia que el anterior pero
debe repetirse indefinidamente. Nota: podrás pararlo pulsando la tecla de “Alto” en la pantalla de
MSWLOGO.

Ejercicio 5.3

Escribe un procedimiento que permita conectar y apagar dos lámparas con la siguiente secuencia: primero se
conecta la lámpara 1 durante un tiempo de 3 segundos, posteriormente se apaga y se conecta la lámpara 2
durante otros 3 segundos. Llámalo LAMPARAS3.

Ejercicio 5.4

Modifica el ejercicio anterior, para que el programa sólo empiece la secuencia cuando se acciona un pulsador
situado en la entrada 1 y se pueda controlar, cuando llamemos al programa, el tiempo de encendido de las
lámparas. Realiza un esquema que muestre como deben ir conectadas las lámparas y el pulsador a las
salidas y entradas de la controladora. Llama a este procedimiento LAMPARAS4.

Ejercicios propuestos sobre el simulador de la controladora

Ejercicio 5.5

Escribe un procedimiento que conecte todas las salidas de forma secuenciada, con un intervalo de tiempo
entre una y la siguiente de medio segundo. Cuando estén todas conectadas, se apagan simultáneamente y
empieza el ciclo de nuevo. Comprueba su funcionamiento con el simulador de la controladora. Llama a este
procedimiento SECUENCIA.

Ejercicio 5.6

Escribe un procedimiento que cree una intermitencia con todas las salidas. Con un intervalo de tiempo de
0,5 segundos apagadas y 1 segundo encendidas. Llámalo INTERMITENCIA.

Ejercicio 5.7

Escribe un procedimiento que permita conectar la salida 1 en función del estado de la entrada 1. Si la
entrada 1 está conectada, la salida 1 se conectará, y si la entrada 1 está desconectada, la salida 1 se
desconectará también. Llama al procedimiento CONTROL1.

Control y Robótica-Programación MSWLogo 11


I.E.S. Vega de Atarfe Dpto. de Tecnología

Ejercicio 5.8

Escribe un procedimiento, llámalo CONTROL2, que permita conectar las tres primeras salidas digitales de
forma consecutiva con un intervalo de tiempo entre lámpara y lámpara de 1 segundo, posteriormente se
creará 2 intermitencias con todas ellas. Todo el proceso se repetirá 3 veces.

Ejercicios propuestos sobre el simulador del display de 7 segmentos

Ejercicio 5.9

Completa la siguiente tabla con los procedimientos que permiten visualizar en el display las siguientes letras.

Letras Procedimientos
PARA letraL
L Conecta 4 conecta 5 conecta 6 segundos 2
Apaga 4 apaga 5 apaga 6
Fin

Ejercicio 5.10

Escribe un procedimiento, llámalo DISPLAY1, que permita visualizar en el display la palabra “LOGO”, cada
letra estará visualizada durante 2 segundos para finalmente apagarlo. Utiliza los procedimientos realizados
en el ejercicio anterior.

Ejercicio 5.11

Modifica el procedimiento anterior para que el intervalo de tiempo entre letras lo puedas fijar cuando llamas
al procedimiento. Llámalo DISPLAY2

Ejercicio 5.12

Escribe un procedimiento que visualice en el display la palabra “Hola” de forma consecutiva 3 veces, y con
un intervalo de tiempo entre palabras de 3 segundos y entre letras de 1 segundo. Llama al procedimiento
DISPLAY3.

Ejercicio 5.13

Escribe los procedimientos necesarios para visualizar en el display los números 2, 4, 6 y 8. El tiempo que se
mantiene visualizado un número se fijará al llamar al procedimiento.

Control y Robótica-Programación MSWLogo 12


I.E.S. Vega de Atarfe Dpto. de Tecnología

PARA DOS :t
Conecta 1 conecta 2 conecta 4 conecta 5 conecta 7 segundos :t enviaocteto 0
FIN

PARA CUATRO :t

PARA SEIS :t

PARA OCHO :t

Ejercicio 5.14

Escribe un procedimiento que visualice en el display todos los números de forma secuenciada y con un
intervalo de tiempo de 2 segundos. Utiliza los procedimientos realizados en el ejercicio anterior y llámalo
DISPLAY4.

Ejercicio 5.15

Escribe un procedimiento que visualice la siguiente operación aritmética 8 – 4 = 6. Utiliza los


procedimientos realizados en ejercicios anteriores. Llámalo DISPLAY5.
Nota: para visualizar el signo ”=” utiliza la orden enviaocteto 72

Ejercicio 5.16

Escribe un programa que mantenga de forma intermitente el número 0 con un intervalo de tiempo que fijes
al llamar al programa. Llama al procedimiento DISPLAY6.

Ejercicio 5.17

Escribe un procedimiento que simule un contador. Al ponerlo en marcha el display visualizará un cero. Si
posteriormente accionamos la entrada 1, aparecerá el siguiente número, así hasta el cinco. Si está el cinco y
pulsamos otra vez la entrada 1 el contador se pondrá a cero. El intervalo de tiempo que se visualizarán los
números será de 2 segundos. Llama al procedimiento DISPLAY7.

Ejercicios sobre el simulador de un cruce de semáforos

Ejercicio 5.18

Escribe un procedimiento que ponga en funcionamiento el semáforo 1, la secuencia se repetirá tres veces,
comenzará con el encendido de la luz roja durante 3 segundos, a continuación se encenderá la verde
durante 2 segundos y finalmente la luz ambar durante 1 segundo. Llama al procedimiento SEMAFORO1.

Ejercicio 5.19

Control y Robótica-Programación MSWLogo 13


I.E.S. Vega de Atarfe Dpto. de Tecnología

Escribe un procedimiento que permita encender el semáforo 2 de forma cíclica según la secuencia de primer
ejercicio y que se pueda controlar, al llamar al programa, el tiempo que permanecerán encendidas las tres
luces. Llama al procedimiento SEMAFORO2.

Ejercicio 5.20

Escribe un procedimiento que muestre los dos semáforos, con la luz ámbar en intermitencia, con un intervalo
de tiempo entre encendido y apagado que fijes al llamar al procedimiento. Llámalo SEMAFORO3.

Ejercicio 5.21

Escribe un procedimiento que permita conectar el semáforo 1 con la secuencia planteada en el ejercicio
5.18, a la vez el semáforo 2 se encontrará con la luz ámbar en intermitencia con un intervalo de 1 segundo.
Llama al procedimiento SEMAFORO4.

Ejercicio 5.22

Escribe un procedimiento que ponga en funcionamiento los dos semáforos de forma coordinada. La
secuencia que se repetirá indefinidamente será: R1-V2 durante dos segundos, R1-A2 durante 1 segundo, V1-
R2 durante 2 segundos y A1-R2 durante 1 segundo. Llama al procedimiento SEMAFORO5

Control y Robótica-Programación MSWLogo 14

También podría gustarte