GUÍA PROGRAMACION CON LOGO

Anuncio
PROGRAMA
WINLOGO
Guía realizada por: Marisa Carro Rubiera
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
CURSO 2008-2009
TECNOLOGÍAS
4º E.S.O.
ÍNDICE:
1. LENGUAJES DE PROGRAMACIÓN
2
2. ENTORNO DE WINLOGO
2
3. TRABAJAR CON PRIMITIVAS
3
ACTIVIDAD 1: REALIZAR FIGURAS
8
8
4. PROCEDIMIENTOS
ACTIVIDAD 2: PROCEDIMIENTOS
11
ACTIVIDAD 3: UTILIZAR NUEVAS DIAPOSITIVAS
12
5. MODULARIDAD
13
6. VARIABLES GLOBALES
14
7. RECURSIVIDAD
16
8. SENTENCIA CONDICIONAL
16
ACTIVIDAD 4: REPASO
17
Esta guía resume los aspectos más significativos relacionados con Logo, tomados del
curso "Del clavo al ordenador" impartido de forma interactiva en el servidor del Plan de
Nuevas Tecnologías de la Información y la Comunicación.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
1
TECNOLOGÍAS
4º E.S.O.
PROGRAMACIÓN CON WINLOGO
1. LENGUAJES DE PROGRAMACIÓN:
Se define como lenguaje de programación a un conjunto de símbolos y reglas que sirven
para realizar programas de ordenador.
Un programa es un conjunto de instrucciones, expresadas de manera algorítmica (de manera
que estén encadenadas) que deben ser entendidas y ejecutadas por un ordenador.
Existen multitud de lenguajes de programación para realizar distintos tipos de programas,
algunos de los más utilizados son:
Lenguaje máquina, son las instrucciones que realmente entiende el microprocesador
de un ordenador, son instrucciones muy sencillas, pero resulta muy complicado
realizar programas con dicho lenguaje.
Basic,
Pascal, Cobol, Fortran, C. Lenguajes utilizados desde hace tiempo para
realizar muchos tipos de programas. Las versiones más modernas y empleadas de
algunos de ellos son Visual Basic y Visual C.
SQL, lenguaje empleado para manejar bases de datos.
HTML, lenguaje en el que se codifica una página Web.
Lenguajes Script, son lenguajes que pueden incrustarse en el código de una página
Web. Algunos de los más empleados son Java-script, ASP, PHP.
Win-logo, lenguaje diseñado para la educación, permite programar controladoras con
la que se pueden hacer funcionar diferentes elementos: brazos robots, proyectos
realizados en el taller, etc.
2. ENTORNO DE WINLOGO:
El interfaz de WinLogo presenta varias ventanas o áreas de trabajo que pueden ser utilizadas
para determinadas tareas. Estas ventanas son: Gráficos, Textos, Trabajo, Formas, Edición,
Trazado, Variables.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
2
TECNOLOGÍAS
4º E.S.O.
Cuando iniciamos el programa la ventana de la aplicación aparece dividida en otras tres
ventanas o áreas de trabajo que son: la ventana correspondiente a la ventana de Trabajo (zona en
la que el usuario escribe las primitivas), la ventana de Gráficos (en ella aparece una tortuga que se
desplazará según las primitivas que hayamos escrito en la ventana de trabajo), la ventana de Textos
(zona en la que Logo muestra información referida a errores de programación, resultado de algunas
primitivas, etc).
Por tanto, las órdenes se escriben en la ventana de Trabajo, Logo muestra sus mensajes y
textos en la ventana de Textos, sus gráficos los representa en la ventana de Gráficos.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
3
TECNOLOGÍAS
4º E.S.O.
3. TRABAJAR CON PRIMITIVAS:
Las órdenes que se aplican en WinLogo se llaman primitivas. Para ejecutarlas debes
escribirlas en la ventana de trabajo. Cuando el objetivo de la primitiva sea dibujar, sus resultados se
muestran en la ventana de gráficos y, por el contrario, aparecen en la ventana de textos cuando la
primitiva tiene por objeto un texto.
Veamos un ejemplo:
1. Activa la ventana de trabajo; para ello se sitúa el puntero del ratón sobre algún punto de la la
misma y después se hace "clic" en ella con el ratón.
2. Escribe en ella:
AVANZA 50 y se pulsa [INTRO]
En la ventana de gráficos, verás como la tortuga dibujará una recta de cincuenta
unidades de longitud en la ventana GRÁFICOS. (FIGURA 1)
3. Escribe ahora en la ventana de trabajo:
BP
Puedes comprobar como se borra el dibujo que haya en la ventana de gráficos y la
tortuga vuelve a su posición inicial. (BP es la abreviatura de BORRA PANTALLA).
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
4
TECNOLOGÍAS
4º E.S.O.
FIGURA 1
Si se comete un error al escribir una primitiva Logo envía su mensaje de error a través de la
ventana de TEXTOS. Para comprobarlo teclea: AVVANZA 50; la palabra escribe se ha escrito con
dos uves; el ordenador en este caso emitirá un mensaje de error en la ventana de TEXTOS. El
mensaje de error que va a parecer es:
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
5
TECNOLOGÍAS
4º E.S.O.
PRIMERAS PRIMITIVAS
PRIMITIVA (ABREVIATURA)
ACCIÓN
AVANZA (AV)
La tortuga dibujará una recta con la longitud que se
indique a continuación de la primitiva.
RETROCEDE (RE)
La tortuga se desplaza las unidades que se indica a
continuación de la primitiva hacia atrás.
GIRAIZQUIERDA (GI)
La tortuga gira a la izquierda el nº de grados que se
indica a continuación de la primitiva.
GIRADERECHA (GD)
La tortuga gira a la derecha el nº de grados que se indica
a continuación de la primitiva.
ESCRIBE “X (ES “X)
El ordenador escribe en la pantalla de texto la palabra
situada detrás de las comillas.
ESCRIBE [XX XX] (ES [XX XX])
El ordenador escribe en la pantalla de texto la frase
situada entre los dos corchetes.
BORRAPANTALLA (BP)
Se borra el dibujo que haya en la ventana de gráficos y la
tortuga vuelve a su posición inicial.
SUBELAPIZ (SL)
Eleva el lápiz de la tortuga activa para que SL no deje
trazo al moverse.
BAJALAPIZ (BL)
Activa el lápiz de la tortuga y dibuja un trazo a lo largo de
su trayectoria.
REPITE
Repite el número de veces indicado la acción situada
entre corchetes.
CENTRO
Sitúa las tortugas activas en el centro del gráfico. En su
desplazamiento al centro, las tortugas dejan rastro o no,
dependiendo de si su posición es bajalapiz o subelapiz.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
6
TECNOLOGÍAS
4º E.S.O.
1. Dibuja un cuadrado de 60 unidades:
AV 60
GI 90
AV 60
GI 90
AV 60
GI 90
AV 60
2. Dibuja un triángulo equilátero de 100 unidades:
AV 100
GI 120
AV 100
GI 120
AV 100
PRIMITIVA: REPITE
Esta primitiva no tiene abreviatura; su sintaxis es: REPITE n[acciones]
Es muy interesante para la representación de figuras en las que se repite las primitivas, en el
mismo orden, varias veces; esto nos permite simplificar el programa.
o
Realiza los siguientes ejemplos:
Es ACTIVIDAD GUIADA
1.
Dibuja un cuadrado de 70 unidades:
REPITE 4[AV 70 GD 90]
2.
Dibuja un hexágono de 50 unidades:
REPITE 6 [AV 50 GD 60]
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
7
TECNOLOGÍAS
4º E.S.O.
ACTIVIDAD 1. REALIZAR FIGURAS (utilizando la primitiva REPITE, si es posible).
1. Dibuja un triángulo equilátero de 75 unidades.
2. Realiza el dibujo de un hexágono de 50 unidades de lado.
3. Realiza el dibujo de un polígono de 9 lados y 30 unidades cada lado.
4. Realiza el dibujo de un polígono de 7 lados y 20 unidades cada lado.
4. PROCEDIMIENTOS:
El lenguaje Logo permite programar en modo procedimental. Esto consiste en enseñar
procedimientos al ordenador que, una vez asimilados, interprete como si fueran nuevas primitivas. Se
inician con la primitiva PARA, seguida del nombre del procedimiento; a continuación, se introducen
las instrucciones y se finaliza con la primitiva FIN.
Procedimiento para dibujar un cuadrado:
PARA CUADRADO :L
REPITE 4[AV :L GD 90]
FIN
Procedimiento para dibujar un triángulo equilátero:
PARA TRIANGULO :L
GD 30
REPITE 3[AV :L GD 120]
GI 30
FIN
Procedimiento para dibujar un polígono regular:
( N= número de lados, L = longitud del lado)
PARA POLIGONO :N :L
REPITE :N[AV :L GD 360/:N]
FIN
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
8
TECNOLOGÍAS
4º E.S.O.
Procedimiento para dibujar una circunferencia:
PARA CIRCUNFERENCIA :R
REPITE 360[AV 2*PI*:R/360 GD 360/360]
FIN
LOS PROCEDIMIENTOS RECIÉN DEFINIDOS PUEDEN EJECUTARSE MIENTRAS NO SE
SALGA DEL PROGRAMA. PARA NO PERDER LOS PROCEDIMIENTOS QUE SE ENCUENTRAN
VISIBLES EN LA PANTALLA SE DEBEN REALIZAR LOS SIGUIENTES PASOS:
1. Escribe el procedimiento en la ventana TRABAJO.
2. Selecciona, en la barra de menú, Procedimientos/Variables dentro de Utilidades.
3. En la ventana de diálogo, puedes ver el nombre del procedimiento que acabas de realizar,
selecciónalo para que se activen los botones de la derecha: trabajo, borrar, imprimir…
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo)
9
TECNOLOGÍAS
4º E.S.O.
4. Selecciona GUARDAR.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 10
TECNOLOGÍAS
4º E.S.O.
5. Selecciona dentro de VÍA la carpeta donde quieres guardar el procedimiento.
6. En FICHERO: escribe el nombre con el que quieres guardar el procedimiento.
7. Haz clic en CONFIRMAR.
ACTIVIDAD 2. REALIZAR PROCEDIMIENTOS (utilizando variables).
1. Crea el procedimiento HEXÁGONO.
2. Crea el procedimiento OCTOGONO.
3. Crea el procedimiento PENTAGONO.
4. Crea el procedimiento RECTÁNGULO, utilizando las variables base y altura.
5. Crea un procedimiento para construir una CASA.
6. Crea el procedimiento para dibujar una escalera de 10 peldaños y cada peldaño de 30 por 30.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 11
TECNOLOGÍAS
4º E.S.O.
MÁS PRIMITIVAS
PRIMITIVA (ABREVIATURA)
OCULTATORTUGA (OT)
MUESTRATORTUGA (MT)
PONGROSOR (PONG NUM)
PONCOLORLAPIZ (PONCL NUM)
GOMA (GOMA)
ACCIÓN
Oculta la tortuga mientras esté activa esta primitiva.
Muestra la tortuga. Primitiva utilizada después de aplicar
la anterior.
Cambia el grosor de la línea.
Cambia el color de la línea dibujada.
Borra la línea elegida
RELLENA (RELLENA)
Rellena una figura cerrada del color de la tortuga siempre
que ésta esté dentro de la figura.
PONPOS (PONPOS)
Ubica la tortuga activa en el punto cuyas coordenadas se
indican en coordenadas.
ACTIVIDAD 3. UTILIZAR NUEVAS PRIMITIVAS (TABLA SUPERIOR).
1. Realiza el dibujo de un cuadrado de 60 de lado. Cada lado debe tener un color y un grosor
diferente.
2. Realiza el dibujo de un rectángulo de 100 por 50. Cada lado debe tener un color y un grosor
diferente.
3. Realiza el dibujo de un triángulo equilátero de 75 de lado. Cada lado debe tener un color y un
grosor diferente.
4. Efectúa un procedimiento para dibujar una escalera de X peldaños y de Z x Z cada peldaño.
5. Efectúa un procedimiento para dibujar una escalera de X peldaños y de Y x Z cada peldaño.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 12
TECNOLOGÍAS
4º E.S.O.
6. Efectúa un procedimiento llamado NUMEROMULT con un parámetro llamado número, de tal
manera que ese procedimiento escribe el número en pantalla si el número es igual a 10 o
escribe el número multiplicado por 2 en caso contrario.
7. Realiza un procedimiento llamado NUMEROSUM con un parámetro llamado número de tal
manera que ese procedimiento escriba en pantalla el número más 5 si el número es menor
que 10 o el número menos 5 en caso contrario.
8. Crea el procedimiento FIGURAS, que te permita dibujar la siguiente secuencia:
B
2B
B
A
B
B
2A
2A
5. MODULARIDAD.
LOGO ofrece la posibilidad de dividir un programa en otros más pequeños y fáciles de diseñar
que pueden dividirse en otros, esta característica se denomina MODULARIDAD.
En el árbol de procedimientos podemos ver los diferentes subprocedimientos que se han
utilizado para la realización de un procedimiento complejo.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 13
TECNOLOGÍAS
4º E.S.O.
6. LAS VARIABLES GLOBALES.
Las variables globales pueden existir durante todo el tiempo en el que LOGO esté activo, cosa
que no ocurre con las variables locales. Por tanto, el programador debe tener cuidado de no definir a
dos variables con el mismo nombre.
Las variables globales se crean con la primitiva HAZ.
HAZ “NOMBRE contenido
El contenido de la variable puede ser:
El nombre que se da
a la variable debe ser un
conjunto de caracteres sin
espacios en blanco y debe
ir procedido de comillas.
Un número.
El resultado de una operación.
Una palabra que irá precedida de comillas.
Una lista entre corchetes.
Una serie de datos introducidos desde el teclado
durante la ejecución del programa por medio de
ciertas primitivas.
El contenido de una variable aparece cuando se escribe
precedida por el símbolo: nombre
No es posible crear una variable global ni en la primera línea de procedimiento ni en la
última.
PARA LADOTRIAN
ES [Escribe la longitud del lado de un triángulo equilátero]
HAZ “LADO LEEPALABRA
REPITE 3[AV :LADO GD 120]
FIN
PARA SALUDO
ES [¿Cómo te llamas?]
HAZ “NOMBRE LEEPALABRA
ES FRASE [Encantado de conocerte] :NOMBRE
FIN
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 14
TECNOLOGÍAS
4º E.S.O.
MÁS PRIMITIVAS
PRIMITIVA (ABREVIATURA)
ACCIÓN
HAZ “nombre objeto
Asigna el valor indicado en objeto a la variable llamada
nombre.
LEECAR (LC)
Lee el primer carácter de un archivo o la primera
pulsación desde el teclado sin necesidad de pulsar
INTRO.
LEECARS num (LCS num)
Lee los números primeros caracteres pulsados desde el
teclado o leídos desde un archivo.
LEELISTA (LL)
Lee una lista de caracteres introducidos desde el teclado
o leídos desde un archivo.
LEEPALABRA (LP)
Lee la primera palabra introducida desde el teclado o
leídos desde un archivo.
EJEMPLO:
PARA CUBO
ES [CALCULA EL CUBO]
ES [ESCRIBE CIFRA]
HAZ "CIFRA LP
(ES [EL CUBO ES] :CIFRA*:CIFRA*:CIFRA)
FIN
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 15
TECNOLOGÍAS
4º E.S.O.
7. RECURSIVIDAD.
Se llama recursividad a la posibilidad que ofrece un programa diseñado en LOGO de llamarse
a si mismo en un bucle sin fin.
EJEMPLO:
PARA CIRCUNFERENCIA
AV 1
GD 1
CIRCUNFERENCIA
FIN
La forma de abandonar su ejecución infinita de procedimiento se puede realizar mediante la
primitiva TECLA? en una condición.
PARA CIRCUNFERENCIA
SI TECLA? [ALTO]
AV 1
GD 1
CIRCUNFERENCIA
FIN
8. SENTENCIA CONDICIONAL.
La sentencia condicional se expresa con la primitiva SI y tiene varias sintaxis; las más usuales
son:
SI CONDICION [ACCIÓN 1] [ACCIÓN 2]
Si se cumple la condición, se ejecutan las acciones
contenidas en el primer corchete y, en caso contrario,
los incluidos en el segundo.
SI CONDICION [ACCIÓN ]
Si se cumple la condición, se ejecutan las acciones
contenidas en el corchete; después el programa pasa a
la línea siguiente; si no se cumple la condición, el
programa pasa a la línea siguiente.
Las estructuras recursivas se utilizan muy a menudo en los programas de robótica. En
gran cantidad de ocasiones las máquinas, además de ejecutar acciones habituales, están
abiertas ante cualquier cambio que pueda producirse gracias a su programación.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 16
TECNOLOGÍAS
4º E.S.O.
Control de recursividad por medio de un contador:
PARA CONTADOR :N
SI :N<0 [ESCRIBE “FIN ALTO]
ES :N
CONTADOR :N-1
FIN
ACTIVIDAD 4. REPASO
1.
Escribe un procedimiento llamado LEYDEOHM que pida el valor de la resistencia y
de la intensidad y dé cómo resultado el voltaje.
Nota: Recuerda que la ley de Ohm establece que el voltaje es igual al producto de la
resistencia por la intensidad. No olvides mostrar las unidades.
2.
Escribe un procedimiento que permite representar un arco de 30º.
3.
Escribe un procedimiento que permita representar un arco de 60º.
4.
Escribe un procedimiento que permita representar un arco de 90º.
5.
Desarrolla un programa que lea la longitud de los catetos de un triángulo rectángulo
y que calcule y muestre el área del triángulo y la longitud de la hipotenusa.
6.
Realiza un programa que calcule el área de un círculo. El valor del radio se debe
pedir al usuario del programa y el resultado se mostrará en pantalla.
7.
Realizar un procedimiento que decida si un número es cero o no lo es.
8.
Realizar un procedimiento que decide si la edad no es suficiente para poder entrar
en la discoteca.
9.
Procedimiento que indica si la temperatura es agradable (18º C -25º C).
10. Crea un procedimiento que dibuje un cuadro negro.
11. Crea un procedimiento que dibuje un cuadro rojo.
12. Crea un procedimiento que provoque una intermitencia entre uno y otro de 2
segundos.
13. Crea un contador con dos variables, el nº de inicio y el descenso.
Dpto. de Tecnologías
I.E.S. “Elisa y Luis Villamil” (Vegadeo) 17
Descargar