76
EL LENGUAJE LOGO Nicolás Carrascal Mesa José María De Benito Saucedo José David Gutiérrez Gutiérrez

El lenguaje Logo

  • Upload
    eithne

  • View
    53

  • Download
    2

Embed Size (px)

DESCRIPTION

El lenguaje Logo. Nicolás Carrascal Mesa José María De Benito Saucedo José David Gutiérrez Gutiérrez. Índice. Introducción Historia de Logo Mindstorms Estado actual Relación con otros lenguajes Paradigmas de Logo Conceptos de Logo Primitivas del lenguaje Ejemplos Casos de estudio. - PowerPoint PPT Presentation

Citation preview

  • EL LENGUAJE LOGONicols Carrascal MesaJos Mara De Benito SaucedoJos David Gutirrez Gutirrez

  • ndiceIntroduccinHistoria de LogoMindstormsEstado actualRelacin con otros lenguajesParadigmas de LogoConceptos de LogoPrimitivas del lenguajeEjemplosCasos de estudio.

    *

  • IntroduccinFue creado a mediados de los aos 60.

    Est inspirado en Lisp.

    Es un lenguaje diseado fines didcticos.

    Centrado en la geometra.*

  • Historia del Lenguaje Logo.Creado en 1967, en el departamento de Inteligencia Artificial del MIT.Seymour Papert.Wallace Feurzeig.Cyntia Solomon.Marvin Minsky*

  • Historia del Lenguaje Logo.El elemento ms caracterstico de Logo es la tortuga.Cursor que realiza las operaciones de dibujo.Llamado as por el robot usado para dibujar en los inicios del lenguaje.

    *

  • Historia del Lenguaje Logo.Durante los aos 70, se continu desarrollando en el MIT y en otros lugares como Edimburgo y Tasmania.

    Se realizaron algunos proyectos de investigacin en escuelas de Massachusetts.

    Empez a generalizarse su uso a finales de los 70, con el auge de los ordenadores personales.*

  • Historia del Lenguaje Logo.Las primeras versiones que alcanzaron cierta popularidad fueron las desarrolladas para el Apple II y Texas Instruments 99/4.

    En 1980 se introdujeron varios ordenadores en algunos colegios de Estados Unidos como parte de un proyecto piloto.Logo todava sigue usndose en algunos de estos colegios.*

  • Historia del Lenguaje Logo.En 1980 se fund la Logo Computer Systems, Inc (LCSI).La mayora de los creadores de Logo participaron en esta empresa.

    Durante esta dcada surgieron las primeras versiones comerciales de Logo.TI Logo de Texas Instrument.Apple Logo de la LCSI.

    *

  • Historia del Lenguaje Logo.El momento de mximo esplendor lleg con la publicacin de Mindstorms, de Seymour Papert.Aument el uso de Logo en las aulas.

    Se tradujo a multitud de idiomas y se implement en una gran variedad de mquinas:MSX en Europa, Amrica del Sur y Japn.Atari y Commodore en Amrica del Norte.MacLogo (LCSI).Object Logo (Coral Software)PcLogo (Hardvard Associates)

    *

  • Historia del Lenguaje Logo.A mediados de los 80 se desarroll Lego Logo.Mitchel Resnik y Steve Ocko.Alcanz una gran popularidad.

    A principios de los 90 se empez a considerar logo como algo obsoleto.A pesar de ello, se sigui usando en algunos pases.En Inglaterra lleg a incluirse en el plan nacional de estudios

    *

  • Mindstorms (Desafo a la mente)En l, Seymour Papert ofrece una visin de la educacin en el futuro.

    Relaciona el uso de ordenadores con las ideas de Piaget sobre el desarrollo cognitivo (Contructivismo).Adaptacin por asimilacin y acomodacin con realimentacin.El pensar se configura por la informacin que el sujeto va recibiendo.

    Aprendizaje factores externos vs aprendizaje interno y activado por la experiencia

    *

  • Mindstorms (Desafo a la mente)Construccionismo de Papert.El juego como elemento importante en el proceso de aprendizaje.Conseguir que el nio piense de manera formal.

    Los ordenadores:pueden ser programadosestn sustentados por ideas matemticas. El nio llegar gradualmente, a convertirse en programador de la mquina.

    Desarrollo por cultura vs desarrollo por edad.

    s*

  • Estado actualMicroworlds.Su primera versin la lanz la LCSI en 1993.Introduca multitarea y procesamiento paralelo.Existen muchas versiones diferentes.Todava se comercializa y utiliza en la actualidad.

    *

  • Estado actualUCBLogoEscrito por Brian Harvey en la universidad de Berkeley.Una de las versiones ms conocidas.Versiones para DOS, Windows, Unix, MacOS.Su ltima versin es la 6.0 (Septiembre de 2008)

    *

  • Estado actualMSWLogo.Desarrollado por George MillsLa ltima versin es la 6.5b (Diciembre de 2002)

    FMSLogo.Desarrollado por David Constanzo.La ltima versin es de diciembre de 2009

    Construidas a partir del ncleo de UCB.

    Todava se usa en colegios de Australia y Reino Unido.

    *

  • Estado actualStarLogo Desarrollado por Mitchel Restnick y Eric Klopfer en el MIT.Se considera un lenguaje derivado en lugar de una versin.Lleva el paralelismo a un nivel superior.Miles de procesos actan a la vez.Usado para simulaciones de varios agentes.La versin ms actual es Starlogo TNG 1.5.1 (Enero de 2011).*

  • Estado actualNetLogoDesarrollado por Uri Wilensky.Escrito en Java y Scala.Influenciado por StarLogoCentrado en el uso de un gran nmero de agentes que actan de manera independiente. Exploracin de fenmenos complejos. Libreras para modelar sistemas de dominios muy dispares, (econmicos, biolgicos, fsicos, qumicos....)La ltima versin es la 4.1.2 (Diciembre 2010)*

  • Estado actualEn la actualidad se cuentan unas 197 implementaciones distintas de Logo.Muchas de ellas desfasadas.

    No existe un estndar LogoLa versin UCB es lo ms parecido.

    En lo sucesivo, se referir a XlogoInterprete escrito en Java.Licencia GPL.http://xlogo.tuxfamily.org/

    *

  • Relacin con otros lenguajes.Logo tambin ha influido en los siguientes lenguajes:

    Smalltalk Creado por Alan Kay, Dan Ingalls y Adele Goldberg.Es un lenguaje orientado a objetos dinmicamente tipificado. Creado, en parte, como lenguaje destinado al uso didctico para llevar a cabo la teora construccionista del aprendizaje

    Etoys: Desarrollado por Dan Ingalls.Es un lenguaje orientado a objetos y basado en prototiposUsado en la enseanza. Con un entorno muy amigable.

    *

  • Relacin con otros lenguajes.Scratch: Creado por Mitchel Resnick en 2007.Lenguaje dedicado a la enseanza. Permite experimentar con los conceptos que tiene un lenguaje de alto nivel mediante el uso de una sencilla interfaz grfica.

    Rebol (Relative Expression Based Object Language)Desarrollado por Carl Sassenrath en 1997.Es un lenguaje de intercambio de datos. Utilizado para programar aplicaciones de Internet (clientes y servidores) , bases de datos, y aplicaciones multimedia.

    *

  • Paradigmas de LogoFuncional: Es un lenguaje funcional, herencia que recibe directamente de Lisp.

    Procedural: Este concepto deriva de la programacin estructurada, y significa que el lenguaje se basa en llamadas a rutinas.

    Interpretado: Diseado para ejecutarse a travs de un intrprete y no compilado.*

  • Paradigmas de LogoReflectivo: Son aquellos que tienen la capacidad de observar y modificar su estructura de alto nivel.En los lenguajes que no distinguen entre tiempo de ejecucin y tiempo de compilacin, no hay diferencia entre compilacin o interpretacin de cdigo y reflexin.

    Educativo: Diseado para la enseanza.

    *

  • Conceptos de Logo.El cursor o tortuga se controla mediante comando que hacen referencia a su posicin relativa.AvanzaRetrocedeGiraizquierdaGiraderecha

    *

  • Conceptos de Logo.La tortuga tambin puede controlarse mediante coordenadas cartesianas.posicionponxponyponxyponrumbohaciacentro

    *

  • Conceptos de Logo.Las expresiones consisten en:Nombre de procedimiento.Una o varias expresiones (argumentos).

    Logo primero evala las subexpresiones del argumento y luego invoca al procedimiento.

    Para que no se evale una expresin, debe ir precedida por comillas doble ().

    *

  • Conceptos de Logo.Variables.Pueden ser globales o localesEn Xlogo las variables locales no son accesibles por los procedimientos llamados.

    Para acceder a una variable, su nombre debe ir precedido por dos puntos (:)

    Tipos.NumeroPalabraLista

    *

  • Conceptos de Logo.Lista de propiedadesUn tipo especial, consistente en un nombre seguido por una serie de pares (atributo, valor)Ej:

    En algunas implementaciones (UCBLogo) tambin existe el tipo array.

    *

  • Primitivas del lenguaje.Se puede modificar las propiedades de la tortugamuestratortuga / ocultatortugasubelapiz / bajalapizponcolorlapizpongrosorponformalapiz

    *

  • Primitivas del lenguaje.Operaciones aritmticasSuma, multiplica, seno

    Operaciones lgicasY, o, no.Tests (nmero?, entero?, vacio?, )

    *

  • Primitivas del lenguaje.Operaciones con variableshaz, local, borra, ejecuta: Ejecuta la lista de instrucciones contenida en una lista. Ej:

    Ej: arcoiris

    *

  • Primitivas del lenguaje.Operaciones con listasPalabra, lista, primero, ultimo, elemento, agrega, reemplaza, Ej:

    *

  • Estructuras de controlCondicionalsi expresin_lgica [comandos1] [comandos2]Ej:

    Si en lugar de lista de comandos, se quiere utilizar variables, hay que utilizar sisino.Ej:

    *

  • Estructuras de control

    En otras implementaciones de Logo tenemos las estructuras condicionales SI y SISINO con el siguiente esquema:si expresin_lgica [comandos1]sino expresin_lgica [comandos1] [comandos2]

    Por ello, la posible explicacin de que se mantenga el SISINO en XLogo puede ser por la conservacin de la sintaxis tradicional de Logo ms que por su utilidad.

    *

  • Estructuras de controlBucle repeatrepite n [ lista_de_comandos ]Ej:

    La variable contador indica en nmero de la iteracin en curso

    Bucle Whilemientras [lista_a_evaluar] [ lista_de_comandos ]Ej:

    *

  • Estructuras de controlBucle forrepitepara [ lista1 ] [ lista2 ]Ej:

    Bucle for eachparacada nombre_variable lista_o_palabra [ lista_de_comandos ]Ej:*

  • Ejemplos:Bsico*

  • Ejemplos:Bsico Crculo de palabras: Se dibuja una circunferencia con 40 puntos equidistantes desde los cuales se escribe Logo forever.

    *

  • Ejemplos:Bsico Casas: Se dibujan 4 casas cada una de un tamao mayor que la anterior. La figura de la casa se compone de un cuadrado y un tringulo generados por separado.

    *

  • Ejemplos:Azar Figuras aleatorias: Se rellena el rea de dibujo con estrellas, lunas y peces coloreados y colocados aleatoriamente.

    *

  • Ejemplos:Azar Alambres aleatorios: Se rellena el rea de dibujo con alambres de distintos tipos coloreados y colocados aleatoriamente.

    Mediante el dibujado de la imagen Sucesivas veces con diferente grosor y tonalidades del mismo color se consigue el efecto de profundidad. *

  • Ejemplos:Azar Grietas: Se generan grietas con posicin y direccin aleatorias que terminan al colisionar con otra grieta o con el marco del rea de dibujo. Tras haber generado las grietas se colorean aleatoriamente algunas zonas.

    *

  • Ejemplos:Espirales Rosa: Mediante la superposicin de 4 pares de espirales simtricas y giradas 90 grados respecto a la anterior se crea la imagen de una rosa.

    Imagen de detalle de un par de espirales simtricas.. *

  • Ejemplos:Nubes de puntos Toro de KAM: Se dibuja un "Toro de KAM". El teorema de KAM se usa en Fsica Cuntica para explicar la existencia de curvas estables (toros de KAM) bajo pequeas perturbaciones de un sistema mecnico.*

  • Ejemplos:Curvas en coordenadas polares Espirales en polares. Espiral de Arqumedes:Las vueltas sucesivas de la espiral tienen distancias de separacin constantes.*

  • Ejemplos:Curvas en coordenadas polares Espiral de Fermat: El radio es proporcional a la raz cuadrada del ngulo, por lo que cada par de vueltas tendr menos separacin que el anterior.*

  • Ejemplos:Curvas en coordenadas polares Espiral Equiangular: El radio depende exponencialmente del ngulo, por lo que la espiral crece muy rpidamente.

    *

  • Ejemplos:Curvas en coordenadas polares Orqudea de Arqumedes: Es el resultado de aadir a la espiral de Arqumedes una pequea ondulacin.

    *

  • Ejemplos:3D* En XLogo se puede pasar al modo 3D utilizando la primitiva perspectiva. Cuando usamos dicha primitiva, la forma y orientacin de la tortuga cambian.

    Los semiejes en el espacio de tres dimensiones se dispondran de la siguiente forma en el rea de trabajo.

  • Ejemplos:3D* El cuadrado dibujado anteriormente en el modo 2D ahora se vera de la siguiente forma:

    Las primitivas bsicas de las que disponemos son: subenariz y bajanariz: La tortuga cambia a un eje de direccin superior o inferior al actual. balanceaderecha y balanceaizquierda: La tortuga rota alrededor del eje de direccin en el que nos encontramos.

  • Ejemplos:3D* Tetraedro: Se genera un tetraedro compuesto por trigngulos dispuestos en el espacio de tres dimensiones.

  • Ejemplos:3D* Dado: Se crea un dado en 3 dimensiones. Est basado en la creacin del cubo aadiendo una funcin generadora de puntos.

  • Ejemplos:3D* Hrreo asturiano: Se genera un hrreo asturiano. Es una construccin destinada a guardar y conservar los alimentos, alejados de la humedad y de los animales.

  • Ejemplos:Multitortuga XLOGOpermite trabajar con varias tortugas en pantalla al mismo tiempo.

    El nmero mximo de tortugas se configura en el panel de preferencias o con la primitiva ponmaximastortugas. Se utiliza la primitivapontortugapara elegir la tortuga que se desea controlar. Si esta tortuga no existe, se crear.

    Las nuevas tortugas no se muestran hasta que se ejecutamuestratortuga, y en ese momento se colocan en el origen. *

  • Ejemplos:Multitortuga Bacterias: Se simula la vida de 32 bacterias vistas a travs de un microscopio. Slo se les distingue por su contorno (la pared celular).

    *

  • Ejemplos:Multitortuga Curvas de persecucin: Una serie de tortugas dispuestas en el borde de un crculo seguirn, cada una de ellas, a la tortuga que tengan a su izquierda. En este recorrido se generar una especie de espiral.

    *

  • Ejemplos:FractalesQu es un fractal?

    *

  • Ejemplos:FractalesQu es un fractal?

    *

  • Ejemplos:FractalesQu es un fractal?

    *

  • Ejemplos:FractalesQu es un fractal?

    *

  • Ejemplos:FractalesLas nubes no son esferas, las montaas no son conos, las costas no son crculos, y las cortezas de los rboles no son lisas, ni los relmpagos viajan en una lnea recta.Mandelbrot, Introduction to The Fractal Geometry of Nature

    *

  • Ejemplos:FractalesDefinicin: Un fractal es un objeto semigeomtrico cuya estructura bsica, fragmentada o irregular, se repite a diferentes escalas.

    Adems por lo general cumplen que:

    Es demasiado irregular para ser descrito en trminos geomtricos tradicionales.

    Posee detalle a cualquier escala de observacin.

    Es autosimilar.*

  • Ejemplos:FractalesSu dimensin de Hausdorff-Besicovitch es estrictamente mayor que su dimensin topolgica.

    Se define mediante un algoritmo recursivo.

    *

  • Ejemplos:FractalesEjemplos clsicos:Funcin de Wierstrass

    Copo de Koch:

    Alfombra de Sierpienski:

    *

  • Ejemplos:Fractales: Los conjuntos de Julia.Los conjuntos de Julia:Llamados as por el francs Gastn Julia unos de los primeros pioneros en este campo.

    Se obtienen al aplicar sucesivas veces una funcin holomorfa (compleja e infinitamente diferenciable).

    Estos conjuntos se representan mediante un algoritmo en que cada pixel se colorea segn el nmero de iteraciones necesarias para escapar.

    *

  • Ejemplos:Fractales: Los conjuntos de JuliaUna familia muy comn es:fc(z) = z2 + c (donde c es un nmero complejo).Algunos ejemplos:

    c=-2 c=(2)+(1)c=-0.835-0.2321i*

  • Ejemplos:Fractales: Los conjuntos de MandelbrotLos conjuntos de Mandelbrot:Fueron descubiertos por Benot Mandelbrot en la dcada de los setenta del siglo XX.Vienen definidos por la siguiente relacin:

    *

  • Ejemplos:FractalesBrcoli:

    rbol:*

  • Ejemplos:FractalesSierpiensky gasket:

    Copos de Koch:*

  • Ejemplos:Otras aplicaciones.Aproximacin de pi.

    Cubo en 3-D.

    Arcoiris-Multitortuga.

    Curvas Polares.

    *

  • Ejemplos:Otras aplicacionesJuego de las Cerillas.

    Animaciones.

    Compiladores.

    Y Mucho ms. .

    *

  • Casos de estudioDnde se utiliza Logo?- Logo es un lenguaje diseado con fines didcticos, por tanto es un lenguaje que surgi para complementar clases y ayudar en el aprendizaje activo de los nios.

    - Seymour Papert pretenda con ello, seguir su teora construccionista de la enseanza. Esta teora promueve que el alumno participe y est muy involucrado dentro de su propio aprendizaje.

    - En un principio el lenguaje fue creado para la enseanza de las Matemticas . Pero estudios posteriores demuestran que Logo tambin es til para el aprendizaje de otras materias-

    *

  • Casos de estudioEl lenguaje de programacin Logo fue desarrollado en primera instancia para ayudar a los nios a aprender conceptos matemticos.

    Nios de primaria aplican nociones matemticas tales como nmero, aritmtica, estimacin, medida, patrones, proporcin, simetra en su trabajo con Logo.

    Estudios demuestran que el uso de Logo mejora hasta un 10 % el aprendizaje de estos conceptos.

    *

  • Casos de estudioLogo puede ayudar a los nios a aprender niveles superiores de pensamiento geomtrico

    Logo tambin ayuda a los alumnos a ser mucho ms precisos a la hora de medir.

    Por ltimo, los estudios realizados tambin demuestran que los alumnos son entienden de una manera ms profunda el concepto de ngulo.*

  • Casos de estudioLogo ayuda a entender el concepto de variable a los alumnos.

    Los alumnos planifican de manera ms efectiva.

    Representan las tareas a planificar en forma diferente.

    Perseveran en la resolucin de problemas.*

  • Casos de estudioAumenta la comprensin lectora de los alumnos.

    Son mejores solucionando conflictos y problemas.

    Tienen un mayor autocontrol de s mismos.

    Ayuda a los nios en su integracin social.*

  • BibliografaLibros: Logo: Models and Methods for Problem Solving.Advanced Logo, A Language for Learning.Computer Science Logo Style.Pginas WebsLogo Foundation: http://el.media.mit.edu/logo-foundation/ltima actualizacin: Abril 2011.Paraso de Logo:http://neoparaiso.com/logo/ltima actualizacin: Septiembre 2010.Pgina de Xlogo:http://xlogo.tuxfamily.org/ltima actualizacin: Noviembre 2010.

    *

    ***************************************************************************