Programando en Logo
REMINISCENCIA DE UNA TORTUGA…
INTRODUCCIÓN
La idea de este trabajo es brindar una guía rápida del funcionamiento del lenguaje
para los que no conocieron y aquellos programadores nostálgicos sin entrar en detalles.
Logo es un lenguaje bastante completo que no se acaba en las maniobras gráficas de la
tortuga.
Logo permite definir funciones y ejecutarlos en cualquier parte del programa, hacer
cálculos y un montón de tareas que escapan a los propósitos de este trabajo.
Contiene actividades susceptibles de ser utilizados en colegios para adiestrar a los
jóvenes programadores en la difícil tarea del código escrito a mano.
Recordar que:
“Si no logras programas algo en Logo, no puedes llamarte programador”
Fernando Arauz
Fernandoarauz09@gmail.com
ANTECEDENTES HISTORICOS
Un matemático llamado Seymoun Papert y Wallace Feurzeig crearon en 1967 la
primera versión del lenguaje Logo.
El lenguaje fue creado originalmente para controlar el robot tortuga (ver figura en
página de inicio) pero que después se utilizo en casi todas las microcomputadoras de la
época para que los niños aprendan a programar.
El primer uso de Logo en las escuelas se realizó en 1968 en Muzzey Jr High,
Lexington MA, pero no fue hasta el año siguiente cuando se introdujo el robot en forma
de tortuga y hasta 1970 no se utilizaron en las escuelas.
En los años 80 se realizo una experiencia patrocinada por el MIT y Texas Instrument
donde se distribuyeron hasta cincuenta ordenadores en escuelas de Dallas y Texas. Al
mismo tiempo, seis escuelas públicas de New York también recibieron ordenadores para
enseñar Logo.
LOGO
Existen una infinidad de variante de logo pero
casi todos comparten características comunes.
Nosotros utilizaremos un intérprete de Logo
llamado logo interpreter para android
www.calormen.com
Fig.1 Entorno del intérprete de Logo para
Android.
En la pantalla de abajo tenemos type your code
here escriba su código aquí. Luego de escribir el
código y luego presiona Run (arrancar) para
comenzar la compilación y si todo está bien (si el
programa no tiene errores de sintaxis ejecuta la terea.
Trabajar con código escrito a mano no es fácil para el principiante programador del siglo
XXI, ya que la escritura del código no admite errores en su escritura, o sea que se debe
escribir bien o escribir bien no hay otra opción.
Fig.2
En la figura uno podemos ver a la derecha arriba de color azul. Pulsar
esta tecla nos permitirá hacer más grande la casilla del código y de esta
manera podemos escribir varias instrucciones que podemos ejecutar en
orden secuencial (del comienzo hasta el final).
OPERACIONES GRAFICAS CON LA TORTUGA
PANTALLA DE TEXTO Y GRÁFICA
Para el programador la pantalla siempre fue una matriz que puede ser de texto pantalla
de texto o pantalla grafica.
PANTALLA DE TEXTO
La pantalla de texto en aquellos días estaba formada 80 columnas y 24 líneas, y cada
punto era un caracter que podía ser una letra, un numero o carácter especial o espacio en
blanco. Recordar cada punto de esa matriz de 80 x 24 era un carácter.
PANTALLA GRÁFICA
Los más antiguos era de 320 x 200 (aproximadamente o menos) donde se obtenían
gráficos horribles.
La unidad, o sea un punto de esa matriz de 320x200 era el píxel, el pixel era el puntito con
el que el sistema dibujaba.
INSTRUCCIONES BÁSICAS
Borrado de pantalla Clears se abrevia Cs
Cs (borra la pantalla)
PINTAR TODO EL FONDO DE LA PANTALLA
SETSCREENCOLOR <COLOR> Se abrevia SETSC <CODIGO DE COLOR>
Ejemplo
Setsc 4 (pinta todo el fondo de pantalla de rojo)
Srtsc 3 (pinta de Cyan todo el fondo ver tabla de código de colores)
OCULTAR LA TORTUGA
HIDE TURTLE se abrevia ht
ht (oculta la tortuga)
MOSTRAR LA TORTUGA
SHOW TURTLE st
St (vuelve a mostrar la tortuga)
MENSAJES POR PANTALLA SHOW
Sintaxis 1 show “mensaje (muestra por pantalla “mensaje” )
Sintaxis 2 show :numero ( muestra el contenido de la variable número si lo ha definido
previamente)
Ejemplo 1
show 12.65 ( muestra por pantalla el número 12.65 )
Ejemplo 2
Show 12.50 +10*100 (muestra el número 1012.50)
SUBIR Y BAJAR EL LÁPIZ
Recordemos que Logo era un programa para mover la tortuga que tenía un lápiz o crayón
para dibujar. Este lápiz o crayón se podía subir (UP) o Bajar (Down). Cuando se subía el
lápiz su movimiento no dejaba rastros. Para ello tenía instrucciones como:
PEN UP que se abrevia PU
Esto permitía cambiar de posición hacia la izquierda o derecha adelante o atrás si dibujar
nada en su recorrido.
BAJAR EL LÁPIZ
PEN DOWN que se abrevia PD
Permite bajar el lápiz y así dibujar a su paso.
Ejemplo 1
PU (levanta el lápiz)
Lt 90 (la tortuga gira 90 grados a la izquierda)
Fd 150 (avanza 150 pixeles a la derecha para cambiar de posición)
Rt 90 (gira hacia arriba)
PD (baja el lápiz para poder escribir)
DIBUJANDO EN LA PANTALLA
La tortuga solo se mueve para adelante y para atrás y hace giros en grados para la
izquierda o la derecha. Al moverse en la pantalla va dibujando líneas que serán más largas
o más cortas según la cantidad de píxeles que les demos.
MOVIMIENTO HACIA ADELANTE
FORWARD <exp> se abrevia fd <exp>
Forward (adelante) avanza hacia adelante dibujando una línea a su paso. Esta línea será
larga o corta dependiendo de la cantidad de pixeles que se les de en <exp>.
Ejemplo 2
Fd 100 (dibuja una línea hacia adelante partiendo del centro)
MOVIMIENTO HACIA ATRÁS
BACK <exp> se abrevia bk <exp>
Permite retroceder para atrás tantos píxeles como se indica en <exp>.
Ejemplo 3
Bk 200 (retrocede dibujando una línea de 200 píxeles)
GIROS A LA DERECHA
RIGHT <ángulo> se abrevia rt <ángulo>
Gira hacia la derecha el sentido del próximo avance.
O sea que el próximo avance hacia adelante éste avanzará
por la derecha en esa dirección.
El Angulo se expresa en grados.
En la figuro se hizo
Fd 100
Rt 90 (giro de 90 grados a la derecha)
Fd 95
GIROS A LA IZQUIERDA
LEFT <ángulo> se abrevia ft <ángulo>
Aquí gira a la izquierda el próximo sentido de avance en 90
grados.
Esta trayectoria corresponde a un código como:
Fd 100
Lt 90 (gira a la izquierda 90 grados)
Fd 100
CAMBIO DE COLOR EN LA LÍNEA
SETPENCOLOR <código de color>
Permite cambiar el color de la línea. Los códigos de color pueden ser los siguientes:
CÓDIGO DE
COLOR
COLOR CÓDIGO DE
COLOR
COLOR
0 Black (NEGRO) 8 Brown (marrón)
1 Blue (azul) 9 Tan ( cremitus)
2 Green (verde claro) 10 Green ( verde oscuro)
3 Cyan (celeste) 11 Aqua ( agua marina)
4 Red (rojo) 12 Salmon (rosaditus)
5 MAGENTA 13 Purple (LILA)
6 Yellow (amarillo) 14 Orange (narajitus)
7 White (blanco) 15 Gray (gis oscuro)
También puede usar la escala RGB ( Red Green Blue) la mezcla de de cada color será el
color resultante.
Ejemplo
Setpencolor 4
Setpencolor “red
Setpencolor [ 99 0 0 ] (selecciona el color rojo igual que los anteriores)
ANCHO DE LA LÍNEA
SETPENSIZE <Exp>
Donde <exp> es el grosor del trazo de la línea en píxeles. Nota un valor de 10 ya resulta
grande. La línea estándar es de 1.
CIRCUNFERENCIAS Y ARCOS
Arc <ángulo> <radio>
Dibuja una arco de circunferencia de una medida fijada en ángulo y de radio que se
especifique
Ejemplo
Setpencolor 4 (define la línea de color rojo)
Arc 180 80 (dibuja una arco de circunferencia de 180 grados y 80 pxs de radio).
Arc 360 70 (dibuja una circunferencia completa de radio igual a 70 pxs )
ACTIVIDAD 1
Antes de comenzar debemos definir el color de la línea entonces escribimos:
Setpencolor 1 (ahora tendremos líneas de color azul pueden elegir cualquier color)
1. Dibujar un cuadrado de 100 píxeles de lados.
2. Dibujar un rectángulo cuyos lados sean dos de 200 pxs y dos de 100 pxs.
3. Dibujar un triángulo equilátero (lados iguales) con 200pxc de lado.
Rta hacer 360/3 = 120 grados (ángulo externo)
4. Escribir un programa que dibuje un hexágono regular y que lo pinte de rojo.
Respuesta: primero debemos definir el ángulo
del hexágono será:
360/6 = 60 (porque el hexágono posee 6
lados)
Es decir que cada lado tendrá 60 grados (120
grados cada ángulo interno entre lado y lado)
No piden la medida entonces lo podemos
construir a los lados de 100 pxs.
Con filled “red pintamos de rojo la figura
definida por todas las instrucciones que están
entre corchetes.
Esta es la figura que nos aparecerá luego de
escribir toda esa cantidad de líneas de código.
Podemos resumir toda esa tarea utilizando la
instrucción
repeat <número de repeticiones> [ instrucciones a repetir]
Ejemplo
Como podemos ver en Rta las instrucciones rd 60 y fd 100 se repiten 6 veces, para
no tener que repetir lo mismo usamos repetir repeat y el número de veces que
deseemos repetir y entre corchetes ( [ ..] ) las instrucciones que se van a repetir.
3. Dibujar una estrella roja de 150 pxs
Para finalizar usted puede ocultar la tortuga…( que está en mal pose je je)
3. Dibujar un sol con líneas de 200 pxs y con giros de 3 grados.
LA TORTUGA ES TODA UNA ARTISTA
Aquí solicito la colaboración de los artistas plásticos, les mostrare algunos
trabajos de arte que se puede hacer con un poco de código y pulsando varias veces
RUN.
ACTIVIDAD NÚMERO 2
1. Realizar una obra de arte Moving de diseño libre combinando figuras y
colores.
Es así que combinando código adecuadamente pueden tener figuras abstractas
muy interesantes
A pesar de que muy soy
malo para el arte.
Sinceramente espero que
ustedes me superen
ampliamente en este
tema.
Nota
Oculta a la maldita tortuga
al final con ht
2. Hacer una figura abstracta con muchas circunferencia combinando colores.
------------------------------------------------------------------------------------------------------------------------
Bibliografía
Brian, H. (1997). Berkeley LOGO Reference Manual. Massachusetts, EE UU: MIT.
Perez, E. (2019). La tortuga que nos enseño a programar: la historia de Logo. España: XATAKA.
Rosamund, S. (1987). What are the link between variable in Logo and Algebra? London England:
Recherches Didactique des Mathémtiques.

Programando en Logo

  • 1.
  • 2.
    INTRODUCCIÓN La idea deeste trabajo es brindar una guía rápida del funcionamiento del lenguaje para los que no conocieron y aquellos programadores nostálgicos sin entrar en detalles. Logo es un lenguaje bastante completo que no se acaba en las maniobras gráficas de la tortuga. Logo permite definir funciones y ejecutarlos en cualquier parte del programa, hacer cálculos y un montón de tareas que escapan a los propósitos de este trabajo. Contiene actividades susceptibles de ser utilizados en colegios para adiestrar a los jóvenes programadores en la difícil tarea del código escrito a mano. Recordar que: “Si no logras programas algo en Logo, no puedes llamarte programador” Fernando Arauz Fernandoarauz09@gmail.com
  • 3.
    ANTECEDENTES HISTORICOS Un matemáticollamado Seymoun Papert y Wallace Feurzeig crearon en 1967 la primera versión del lenguaje Logo. El lenguaje fue creado originalmente para controlar el robot tortuga (ver figura en página de inicio) pero que después se utilizo en casi todas las microcomputadoras de la época para que los niños aprendan a programar. El primer uso de Logo en las escuelas se realizó en 1968 en Muzzey Jr High, Lexington MA, pero no fue hasta el año siguiente cuando se introdujo el robot en forma de tortuga y hasta 1970 no se utilizaron en las escuelas. En los años 80 se realizo una experiencia patrocinada por el MIT y Texas Instrument donde se distribuyeron hasta cincuenta ordenadores en escuelas de Dallas y Texas. Al mismo tiempo, seis escuelas públicas de New York también recibieron ordenadores para enseñar Logo. LOGO Existen una infinidad de variante de logo pero casi todos comparten características comunes. Nosotros utilizaremos un intérprete de Logo llamado logo interpreter para android www.calormen.com Fig.1 Entorno del intérprete de Logo para Android. En la pantalla de abajo tenemos type your code here escriba su código aquí. Luego de escribir el código y luego presiona Run (arrancar) para comenzar la compilación y si todo está bien (si el
  • 4.
    programa no tieneerrores de sintaxis ejecuta la terea. Trabajar con código escrito a mano no es fácil para el principiante programador del siglo XXI, ya que la escritura del código no admite errores en su escritura, o sea que se debe escribir bien o escribir bien no hay otra opción. Fig.2 En la figura uno podemos ver a la derecha arriba de color azul. Pulsar esta tecla nos permitirá hacer más grande la casilla del código y de esta manera podemos escribir varias instrucciones que podemos ejecutar en orden secuencial (del comienzo hasta el final). OPERACIONES GRAFICAS CON LA TORTUGA PANTALLA DE TEXTO Y GRÁFICA Para el programador la pantalla siempre fue una matriz que puede ser de texto pantalla de texto o pantalla grafica. PANTALLA DE TEXTO La pantalla de texto en aquellos días estaba formada 80 columnas y 24 líneas, y cada punto era un caracter que podía ser una letra, un numero o carácter especial o espacio en blanco. Recordar cada punto de esa matriz de 80 x 24 era un carácter. PANTALLA GRÁFICA Los más antiguos era de 320 x 200 (aproximadamente o menos) donde se obtenían gráficos horribles. La unidad, o sea un punto de esa matriz de 320x200 era el píxel, el pixel era el puntito con el que el sistema dibujaba. INSTRUCCIONES BÁSICAS Borrado de pantalla Clears se abrevia Cs Cs (borra la pantalla)
  • 5.
    PINTAR TODO ELFONDO DE LA PANTALLA SETSCREENCOLOR <COLOR> Se abrevia SETSC <CODIGO DE COLOR> Ejemplo Setsc 4 (pinta todo el fondo de pantalla de rojo) Srtsc 3 (pinta de Cyan todo el fondo ver tabla de código de colores) OCULTAR LA TORTUGA HIDE TURTLE se abrevia ht ht (oculta la tortuga) MOSTRAR LA TORTUGA SHOW TURTLE st St (vuelve a mostrar la tortuga) MENSAJES POR PANTALLA SHOW Sintaxis 1 show “mensaje (muestra por pantalla “mensaje” ) Sintaxis 2 show :numero ( muestra el contenido de la variable número si lo ha definido previamente) Ejemplo 1 show 12.65 ( muestra por pantalla el número 12.65 ) Ejemplo 2 Show 12.50 +10*100 (muestra el número 1012.50) SUBIR Y BAJAR EL LÁPIZ Recordemos que Logo era un programa para mover la tortuga que tenía un lápiz o crayón para dibujar. Este lápiz o crayón se podía subir (UP) o Bajar (Down). Cuando se subía el lápiz su movimiento no dejaba rastros. Para ello tenía instrucciones como: PEN UP que se abrevia PU Esto permitía cambiar de posición hacia la izquierda o derecha adelante o atrás si dibujar nada en su recorrido.
  • 6.
    BAJAR EL LÁPIZ PENDOWN que se abrevia PD Permite bajar el lápiz y así dibujar a su paso. Ejemplo 1 PU (levanta el lápiz) Lt 90 (la tortuga gira 90 grados a la izquierda) Fd 150 (avanza 150 pixeles a la derecha para cambiar de posición) Rt 90 (gira hacia arriba) PD (baja el lápiz para poder escribir) DIBUJANDO EN LA PANTALLA La tortuga solo se mueve para adelante y para atrás y hace giros en grados para la izquierda o la derecha. Al moverse en la pantalla va dibujando líneas que serán más largas o más cortas según la cantidad de píxeles que les demos. MOVIMIENTO HACIA ADELANTE FORWARD <exp> se abrevia fd <exp> Forward (adelante) avanza hacia adelante dibujando una línea a su paso. Esta línea será larga o corta dependiendo de la cantidad de pixeles que se les de en <exp>. Ejemplo 2 Fd 100 (dibuja una línea hacia adelante partiendo del centro) MOVIMIENTO HACIA ATRÁS BACK <exp> se abrevia bk <exp> Permite retroceder para atrás tantos píxeles como se indica en <exp>. Ejemplo 3 Bk 200 (retrocede dibujando una línea de 200 píxeles)
  • 7.
    GIROS A LADERECHA RIGHT <ángulo> se abrevia rt <ángulo> Gira hacia la derecha el sentido del próximo avance. O sea que el próximo avance hacia adelante éste avanzará por la derecha en esa dirección. El Angulo se expresa en grados. En la figuro se hizo Fd 100 Rt 90 (giro de 90 grados a la derecha) Fd 95 GIROS A LA IZQUIERDA LEFT <ángulo> se abrevia ft <ángulo> Aquí gira a la izquierda el próximo sentido de avance en 90 grados. Esta trayectoria corresponde a un código como: Fd 100 Lt 90 (gira a la izquierda 90 grados) Fd 100 CAMBIO DE COLOR EN LA LÍNEA SETPENCOLOR <código de color> Permite cambiar el color de la línea. Los códigos de color pueden ser los siguientes: CÓDIGO DE COLOR COLOR CÓDIGO DE COLOR COLOR 0 Black (NEGRO) 8 Brown (marrón) 1 Blue (azul) 9 Tan ( cremitus) 2 Green (verde claro) 10 Green ( verde oscuro) 3 Cyan (celeste) 11 Aqua ( agua marina) 4 Red (rojo) 12 Salmon (rosaditus) 5 MAGENTA 13 Purple (LILA) 6 Yellow (amarillo) 14 Orange (narajitus) 7 White (blanco) 15 Gray (gis oscuro)
  • 8.
    También puede usarla escala RGB ( Red Green Blue) la mezcla de de cada color será el color resultante. Ejemplo Setpencolor 4 Setpencolor “red Setpencolor [ 99 0 0 ] (selecciona el color rojo igual que los anteriores) ANCHO DE LA LÍNEA SETPENSIZE <Exp> Donde <exp> es el grosor del trazo de la línea en píxeles. Nota un valor de 10 ya resulta grande. La línea estándar es de 1. CIRCUNFERENCIAS Y ARCOS Arc <ángulo> <radio> Dibuja una arco de circunferencia de una medida fijada en ángulo y de radio que se especifique Ejemplo Setpencolor 4 (define la línea de color rojo) Arc 180 80 (dibuja una arco de circunferencia de 180 grados y 80 pxs de radio). Arc 360 70 (dibuja una circunferencia completa de radio igual a 70 pxs ) ACTIVIDAD 1 Antes de comenzar debemos definir el color de la línea entonces escribimos: Setpencolor 1 (ahora tendremos líneas de color azul pueden elegir cualquier color) 1. Dibujar un cuadrado de 100 píxeles de lados.
  • 9.
    2. Dibujar unrectángulo cuyos lados sean dos de 200 pxs y dos de 100 pxs. 3. Dibujar un triángulo equilátero (lados iguales) con 200pxc de lado. Rta hacer 360/3 = 120 grados (ángulo externo) 4. Escribir un programa que dibuje un hexágono regular y que lo pinte de rojo. Respuesta: primero debemos definir el ángulo del hexágono será: 360/6 = 60 (porque el hexágono posee 6 lados) Es decir que cada lado tendrá 60 grados (120 grados cada ángulo interno entre lado y lado) No piden la medida entonces lo podemos construir a los lados de 100 pxs. Con filled “red pintamos de rojo la figura definida por todas las instrucciones que están entre corchetes. Esta es la figura que nos aparecerá luego de escribir toda esa cantidad de líneas de código. Podemos resumir toda esa tarea utilizando la instrucción repeat <número de repeticiones> [ instrucciones a repetir] Ejemplo Como podemos ver en Rta las instrucciones rd 60 y fd 100 se repiten 6 veces, para no tener que repetir lo mismo usamos repetir repeat y el número de veces que deseemos repetir y entre corchetes ( [ ..] ) las instrucciones que se van a repetir. 3. Dibujar una estrella roja de 150 pxs
  • 10.
    Para finalizar ustedpuede ocultar la tortuga…( que está en mal pose je je) 3. Dibujar un sol con líneas de 200 pxs y con giros de 3 grados. LA TORTUGA ES TODA UNA ARTISTA Aquí solicito la colaboración de los artistas plásticos, les mostrare algunos trabajos de arte que se puede hacer con un poco de código y pulsando varias veces RUN. ACTIVIDAD NÚMERO 2 1. Realizar una obra de arte Moving de diseño libre combinando figuras y colores. Es así que combinando código adecuadamente pueden tener figuras abstractas muy interesantes
  • 11.
    A pesar deque muy soy malo para el arte. Sinceramente espero que ustedes me superen ampliamente en este tema. Nota Oculta a la maldita tortuga al final con ht 2. Hacer una figura abstracta con muchas circunferencia combinando colores. ------------------------------------------------------------------------------------------------------------------------ Bibliografía Brian, H. (1997). Berkeley LOGO Reference Manual. Massachusetts, EE UU: MIT. Perez, E. (2019). La tortuga que nos enseño a programar: la historia de Logo. España: XATAKA. Rosamund, S. (1987). What are the link between variable in Logo and Algebra? London England: Recherches Didactique des Mathémtiques.