Programación en Lenguaje Logo

   Instruciones/comandos originales del lenguaje Logo: 


El lenguaje Logo es un lenguaje de programación interpretado que fue creado en la década de 1960 por Seymour Papert y sus colegas en el MIT. Logo se hizo popular en la década de 1980 como una herramienta de enseñanza de programación para niños, ya que fue diseñado para ser fácil de aprender y utilizar.



Las instrucciones básicas del lenguaje incluyen:


FORWARD: mueve la tortuga hacia adelante una cierta distancia.

BACK: mueve la tortuga hacia atrás una cierta distancia.

RIGHT: gira la tortuga hacia la derecha un cierto número de grados.

LEFT: gira la tortuga hacia la izquierda un cierto número de grados.

PENUP: levanta el lápiz de la tortuga para que no dibuje cuando se mueve.

PENDOWN: baja el lápiz de la tortuga para que dibuje cuando se mueve.


   Estas instrucciones básicas permiten a los programadores controlar la posición y el movimiento de la tortuga en la pantalla.



Otras instrucciones comunes en Logo incluyen:


REPEAT: repite una serie de instrucciones un número específico de veces.

IF/ELSE

: permite al programador hacer una elección entre dos o más acciones basadas en una condición dada.

TO/FROM: permite al programador definir y utilizar funciones personalizadas en su programa.

CLEARSCREEN: borra la pantalla de dibujo y reinicia la posición de la tortuga a su posición inicial.

HOME: mueve la tortuga a su posición inicial en el centro de la pantalla.

SETXY: mueve la tortuga a una posición específica en la pantalla utilizando coordenadas X e Y.

COLOR: cambia el color de la pluma utilizada para dibujar en la pantalla.



Algunas de las instrucciones/ordenes consideradas más clásicas en Logo incluyen:


REPEAT 4 [FORWARD 100 RIGHT 90]: dibuja un cuadrado de 100 unidades de lado.


REPEAT 36 [FORWARD 10 RIGHT 10]: dibuja un círculo de 36 lados de radio 10 unidades.


TO STAR :SIZE REPEAT 5 [FORWARD :SIZE BACK :SIZE RIGHT 144]: define una función personalizada llamada "star" que dibuja una estrella de cinco puntas de tamaño variable.


   Estas instrucciones/ordenes clásicas son solo algunos ejemplos de lo que se puede hacer con Logo y son útiles para enseñar a los niños los conceptos básicos de la programación. 

   Logo sigue siendo un lenguaje popular en la enseñanza de la programación y también se utiliza en la investigación de inteligencia artificial.



--------------------


Aquí te presento 5 programas simples de Logo que dibujan gráficos de tortuga:

REPEAT 4 [ FORWARD 100 RIGHT 90 ]


REPEAT 3 [ FORWARD 100 RIGHT 120 ]


REPEAT 5 [ FORWARD 100 RIGHT 144 ]



FORWARD 100 LEFT 90 FORWARD 100 LEFT 90 FORWARD 100 RIGHT 45 FORWARD 70 RIGHT 90 FORWARD 70 RIGHT 45 FORWARD 100 LEFT 135 FORWARD 70 LEFT 90 FORWARD 70 LEFT 135 FORWARD 100 PENDOWN RIGHT 90 FORWARD 100 RIGHT 90 FORWARD 100 RIGHT 90 FORWARD 100 RIGHT 90 PENUP LEFT 180 FORWARD 50 LEFT 90 PENDOWN CIRCLE 50


TO TREE :SIZE IF :SIZE < 5 [STOP] FORWARD :SIZE LEFT 45 TREE :SIZE / 1.5 RIGHT 90 TREE :SIZE / 1.5 LEFT 45 BACK :SIZE END TREE 100


Estos son solo ejemplos simples, pero con estas instrucciones, se pueden crear dibujos mucho más complejos y detallados. 


¡Diviértete explorando y creando tus propios gráficos de tortuga en Logo!




--------



Aquí te presento tres programas más complejos de Logo que dibujan gráficos de tortuga:



TO FLOWER :SIZE :ANGLE REPEAT 6 [ PENDOWN FORWARD :SIZE RIGHT :ANGLE FORWARD :SIZE RIGHT 120 - :ANGLE FORWARD :SIZE RIGHT :ANGLE FORWARD :SIZE RIGHT 60 PENUP FORWARD :SIZE LEFT 60 ] END TO FLOWERBED :X :Y SETXY :X :Y SETPENCOLOR 33 PENDOWN CIRCLE 80 PENUP REPEAT 12 [ SETXY :X :Y RIGHT 30 * :repcount FORWARD 100 FLOWER 20 40 ] END CLEARSCREEN SETXY 0 -150 FLOWERBED 0 -150




TO CIRCLE :R REPEAT 360 [ FORWARD :R RIGHT 1 ] END TO SPHERE :R REPEAT 180 [ PENDOWN CIRCLE :R RIGHT 2 ] END CLEARSCREEN SETXY 0 -200 SPHERE 100




TO SNOWFLAKE :SIZE :LEVEL IF :LEVEL = 0 [ FORWARD :SIZE STOP ] SNOWFLAKE :SIZE / 3 :LEVEL - 1 LEFT 60 SNOWFLAKE :SIZE / 3 :LEVEL - 1 RIGHT 120 SNOWFLAKE :SIZE / 3 :LEVEL - 1 LEFT 60 SNOWFLAKE :SIZE / 3 :LEVEL - 1 END CLEARSCREEN PENUP SETXY 0 -150 PENDOWN SNOWFLAKE 300 4


Espero que estos ejemplos te den una idea de la creatividad y complejidad que se pueden alcanzar con Logo y las gráficas de tortuga. ¡A seguir explorando y experimentando!




1-Para empezar descargue LibreOffice, es gratuito y no tiene virus. 

https://es.libreoffice.org/

2--Libre office le servirrá de plataforma para programar con Logo.

3-Abra el programa LibreOfficeWriter (que es similar a MicrosoftWord) 

4-Una vez dentro de libre office, vaya a ver--> herramientas--> y active donde dice LOGO. 

5-Luego busque donde está la barra de botones de Logo- e eralmente esta a la derecha arriba, haga clic y muévala porque está escondida.

5-Alli tiene varios botones y una casilla para esribir código.

6-Si tiene dudas puede escribirme: rafaelmessina1970@gmail.com

7- Si quiere puede descargar y subir a su Writer, esta Plantilla Incial en Españól, que ya le doy configurada para que pueda programar de forma mas rápida y eficiente. (porque onfigurar el programa para programar a veces es un poco difícil para los nuevos.)


Plantilla Incial en Españól: https://drive.google.com/file/d/1oDY90Sz6qZq93SAnNPexp7kBH7mlWRlx/view?usp=sharing


Introducción


-Logo es un lenguaje de progración educativo.

-Aprender, crear investigar y enseñar con Logo es divertido.

-Es programacón simplificada y amigable para el que recién se inicia, para niñes y personas que se dedican a áreas que no sean de STEM (ciencias duras), pero que quieren aprender a programar por diversos motivos como hobbie, o aplicarlo a la enseñanza o aprender algo nuevo y desafiar su cerebro o para aplicarlo a las artes, etc.

¿Sabías que si practicas Piano, Ajedrez, Arte marciales complejas como el Kung fu o Programas hasta edades avanzadas, jamás tendrás deterioro cognitivo? Eso es porque mantienes tu cerebro en forma y lo desafías a diario.


Mi idea es que esto les sirva de introducción a la programación, se diveirtan y tambien que puedan usar el plan de estudios para enseñar a otros. Y para "perderle el miedo" a la programación y las ciencias.



-Funciona en base a unos pocos principios básicos pero tiene todo los que un lenguaje serio debe tener. Por ello, se lo utilizó hasta en prestigiosas universidades y muchso delosgrandesprogramadores de hoy, dieron sus primeros pasos en éste simático y sencillo pero poderoso lenguaje, a muy corta edad, allá por los 80 o 90, LOGO y BASIC, fueron fundamentales para los principiantes.

-Este lenguaje funciona bien paraeducarenprogramación y pensamiento computacional porque se apoya, despierta e incentiva la curiosidad y la creatividad naturalde las personas,especialmente de los niños y jóvenes.

-Cada problema planteado, se va resolviendo pos pasos secuenciales, con órdenes claras y simples (comprensibles por humanos). Además, el programa devuelve un resultado visual mediante dibujos, números o textos coloridos y/o animados en la pantalla.  (lo que hace fácil la retroalimentación,el alumno vé el resultado correcto o incorrecto y puede acccionar para encontrar el código adecuado)

-Antiguamente, ese resultado visual se obtenia viendo como se movía una "Tortuga Robot" real en un espacio tridimensional real (que era el piso del aula de ciencias, en dónde se movía la tortuga y/o dibujaba con un fibrón.) cada colegio o escuela del mundo podía optar por aplicar éstaenseñáza mediante la Tortuga Robot programable Logo y su lenguaje de programación yplanes de estudio estuvieron siempre adisposición de todos los docentes del mundo, incluso traducido a decenas de idiomas.

- Aunque esa tortuga solo se movía en dos dimensiones. Es decir, avanzando retrocediendo y girando deteniéndose, dibujanto, emitiendo algún sonido o prendiendo alguna luz. 

Al tener que resolver situaciones como : ¿De qué manera mover la tortuga para que dibuje tal o cual figura o texto? El alumno debe poner en funcionamiento todo su ser, y no solo el cerebro. activando el pensamiento propioceptivo. Uno de nuestros recursos de aprendizaje de supervivencia innato y que podemos desarrollar fácilmente.


Los propioceptores son sensores naturales que tenemos repartidos en  nuestro cuerpo, ya sea en los órganos internos o en las articulaciones principales.

   Cuando te piden que hagas algo con la mano derecha y levantas tu mano derecha para "recordar con el cuerpo" cual es la derecha, estás usando el pensamiento propioceptivo y es una de las mejores formas de aprender incluso desde la primera infancia.

   La pedagogía de Piaget, muy en boga en los '60s y '70s influyó mucho también en su desarrollo.


Pero el leguaje no se limita solo a enseñar a niños, tiene todo el poder de un lenguaje  completo y poderoso, es al mismo tiempo una forma de enseñarle a una computadora o de aprender a mover un robot, una calculadora científica, una graficadora de funciones, un laboratorio de programación y también un espacio de diversión, juego, comunicación  y expresividad.  


La tortuga puede ser adiestrada para hacer miles de cosas:

Hablar, escribir, moverse, dibujar, pìntar, calcular, graficar, analizar su propio còdigo (reflexividad), aprender a realizar nuevas tareas, etc... Y todo con una presición asombrosa.


Nos ayuda a pensar para reslver progblemas o expresarnos.

Nos lleva a que ese pensamiento sea lógico y ordenado porque los resultados se ven al instante.

Nos lleva a tener que escribir los códigos que expresan datos formados por textos y números (alfanuméricos) con la mayor presición y simplicidad posible. (similar a como se escribe el pseudocódigo de programación.)

Cuidar la sintaxis, la gramática y la ortografía es clave en este lenguaje,  así que ientras estamos aprendiendo ciencias como las matematicas, la lógica y la geometría, tambien estamos reforzando la capacidad de leer y escribir bien.


Est lenguaje derivó luego de muchas décadas en el famoso programa de apdrendizaje llamado Scratch, pero el defecto de scratch es que no utiliza escritura de código. así que los alumnos se pierden el aprendizaje de comprensión y escritura de textos, y co los años luego se les dificulta arender la programación por código. porque es un lenguaje que se pensó para la prmera infancia y no es conveniente utilizarlo muchos años como único sistema de progrmación.


Scratch es solo un recurso mas, un recurso visual y manipulado por acciones del usuario muy valioso, pero es limitado. en cambio Logo puede hacer mucho mas, incluso aplicarse durnte toda la educación de una individuo en todos sus niveles. Aunque. a las claras no es un programa para "la industria" del software, ni para trabajar con el en una empresa. 

Su fín siempre fué y será educativo y expresivo, esecialmente para la ciencias de la computación. - en algunas nuevas versiones com MSWLogo, incluso se programa y diseña en 3D y su código es mucho mas rico y potente.- 

En cambio, Scratch nunca deja de ser un juguete pedagógico para etapas iniciales.

En nuestro caso, empezaremos pro aprender Lgo en el dialecto LibreLogo de la comunidad LibreOffice y en sus inicios lo utilizaremos solo con òrdenes en Castellano.


-El primer paso para programar en Logo es: 

   Descargar la suite gratuita de ofimática "LibreOffice":

   https://www.libreoffice.org/download/download-libreoffice/


-El segundo paso es: Intálarlo en su computadora, netbook o tablet  en Español.  (los alumnos avanzados pueden usar la interfáz en inglès o en español y se recomienda que seteen el idioma de traducción de Writer a Inglés de EEUU.) -Los avanzados programarán con las órdenes en Inglés, pero la interfaz del programa puede estar en castellano. no ahce falta qu todo esté en inglés, solo la parte de traducción de lenguaje del usuario debe estar en Inglés. 

Se recomienda que sea inglés de EEUU, para que no haya errores de traducción o interpretación ya ue el inglés de inglaterra, por ejemplo es ligérmente diferente..


-El tercer paso es abrir LibreOficeWriter  dentro de la suite de ofimática gratuita LibreOffice.

   (LIBRE_OFFICE ES UNA VERSIÓN MAS MODERNA DE OPEN_OFFICE, famosa suite de ofimática Open Souce, que nació para hacerle frente a la multincionales de software como Microsoft y su suite Office, que realizó prácticas monopólicas mundialmente. así que estos sistemas estan rceados y mantenidos por una comunidad mundial que ama la libertad.)

Por ello decidieron incluir un nuevo dialecto del viejo y famoso lenguaje educativo Logo, pero corriendo sobre LibreOffice y reescrito en Python.

(También se peude ejecutar en Linux,  Ubuntu  y otras distribuciones y creo que ya lo traen instalado.)


-Una vez que abra Writer allí debe activar en Ver--> Herramientas--> Logo

   Luego busque, porque suele estar oculta, la barra de herramientas de programación LOGO y sitúela donde pueda verla. 


-Ahora ya puede esribir código en su hoja de documento Writer como si fuera un simple Word o un archivo Txt.

-Estos documentos se llaman .odt y  los puede guardar en su PC o incluso en Google Drive, son compatibles con documentos y word y casi todo tipo de programas.


-También, puedes descargar plantillas .ott para LibreOfficeWriter y asi ampliar sus funcionalidades. O crear tus propias plantillas para programar.

LAS PLANTILLAS  ESTÁN AQUÍ PARA DESCARGA GRATUITA: 

https://extensions.libreoffice.org/?q=documents&action_doExtensionSearch=Search


Este es otro resaltador de código:

https://extensions.libreoffice.org/en/extensions/show/5814


Esta es una plantilla de tipo plano con ejes cartesianos:

https://extensions.libreoffice.org/en/extensions/show/diagramm-zeichner-fur-draw


Una plantilla con Juego Tangrama hecho en Logo

https://extensions.libreoffice.org/en/extensions/show/tangram-alakzatok


Un asistente de exportación de imagenes en diversos formatos:

https://extensions.libreoffice.org/en/extensions/show/export-as-images



Pero recomiendo solo descargar e instalar solo dos o tres de ellas.

Se podría instalar el formateador de código:

https://extensions.libreoffice.org/en/extensions/show/71


-Mas adelante usaremos una extensión que funciona como resaltador de sintaxis, porque así es mas visual y amigable para aprender.



Una lista de comandos en inglés, muy resumida está aquí:

http://numbertext.org/logo/commands_en.txt

Puede descargarla e imprimirla.


Estos son algunos posters hechos con LibreLogo.

Puede usarlos para imprimirlos o como material de estudio o para inspirarse: 

   http://www.numbertext.org/logo/posters/




-Pueden ver unos videos que hicieron en Italia y en Brasíl.(Están en you tube como "LibreLogo", solo tienen que activar los subtítulos y la traduccion automática a Español.) https://www.youtube.com/watch?v=7R2fYsKhQhQ 


https://www.youtube.com/results?sp=mAEB&search_query=librelogo

https://www.youtube.com/watch?v=9wrfAr4NMGU



-¿Tienes programas y dibujos hechos en Scratch con las insrucciones de los "bloques añadios" de "Pluma de dibujo"? 

    La buena noticia es que puedes pasar esas ideas a LibreLogo, utilizando un poco el ingenio y reescribiendo tu programa con código LOGO: https://www.youtube.com/watch?v=VXC9SjW3vBY&list=PLq099HF8-_KYZxj4WIktbI-T4ETYASogs


Sobre LibreLogo

  Es un dialecto del lenguaje de programación Logo, que se desarrolló para introducirse en la programación y para proporcionar una mejor comprensión de las matemáticas. 

Era una famosa tortuga mecánica prograble desde una computadora. 

La tortuga mecánica fue reemplazada luego por un símbolo triangular, verde quesimbolizaba a la tortuga en la pantalla deorgramación y se amplió también el lenguaje (y tambien con las décadas se craron muchos lenguajes derivados, conocidos como dialectos Logo...

   Pero ello, que terminó complicando todo. y lo mejor es mantenerse con las órdenes/Comandos originales. - au nque hay una versión para windows que vale la pena para alumnos avanzados, porque permite programar incluso gáficos en 3D y tiene  uchas mas funciones y amplía sus posibilidades hasta parecersea un lenguaje profesional, qunque es pedagógico también, pero para colegios y universidades. no tanto para niños.-Se llama FMS Logo y tambiñen es gratuito y de uso público.) 


Pero, LibreLogo puede hacer más que mover la tortuga.

Los gráficos de tortuga son los que usa la mayoría de la gente así que  hay un énfasis en ello.


Lo que diferencia a Logo de otros lenguajes de programación es que se enfocó siempre en  acercar la programación de robots a los niños, usando una tortuga mecánica, incentivado su creativoat. 

Lograr que la tortuga dibuje formas más o menos complejaidad natural y curiosidad.


En la pantalla, sin embargo, el código, requiere que el programador sea preciso en escritura, en lógica y en matemáticas.  Por eso no es solo un juego es un sistema lógico que hay que descubrir y aprender a programar correctamente.


Dado que los resultados de la programación se vuelven visibles de manera comprensible tan pronto como se ejecuta el programa, esto también proporciona motivación en el arte de la programación. 



El triángulo o la tortuga se pueden ocultar o convertir en cualquier otra cosa, un lápiz, otro animal, otra figura geométrica ,etc., depende del programador descubrir qué es lo que está mal en el programa. 


Logo se utiliza con buenos resultados en la enseñanza de las matemáticas pero los docentes tienen poco conocimiento de Logo. En aquella época era costoso coneseguir la tortuga Robot para programar y solo en algunos colegios de algunos países se implementó en la enseñanza.


Comandos (órdenes)

  Como ocurre con todos los lenguajes de programación, Logo tiene reglas para escribir comandos. 

Logo tiene más de un nombre para el mismo comando y tiene comandos abreviados (todos ellos son "alias" de comandos).

En estas se utiliza un solo nombre para no confundir al lector.  (NO utilizarélasabreviaturas de comandos,porque considero que complican al alumno, pues debería memorizar el doble deinstrucciones y además, si desesaberloscomandos en ingésy castellano tendría que realizar una enorme tarea de memorización, solo de esas palabras comando,y sus abreviaturas en ambos idiomas, lo que lleva a mas posibles errores de tipeo o de memoria..)

Antiguamente era necesario abreviar para que seamas fácil programar. Las pantallas no eran tan eficientes como ahora y las letras se esrcibían en tamaño grande,así que un código largo debía ser abreviado.

Usaremos los Comandos del Lenguaje Logo Tradicional, pero en el dialecto mas moderno: LibreLogo, ya que está reescrito en lenguaje Python,peroresptano las instrucciones originales (salvo pequeñas excepciones).

Una lista completa de todos los nombres están en  lasección: "Comandos", el menú.