Está en la página 1de 25

PROGRAMACIÓN WINLOGO

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

ventana de Trabajo ventana de Textos

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.

Abrir una ventana, se puede realizar de dos maneras:

- Menú Ventanas: se encuentra en la barra de menús. Al abrirlo se puede elegir la


ventana que se quiere activar, restaurar el entorno (volver a una distribución de la
pantalla igual a la de la pantalla inicial), organizar iconos, presentación de las
ventanas (mosaico, cascada) y limpiar (borrar el contenido de una ventana).

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

El Winlogo permite realizar dibujos en la pantalla gráficos mediante órdenes o


comandos que se van introduciendo en la pantalla de trabajo. Estos comandos reciben el
nombre de primitivas. Mediante las primitivas la tortuga de la pantalla gráfico pinta, borra,
colorea... y así se realizan los dibujos. La tortuga actúa como un lápiz, al moverse la tortuga,
traza una línea por donde pasa. Este trazo se puede hacer que sea más o menos grueso y de
diferentes colores.
Las primitivas que sirven para girar la tortuga y avanzar son:

Primitiva Abrev Descripción Sintaxis

la tortuga avanza el número de pasos indicados en


avanza av av 50
la dirección cola-cabeza
la tortuga se desplaza el nº de pasos indicados en la
retrocede re Re 45
dirección cabeza-cola
la tortuga gira hacia la derecha los grados (0 a 360)
giraderecha gd gd 90
que se le indique.
la tortuga gira hacia la izquierda los grados (0 a
giraizquierda gi gi 45
360) que se le indique.

Ejercicio 1: Realiza el dibujo con Winlogo utilizando las primitivas anteriores.

Página 3 de 25
PROGRAMACIÓN WINLOGO

Para borrar la pantalla de gráficos se puede hacer de dos maneras :


- seleccionar la pantalla de gráfico y dar al icono de la “escoba”
- introducir la primitiva bp.

borra el contenido de la pantalla gráficos y coloca la tortuga


borrapantalla bp bp
en su posición inicial

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.

activa el lápiz de la tortuga, la tortuga al avanzar


bajalápiz bl bl
escribe
sube el lápiz y la tortuga activa no dejan trazo al
subelápiz sl SL
desplazarse
goma la tortuga actúa como borrador goma

Ejercicio 2: Realiza el siguiente dibujo.

En el ejercicio anterior, cuando se repiten algunas primitivas se puede utilizar la


primitiva repite.

ejecuta las instrucciones que están dentro


repite repite 4 [av 60 gd 90]
de los [ ] el núm. de veces indicado

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

fija el color del lápiz de la tortuga de acuerdo al


poncolorlapiz PonCL PonCL 5
número de color
ponfondo PonF fija el color de fondo para el área gráfica PonF 1
pongrosor PonG fija el color del trazo de la tortuga (1 a 10) PonG 7

El número de colores depende de la tarjeta gráfica del ordenador, 16 ó 256. Los


números más normales son:

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.

rellena formas cerradas en cuyo interior se encuentre la tortuga con


rellena rellena
el color del lápiz

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.

oculta todas las tortugas activas aunque siguen


ocultatortugas ot ot
estando activas
muestratortugas mt la tortuga activa se hace visible. mt

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.

repite 36 [av 3 gd 10] repite 72 [av 3 gd 5]

Ejercicio 5: Realiza los siguientes arcos y círculos.

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

Los procedimientos se realizan en la ventana de edición, , después se guardan en

memoria, con el icono interprete, . Si se hace correctamente nos aparecerá en la


ventana textos “acabas de definir circulo”.
Para ejecutar este procedimiento vamos a la ventana de trabajo y ponemos el
nombre del procedimiento, circulo, seguido de intro.
Los procedimientos se guardan en la memoria mientras está activado Winlogo; para

guardarlo en disco se puede realizar con el icono guardar, , o también, en el menú


archivo, opción grabar.

Página 7 de 25
PROGRAMACIÓN WINLOGO

Ejercicio 6: Según lo explicado, realiza el dibujo con dos procedimientos: cirgran y


cirpeq.

Ejercicio 7: Realiza el dibujo mediante los procedimientos escalera, cuadrado, circulo,


triangulo y figura (procedimiento que realiza la figura completa; desde un procedimiento se
puede llamar a otros procedimientos).

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

Para indicar el nombre de la caja se ponen comillas y la etiqueta de la caja y,


separado por un espacio, el contenido de la caja.
Para ver el contenido de una variable se utiliza la primitiva escribe (abrev: es).
Si queremos obtener el contenido de la variable lado, ponemos:

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 8: Realiza un procedimiento llamado sumar que sume el contenido numérico


(5 y 7)de dos variables, sum1 y sum 2, y que guarde el resultado en otra variable, resul;
este valor debe salir en la ventana de textos.

Ejercicio 9: Programa similar al anterior pero con la resta: programa restar, variables
rest1, rest2 y resul.

Variables en los procedimientos

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

Para realizar el cuadrado se pone en la ventana de trabajo cuadrado seguido de


espacio y el valor numérico de la variable lado: cuadrado 5.
Si no se escribe el número, Winlogo dará un mensaje de error en la ventana textos
“Faltan datos para cuadrado”. Para dibujar cuadrados de diferente tamaño se cambia el valor
de la variable lado:

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

La primitiva escribe permite introducir texto en la ventana de textos:


- es “hola escribe la palabra hola e introduce un cambio de línea
- es [el número es ] escribe el texto “el numero es” con un cambio de línea
Hay otra primitiva que permite escribir texto en la ventana de texto, teclea:

escribe en la ventana de textos los datos que hay


teclea teclea [...]
dentro de los [ ] sin salto de línea

Si se pone: teclea [ el numero mayor es ] es 5


obtendremos en la ventana de textos: “el numero mayor es5” para introducir un
espacio en blanco entre es y 5 se introduce “$”seguido de un espacio: teclea [ el numero
mayor es$ ] es 5.
Si se quiere introducir solo un salto de línea: es [].
Para realizar el siguiente ejercicio hay que utilizar la primitiva potencia.

devuelve el resultado de elevar un nº (base) al


potencia potencia base exp
exponente (exp) indicado.

Ejercicio 11: Realiza un procedimiento que calcule el área de un círculo dando el


diámetro del círculo como variable del procedimiento. El programa debe contestar en la
ventana de textos “diametro del circulo: x; área del circulo: y”.

4. RECURSIVIDAD Y SENTENCIAS CONDICIONALES

Recursividad

La programación en Winlogo permite la recursividad. Consiste en la posibilidad que


tiene un programa en llamarse así en un bucle sin fin. Un ejemplo lo podemos encontrar en
dibujar un circulo utilizando la recursividad:
para circulo
av 1 gd 1
circulo
fin
Al ejecutar este programa , la tortuga traza el círculo sin parar, está en un bucle sin
fin. Para finalizar el programa se pulsa tecla [ESC] ya que no se ha incluido ninguna primitiva
que pare el programa.
Normalmente la llamada del programa a sí mismo se suele realizar en la última
sentencia.

Página 10 de 25
PROGRAMACIÓN WINLOGO

Sentencias condicionales

En el procedimiento anterior para abandonar el programa había que pulsar la tecla


[ESC]; esto se puede evitar introduciendo sentencias condicionales. Estas sentencias
comprueban alguna condición, y en función de esta, deciden entre dos opciones.
La primitivas que se suelen usar son si, comprueba , sicerto y sifalso.
La primitiva si se utiliza de dos maneras:
- si condición [órdenes 1] [ordenes 2]
Si la condición es cierta, ejecuta las acciones que hay en órdenes 1; si la condición es
falsa, cumple las acciones que hay en ordenes 2.
- si condición [órdenes ]
Si la condición es cierta, ejecuta las acciones que hay en órdenes; si la condición es
falsa, no cumple las acciones que hay en ordenes y pasa a la siguiente línea del programa.

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:

Devuelve cierto si se pulsa una tecla y hay un carácter en espera


tecla? tecla?
de ser leído
Detiene el procedimiento en curso y devuelve el control al
Alto alto
procedimiento que lo ha llamado

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

Las primitivas comprueba , sicerto y sifalso se utilizan juntas:

se utiliza conjuntamente con sicierto y sifalso.


Determina una condición, si la condición es cierta
comprueba comprueba :a=:b
hace lo que indica la primitiva sicierto; si es falsa,
ejecuta lo que indica sifalso
Ejecuta las instrucciones que indica si el
sicierto sicierto [haz "b :a+5]
correspondiente comprueba ha dado cierto

Página 11 de 25
PROGRAMACIÓN WINLOGO

Ejecuta las instrucciones que indica si el


sifalso sifalso [haz "b :a+5]
correspondiente comprueba ha dado falso

Ejercicio 12: Introduce dos números como variables de un procedimiento y que en la


ventana de textos nos salga el número menor de los dos. (Hacerlo con si y comprueba,
sicierto y sifalso.

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:

Devuelve cierto si alguna de las condiciones que es


O si (O cond1 cond2...)
cierta.
Devuelve el valor cierto si se cumplen todas las
Y si (Y cond1 cond2...)
condiciones.

Ejemplo: Realiza un procedimiento que distinga cuando un número es mayor o igual


a 10.
para mayigu10 :a
si (O :a>10 :a=10) [teclea [el nº es mayor o igual a 10:$ ] es :a] [teclea [el número
es menor que 10:$ ] es :a]
fin
Para realizar el ejemplo que se indica a continuación hay que utilizar la primitiva
resto:

Devuelve el resto de la división entera entre los


resto resto num1 num2
números núm1 y núm2. núm2 no puede ser cero.

Ejemplo: Haz un programa que detecte cuando un número es múltiplo de 2 y 3 a la


vez.
para mult2y3 :a
comprueba (Y resto :a 2=0 resto :a 3= 0)
sicierto [teclea [el nº $ ] es :a teclea [ es múltiplo de 2 y de 3] es [] ]
sifalso [teclea [el nº $ ] es :a teclea [ no es múltiplo de 2 y de 3] es [] ]
fin

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.

PRIMITIVA DESCRIPCIÓN SINTAXIS


Devuelve el valor de la abscisa de la posición actual de
coorx haz “x1 coorx
la tortuga.
Devuelve el valor de la ordenada de la posición actual
coory haz “y1 coory
de la tortuga.
Desplaza la tortuga hasta la abscisa indicada sin
ponx ponx :x1
modificar ni ordenada, ni rumbo.
Desplaza la tortuga hasta la ordenada indicada sin
pony pony :y1.
modificar ni abscisa, ni rumbo.
Fija la orientación de la tortuga indicando su valor en
ponrumbo ponrumbo 0
grados.
Detiene la ejecución del programa durante un tiempo
espera espera 500
indicado por el nº en centésimas de segundo

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).

6. ENTRADA DE DATOS POR TECLADO

Para introducir datos por teclado se utilizan estas primitivas

leecar lc devuelve el primer carácter leído del teclado. lc


devuelve la palabra formada por los "n" caracteres
leecars lcs lcs 5
tecleados.
devuelve los caracteres tecleados hasta el primer espacio en
leepalabra lp lp
blanco una vez que pulsamos intro
leelista ll devuelve los caracteres tecleados hasta pulsar intro ll

Normalmente estas primitivas van dentro de la primitiva haz, y devuelven su valor a


una variable.
Ejemplo1: Realiza un programa que lea un carácter.
para leer1car
es [pulsa una tecla:]
haz "1car lc
teclea [la tecla pulsada es$ ] es :1car
fin
Página 13 de 25
PROGRAMACIÓN WINLOGO

Ejemplo2: Realiza un programa que lea 5 caracteres.


para leer5car
es [pulsa 5 teclas:]
haz "5car lcs 5
teclea [la tecla pulsada es$ ] es :5car
fin

Ejemplo 3: Lee la primera palabra del teclado.


para leerpalabra
es [pulsa una palabra, finaliza con un intro:]
haz "palabra lp
teclea [la palabra pulsada es$ ] es :palabra
fin

Ejercicio 15: Representa la tabla de multiplicar de un número que se introduce por el


teclado.

7. COMUNICACIÓN CON LOS PUERTOS DEL ORDENADOR

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).

Al puerto paralelo se conecta un conector DB de 25 puntas de tipo macho, como el


de la figura:

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:

Envía un dato (8 bits) a la dirección del puerto


EscribePuerto EscribePuerto 888 256
indicado: EscribePuerto dirpuerto dato
Lee el valor del dato que existe en una
LeePuerto determinada dirección de un puerto:
LeePuerto num.puerto
Devuelve el valor decimal entero que representa
la palabra palbin (expresada en notación
binaria). Se puede utilizar con EscribePuerto:
ValorBin EscribePuerto 888 valorbin 11111111 ValorBin 00000111
La instrucción anterior es lo mismo que poner:
EscribePuerto 888 256

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:

La maqueta está formada por la tarjeta enconor, una fuente de alimentación, un


motor que mueve la puerta mediante un mecanismo piñón-cremallera y dos fines de carrera,
FC1 y FC2.
El programa controla la puerta mediante el teclado. Si se pulsa “a”, la puerta se
abrirá y se parará automáticamente; si se pulsa “c” la puerta se cerrará y, también, se
parará automáticamente. Se supone que cuando la puerta se abre totalmente activa FC1 que
va conectado a la entrada E1 de la tarjeta; cuando se cierra totalmente la puerta activa FC2
que va conectado a la entrada E2. Para finalizar y salir del programa se pulsa la letra “f”.
El programa consta de 3 procedimientos: puerta, controlpuerta y final.
El programa principal es puerta que apaga el motor y nos indica que comienza el
programa. Llama al procedimiento controlpuerta.
Controlpuerta pide que se entre un carácter por teclado.

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

ficha 1: Realizar gráficos(I) Winlogo


Nombre:_______________Apellidos:____________________________ Nº:_____
Curso:_______ Grupo:_________

Introduce las siguientes primitivas en la ventana de trabajo. Dibuja a la derecha lo


que pinte la tortuga.
A)
avanza 50
giraderecha 90
avanza 50
giraderecha 90
avanza 50
giraderecha 90
avanza 50
giraderecha 90
B)
avanza 40
giraizquierda 90
avanza 70
giraizquierda 90
avanza 40
giraizquierda 90
avanza 70
giraizquierda 90
C)
poncolorlápiz 10
pongrosor 3
ponfondo 15
giraizquierda 30
avanza 60
giraizquierda 120
avanza 60
giraizquierda 120
avanza 60
D) Añade a las órdenes anteriores:
giraizquierda 150
av 30
bajalápiz
rellena

Página 20 de 25
PROGRAMACIÓN WINLOGO

ficha 2: Abreviaturas de primitivas Winlogo


Nombre:_______________Apellidos:____________________________ Nº:_____
Curso:_______ Grupo:_________

Las primitivas de Winlogo permiten utilizar abreviaturas que ahorran tiempo al


escribirlas:
Primitiva Abreviatura.

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

Escribe las primitivas de la ficha 1 utilizando las abreviaturas:

A) B) C) D)

Página 21 de 25
PROGRAMACIÓN WINLOGO

Página 22 de 25
PROGRAMACIÓN WINLOGO

ficha 3: Realizar gráficos(II) Winlogo


Nombre:_______________Apellidos:____________________________ Nº:_____
Curso:_______ Grupo:_________

Introduce las siguientes primitivas en la ventana de trabajo. Dibuja a la derecha lo


que pinte la tortuga.
poncl 5
pong 2
repite 36[ av 3 gd 10]
poncl 5
pong 2
repite 36[ av 3 gd 10]
sl gd 90
av 10
bl rellena
poncl 2
ponf 15
pong 2
repite 10 [ av 3 gd 5]
poncl 2
ponf 15
pong 2
repite 72 [ av 3 gd 5]
sl gd 90
av 10
bl rellena
poncl 14
ponf 12
pong 2
repite 36 [ av 3 gd 5]
gd 90
av 70
ot
Añade a las primitivas anteriores las
siguientes:
mt sl
re 30
gd 90 av 10
bl
rellena

Página 23 de 25
PROGRAMACIÓN WINLOGO

ficha 4: Interpretar gráficos Winlogo


Nombre:_______________Apellidos:____________________________ Nº:_____
Curso:_______ Grupo:_________

Escribe a la derecha las primitivas que hacen los dibujos:

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.

3. Dadas las dimensiones de un ortoedro (caja de zapatos) calcula el volumen,


superficie lateral y diagonal.

Página 25 de 25

También podría gustarte