Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN WINLOGO
1. VENTANAS DE WINLOGO
Cuando se abre Winlogo aparece en la pantalla las tres ventanas más importantes
del programa:
ventana de Graficos
Página 1 de 25
PROGRAMACIÓN WINLOGO
- Ventana de Gráficos: hay una tortuga que irá realizando los dibujos, decorados que
le indique el programador
- Ventana de Trabajo: es donde se escriben las órdenes que debe ir realizando
Winlogo.
- Ventana de Textos: recibimos los resultados de los programas y los mensajes de
Winlogo.
Existen otras ventanas muy útiles:
- Formas: permite diseñar o modificar los disfraces de las tortugas.
- Edición: actúa como un procesador de textos; para realizar programas largos y
complejos.
- Trazado: sirve para depurar errores y facilitar información del camino que sigue el
interprete para ejecutar procedimientos.
- Variables: para observar qué está ocurriendo con el contenido de las variables
mientras se ejecuta un procedimiento.
Página 2 de 25
PROGRAMACIÓN WINLOGO
- Barra de Iconos: En esta barra podemos encontrar los iconos de las ventanas (vienen en
la imagen anterior), con un clic entramos en la ventana que activemos.
2. PROGRAMACIÓN DE GRÁFICOS
Primitivas
Página 3 de 25
PROGRAMACIÓN WINLOGO
Para borrar un trazo que haya hecho la tortuga utilizamos la primitiva goma y luego
hacemos pasar a la tortuga por el trazo, la tortuga actúa como un borrador. Para luego
escribir como un lápiz damos la primitiva bajalápiz. Si queremos movernos con la tortuga
sin escribir, ponemos subelápiz.
Hay otras primitivas que controlan el color del lápiz, el color del fondo de la ventana
de gráficos y el grosor del trazo del lápiz.
Página 4 de 25
PROGRAMACIÓN WINLOGO
1 Negro 9 gris
2 granate 10 rojo
3 Verde 11 verde brillante
4 Verde pistacho 12 amarillo
5 azul marino 13 azul
6 morado 14 lila
7 gris verdoso 15 azul claro
8 gris claro 16 blanco
Ejercicio 3: Realiza el dibujo de color verde brillante, con el grosor de trazo 3 y que el
color de la ventana sea azul claro.
Para pintar una figura cerrada de un color se utiliza la primitiva rellena. Para que
esta primitiva rellene una figura de un color determinado es necesario que la figura se realice
con el color que se va a rellenar.
Ejercicio 4: El cuadro grande rellénale del color gris y el del interior de color azul. Las
medidas de los lados de los cuadros son 40 el grande y 20 el pequeño.
Página 5 de 25
PROGRAMACIÓN WINLOGO
Hay dos primitivas que nos permiten ocultar y mostrar la tortuga en la ventana de
gráficos.
Curvas, círculos...
Para realizar curvas o círculos se utiliza la primitiva repite. Para hacer un círculo se
pone:
repite 36 [av 3 gd 10]
Esta orden dibuja una circunferencia. Esta circunferencia la pinta a “trazos” (36
trazos) de longitud 3 y va girando 10 grados al pintar cada trazo. Para “cerrar” la
circunferencia se tiene que cumplir que multiplicando el número de veces que se pone en la
primitiva repite por lo que gira debe de dar 360º: 36 x 10 = 360. Si se pone:
repite 72 [av 3 gd 5]
La circunferencia será mayor al tener el dibujo 72 “trazos” de longitud 3 respecto a la
anterior, que tenía 36. Se cumple: 72 x 5 = 360.
A)
Página 6 de 25
PROGRAMACIÓN WINLOGO
B)
3. PROGRAMACIÓN ESTRUCTURADA
Modo procedimental
Consiste en realizar programas que realicen un gráfico, calculen algún número o algo
parecido y que esté formado por varias primitivas; a este conjunto de órdenes se les pone
un nombre, por ejemplo, círculo (procedimiento que realiza un círculo), cuando queramos
hacer el círculo no es necesario poner todas las órdenes, con poner el nombre circulo ya
vale. La sintaxis para crear un procedimiento es empezar por la primitiva PARA seguida de
un espacio en blanco y el nombre del procedimiento (PARA circulo) para terminar el
procedimiento hay que terminar con la palabra FIN.
Ejemplo:
Para circulo
bl ot
repite 36 [av 5 gd 10]
fin
Página 7 de 25
PROGRAMACIÓN WINLOGO
Uso de Variables
Una variable puede ser comparada por una caja a la que se le pone una etiqueta, es
decir, un nombre; y en su interior hay un contenido. Para crear una variable y asignarle un
contenido se utiliza la primitiva haz.
Para crear una variable llamada lado y que contenga el valor 10, se pone:
haz “lado 10
escribe :lado
Página 8 de 25
PROGRAMACIÓN WINLOGO
En la ventana de textos saldría el valor 10. Para utilizar cualquier variable se ponen
dos puntos seguido del nombre de la variable.
Ejercicio 9: Programa similar al anterior pero con la resta: programa restar, variables
rest1, rest2 y resul.
Hay veces que interesa poder cambiar valores dentro de los procedimientos, para
ello se pueden utilizar procedimientos con variables. Tenemos un procedimiento llamado
cuadrado (dibuja un cuadrado) para que pueda realizar de varios tamaños se realiza con una
variable:
para cuadrado :lado
repite 4 [av :lado gd 90]
fin
Ejercicio 10: Utilizando procedimientos con variables realiza un programa que pinte
la figura de abajo. Los círculos están hechos con repite 36... y el número indica lo que se
avanza en cada círculo av 1, av 2...
Página 9 de 25
PROGRAMACIÓN WINLOGO
Escribir texto
Recursividad
Página 10 de 25
PROGRAMACIÓN WINLOGO
Sentencias condicionales
Ejemplo 1:si 3<1 [av 30 bl rellena] [ bp]. En este caso la condición, 3<1, es falsa,
por lo cual se ejecutaría lo que hay en el segundo par de corchetes, borrarpantalla.
Ejemplo 2: Si tecla? [alto]. Esta sentencia es muy utilizada para parar un programa
con el teclado. Para esto se introducen dos primitivas:
En el programa anterior, para circulo, para cerrar el programa y que se pare con
el teclado, se pone:
para circulo
si tecla? [alto]
av 1 gd 1
circulo
fin
Página 11 de 25
PROGRAMACIÓN WINLOGO
Ejercicio 13: Realiza un programa donde introduzcamos un número y que nos cuente
desde ese número hasta cero decrementando en una unidad. Al final debe poner “fin de
contador”.
A veces es necesario poner varias condiciones donde se deben cumplir todas las
condiciones o alguna de las condiciones. Para esto se utilizan las primitivas O y Y:
5. OTRAS PRIMITIVAS
Página 12 de 25
PROGRAMACIÓN WINLOGO
Es necesario ampliar el número de las primitivas que se utilizan para poder hacer
otro tipo de programa.
Ejercicio 14: Realiza un dibujo que simule el funcionamiento de una luz intermitente
de color roja; debe estar 3 segundos encendida y dos apagada (en color negro).
Winlogo permite mandar datos a los puertos del ordenador así como recibirlos a
través de ellos. Un puerto del ordenador es el puerto paralelo. Este puerto tiene 25 patillas
(pines), es tipo hembra (agujeros) y se encuentra en la parte trasera del ordenador. De sus
patillas nos interesa los pines de datos (son 8 pines, 2 a 9, donde se puede poner un 0
voltios, cero lógico, ó 5 voltios, uno lógico) y los que tienen masa ( 8 pines,18 a 25).
Página 14 de 25
PROGRAMACIÓN WINLOGO
Los ordenadores suelen tener 2 puertos paralelos que son LPT1, dirección 888, y
LPT2, dirección 936.
Las instrucciones para trabajar con los puertos son:
Una actividad muy interesante es controlar una serie de diodos mediante el puerto,
produciendo efectos diferentes según se programe con Winlogo.
Para que el diodo se ilumine bien y no se deteriore debe tener una resistencia
limitadora de intensidad. Teniendo en cuenta que por el puerto se producen señales de 5V, y
que en un diodo led de color rojo, su tensión debe ser de 1,6V, el valor de la resistencia
limitadora es de 180Ω.
Página 15 de 25
PROGRAMACIÓN WINLOGO
Ejercicio 16: Elabora un programa que haga parpadear una serie de tres diodos de
forma intermitente con una cadencia de 1 segundo.
Desarrollo de la propuesta
La propuesta que se va a plantear es controlar el funcionamiento de una puerta
automática que funciona con un motor de c.c y dos fines de carrera que detectan cuando la
puerta está abierta y cerrada.
Para ello vamos a utilizar una salida simple y una salida doble digital de la tarjeta
que va a controlar el motor, S1y S5, y dos entradas digitales, E1 y E2.
La salida S1 es una salida digital simple que tiene dos terminales que llamaremos T1
y T2 que son los contacto de un relé. Cuando recibe un “uno” cambia el contacto del relé al
terminal T2 y enciende un diodo que nos indica que la salida se encuentra conectada:
La salida S5 es una salida doble digital que tiene cuatro terminales, S5A1, S5A2,
S5B1 y S5B2. Cuando S5 recibe un “cero” los contactos están unidos según el dibujo, S5A1 a
S5B1 y S5A2 a S5B2; cuando recibe un “uno” los contactos cambian y se unen S5A1 a S5B2
y S5A2 a S5B1, también el diodo D5 conduce y luce.
Página 16 de 25
PROGRAMACIÓN WINLOGO
Las entradas digitales, E1 y E2, tienen dos terminales cada una (t1 y t2); son activas
al unir eléctricamente sus dos terminales mediante un hilo conductor o similar. No se puede
conectar ninguna tensión a estas entradas, se podría causar desperfectos en la placa.
La entrada va unida a un circuito Buffer que recoge los datos de las entradas y enciende un
diodo led de señalización (en la figura aparece la entrada E1):
Para que la puerta no funcione inicialmente al conectar la tarjeta el motor que mueve
la puerta solo funcionará cuando se activen S1 y S5. La salida S1 es la que “comunicará” la
fuente de alimentación al motor; la S5 servirá para cambiar el sentido del motor.
S1 S5 Instrucciones Motor
0 0 apaga 1 apaga 5 o enviaocteto 0 (00000000) no funciona
0 1 apaga 1 conecta 5 o enviaocteto 16 (00010000) no funciona
1 0 conecta 1 apaga 5 o enviaocteto 1 (00000001) funciona sentido A
1 1 conecta 1 conecta 5 o enviaocteto 17 (00010001) funciona sentido -A
Los dos fines de carrera, FC1 y FC2, se conectan a las entradas digitales E1 y E2.Si
se quiere leer el estado de las entradas digitales se ponen las primitivas entrada 1 y entrada
Página 17 de 25
PROGRAMACIÓN WINLOGO
2 que nos devuelve el valor “CIERTO” si está a “uno” (que haya un cortocircuito entre sus
dos terminales, t1 y t2) y “FALSO” si está a “cero” (que sus terminales no estén
cortocircuitados) . Se ponen en sentencias condicionales :
Si entrada 1= “CIERTO” [enviaocteto 0 ]
Si entrada 1= “FALSO” [enviaocteto 17]
También se puede hacer utilizando las primitivas que vienen definidas en el
programa enconor2.log, esperaon y esperaoff. Si se escribe esperaon 1, el programa se
interrumpe hasta que se activa la entrada digital 1; si es esperaoff 1, el programa se
interrumpe hasta que se desactiva la entrada digital 1.
El diseño esquemático de la maqueta es:
Página 18 de 25
PROGRAMACIÓN WINLOGO
Si es “4” y la entrada E1 está falso (FC1 no activado), conecta el motor para abrir la
puerta, enviaocteto 1. Después se entra en esperaon 1, que testea la entrada 1 hasta que se
activa (FC1 activado), en ese momento, para el motor y devuelve el control a controlpuerta.
Si se entra por teclado “6” y la entrada 2 está falso (FC2 no activado), conecta el
motor para cerrar la puerta, enviaocteto 17. Después se entra en esperaon 2, que testea la
entrada 2 hasta que se activa (FC2 activado) en ese momento, para el motor y devuelve el
control a controlpuerta.
Si se pulsa la letra “f” se entra en el programa final que para el motor, manda un
mensaje de fin del programa y salimos del programa puerta.
Si no pulsamos ninguna de las letras anteriores, vuelve a pedir que se entre un
carácter de los que se pide.
Para puerta
enviaocteto 0
es [Comienza programa para controlar la puerta.]
controlpuerta
fin
Para controlpuerta
es [Pulsa 4 para abrir la puerta y 6 para cerrarla.]
es [Para finalizar pulsa "f".]
haz "tecla lc
si Y :tecla=4 entrada 1="FALSO [enviaocteto 1 es [La puerta se está abriendo]
esperaon1 enviaocteto 0]
si Y :tecla=6 entrada 2="FALSO [enviaocteto 17 es [La puerta se está cerrando]
esperaon 2 enviaocteto 0]
si :tecla="f [final alto]
si no :tecla=[4 6 f] [es [NO HAS PULSADO LA TECLACORRECTA]
controlpuerta
fin
Para final
enviaocteto 0
es [El programa puerta ha finalizado]
alto
fin
Página 19 de 25
PROGRAMACIÓN WINLOGO
Página 20 de 25
PROGRAMACIÓN WINLOGO
avanza av
bajalápi
bl
z
borrapa
bp
ntalla
girader
gd
echa
giraizqu
gi
ierda
goma
ocultato
ot
rtugas
poncolo Po
rlapiz nCL
ponfond Po
o nF
pongros Po
or nG
rellena
retroce
Re
de
subeláp
SL
iz
repite
mt mt
A) B) C) D)
Página 21 de 25
PROGRAMACIÓN WINLOGO
Página 22 de 25
PROGRAMACIÓN WINLOGO
Página 23 de 25
PROGRAMACIÓN WINLOGO
Página 24 de 25
PROGRAMACIÓN WINLOGO
1. Realiza un programa que se llame contador y que funcione del siguiente modo: el
programa nos pida la entrada de un número por teclado que esté entre 10 y 15;
si el número no cumple esta condición debe detenerse; si el número es correcto el
programa debe empezar a contar desde 1 hasta el número que hemos entrado
con una cadencia de un segundo, es decir, que funcione como un reloj; estos
números se deben ir mostrando en la ventana de textos; cuando el contador
llegue al número que hemos entrado debe finalizar y dar el mensaje “Fin de
contador”.
2. Crea un programa que, tras introducir un número, responda del modo que se
indica a continuación:
- si el número es positivo, calcula la raíz cuadrada de ese número.
- si el número es negativo; muestra un texto indicando que es negativo y el
valor de la raíz cuadrada del número si fuera positivo.
Página 25 de 25