Ir al contenido

Logo (lenguaje de programación)

De Wikipedia, la enciclopedia libre
Logo
Desarrollador(es)
Wally Feurzeig, Seymour Papert, Cynthia Solomon
Información general
Paradigma multi-paradigma:funcional, educacional, imperativo, reflexivo
Apareció en 1967
Diseñado por Wally Feurzeig, Seymour Papert, Cynthia Solomon
Sistema de tipos dynamic
Implementaciones UCBLogo, many others
Dialectos StarLogo, NetLogo
Influido por Lisp
Ha influido a NetLogo, Smalltalk, Etoys, Scratch, KTurtle, REBOL, Boxer
Creatividad en actividades lúdicas basadas en el uso del Logo
animación para mostrar el funcionamiento de primitivas elementales[1]
Simetría central fácilmente obtenido con la geometría de la tortuga con instrucciones como:
REPEAT 36 [REPEAT 90 [fd 6 rt 4] rt 10] donde el primer REPEAT repite 36 veces en el ángulo redondo la circunferencia dibujada con el segundo anidado

Logo es un lenguaje de programación de alto nivel, en parte funcional, en parte estructurado; de muy fácil aprendizaje, razón por la cual suele ser el lenguaje de programación preferido para trabajar con niños y jóvenes. Fue diseñado con fines didácticos por Wally Feurzeig, Seymour Papert y Cynthia Solomon, quienes se basaron en las características del lenguaje Lisp. Se creó con la finalidad de usarlo para enseñar programación y puede usarse para enseñar la mayoría de los principales conceptos de la programación, ya que proporciona soporte para manejo de listas, archivos y entrada/salida. Cuenta con varias versiones.

Papert desarrolló un enfoque basado en su experiencia con Piaget a principios de los sesenta. Fundamentalmente consiste en presentar a los niños retos intelectuales que puedan ser resueltos mediante el desarrollo de programas en Logo. El proceso de revisión manual de los errores contribuye a que el niño desarrolle habilidades metacognitivas al poner en práctica procesos de autocorrección. Es conocido por poder manejar con facilidad gráficas tortuga, listas, archivos y recursividad.

Logo es uno de los pocos lenguajes de programación con instrucciones en español en algunos intérpretes, entre ellos: FMSLogo, LogoWriter, WinLogo, Logo Gráfico, XLogo, MSWLogo y LogoEs. Logo tiene más de 180 intérpretes y compiladores, según constan en el proyecto «Logo Tree».

XLogo, MSWLogo y LogoES tienen la particularidad de ser además software libre.

Lenguaje

[editar]

Una característica más explotada de Logo es poder producir «gráficos tortuga», es decir, poder en dar instrucciones a una tortuga virtual, un cursor gráfico usado para crear dibujos, que en algunas versiones es un triángulo, en otras tiene la figura de una tortuga vista desde arriba. Esta tortuga o cursor se maneja mediante palabras que representan instrucciones, por ejemplo:

Inglés

[editar]
forward 100 (la tortuga camina hacia delante 100 pasos)
turnright 90 (la tortuga se gira hacia la derecha 90º)
turnleft 30 (la tortuga se gira hacia la izquierda 30º)

Español

[editar]
avanzar 100
girarderecha 90
girarizquierda 30

La característica de que las instrucciones se puedan comprender en las diferentes lenguas es lo que hace al Logo un lenguaje de programación tan fácil de aprender. Una secuencia de instrucciones en Logo puede constituirse en un rudimentario programa, usándose como un bloque. Esta caracterísctica modular y reutilizable de las instrucciones hace que Logo sea muy flexible, recursivo, y apto para trabajarse en forma de módulos.

Otras instrucciones básicas de Logo en español son:

  • cs o BP: borrar pantalla.
  • rep o REPITE (número de veces) [ (acción) (cantidad) ] ej. -repite 4 [ av 100 gd 90 ], esta repetición crea un cuadrado.
  • st o MT: mostrar tortuga.
  • ht o OT: ocultar tortuga.
  • pu o SP (sin pluma) : subir lápiz, hace que la tortuga no dibuje mientras camina.
  • pd o CP (con pluma) : bajar lápiz, hace lo contrario que «-pu» («SP» en intérpretes en español).

Las instrucciones básicas de desplazamiento varían de una versión de LOGO a otra, pudiendo encontrar como equivalentes: DE, DERECHA, GD, por ejemplo, para indicar un giro en sentido de las agujas del reloj.

Referencias

[editar]

Enlaces externos

[editar]