SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Alrededor de 1956 McCarthy entendió el papel central de un lenguaje de
programación para su objetivo científico - la inteligencia artificial.
Un trabajo consultor en 1957 le permitió experimentar con una combinación de
notación algebraica (como esto es usado en el lenguaje FORTRAN para describir el
cómputo aritmético).
El experimento era acertado y la idea se hizo para él una base de pensamiento.
Él analizó lenguajes de programación existentes más profundamente (usando el
lenguaje FORTRAN como el modelo) y comenzó a pedir el nuevo medio de expresión.
Antes de septiembre de 1958, McCarthy había propuesto crear una nueva Lengua
Internacional Algorítmica
Características
Interactivo (usualmente)
Los datos en LISP son muy restringidos:
Átomos literales (símbolos)
Átomos numéricos
La estructura de datos básica es la lista. Incluye primitivas para su
manipulación.
Los comentarios comienzan por ‘;’
Los parámetros de función van todos por valor o por referencia según la
clasificación de la función.
LISP es interpretado y usa una estructura de gestión de almacenamiento en
montículo con recolección de basura como almacenamiento primario para datos
y programas.
Estructura/Objetos de datos
Tipos de datos primitivos: átomos. Cada átomo tiene una lista de
propiedades asociada, accesible a través del puntero que almacena el nombre
del átomo.
No se distinguen may-min para identificadores.
Tipos de datos estructurado: listas. Tienen asociado un puntero al primer
elemento (car) y otro al elemento siguiente (cdr). Una lista vacía apunta a nil.
Para la asignación se utiliza setq(x val). Representación y almacenamiento.
Cada descriptor de un objeto de datos proporciona tipo y atributos.
En los datos estructurados (listas) se tienen sólo punteros a primero y a
siguiente.
El traductor LISP es una función read() que toma el fuente del fichero y lo interpreta.
La ejecución del programa consiste en la evaluación de las funciones contenidas en
el mismo.
Operaciones sobre átomos (en preorden): +, -, *, /
Operaciones sobre listas: cons, car, cdr, list, replace, null, equal.
Entrada y salida: open(), read(), print().
Definición de funciones: defun, define.
Estructura/Control de secuencia
• Tres clases de funciones:
1. Función interpretada, en forma de estructura de listas. Primitivas
eval y apply.
2. Función compilada, compiladas en un bloque de código máquina
que puede ser ejecutado por el interprete del hardware.
3. Macro, se declara con define. Es simplemente una función
ordinaria en LISP. Puede ser interpretada y compilada.
Estructura/ Gestión de subprogramas
o La memoria se estructura en forma de montículo, que
maneja unidades de una palabra de tamaño fijo usando
una lista de espacios libres y un recolector de basura.
o Entorno de referencia:
1. Local, es el que se da en las listas, como asociaciones
de átomos relacionados de una determinada manera.
2. Global o común, se consigue mediante asociación de
un átomo con una propiedad del mismo que contiene
un puntero al datos referenciado. Se usa set y setq.
Estructura/Gestión de
almacenamiento
• Paso de parámetros:
1. Transmisión por valor, consiste en evaluar las
expresiones de una lista de parámetros y transmitir los
valores resultantes.
2. Transmisión por nombre, transmitir las expresiones de la
lista de parámetros sin evaluar, y dejar que la función
llamada los evalue usando eval.
Estructura/Gestión de
almacenamiento
Funciones en Lisp
Funciones normales, son las que se suelen incluir en las
implementaciones de LISP
Funciones de lista, para manipulación de listas:
– car L, devuelve el primer elemento de L.
– cdr L, devuelve la cola (lista - primero).
– cons x y, devuelve uan lista formada por x e y.
– list x y z, devuelve la lista (x y z).
– quote x, no se evalúa x.
• Predicados
– atom x, devuelve True si x es un átomo.
– numberp x, devuelve True si x es un número.
– greaterp x y, devuelve True si x>y.
– lessp x y, devuelve True si x<y.
– null x, devuelve True si x es nulo.
– and x y, devuelve x and y.
– or x y, devuelve x or y.
– not x, devuelve not x.
– eq x y, devuelve True si x=y.
• Funciones aritméticas:
– +, -, *, y /.
– rem x y, devuelve el módulo x/y (remainder).
• Funciones de entrada y salida
– load nombrearchivo, lee el archivo a memoria.
– print x, imprime el elemento x.
– open nombrearchivo, abre un archivo y devuelve una
puntero al mismo.
– read, lee del terminal un átomo.
– help, proporciona ayuda.
– trace, traza la función.
– bye, termina LISP.
EJEMPLO DEL LENGUAJE LISP
EJEMPLO DEL LENGUAJE LISP
CONCLUSION
LISP ha evolucionado durante más de 30 años y
desarrollado para inteligencia artificial, pero no es
adecuado para aplicaciones convencionales.
Las versiones compiladas son algo más eficientes.
Es un lenguaje muy estricto poco convencional en el
sentido comercial. Se frecuenta mas a lo científico
(Inteligencia Artificial)y se deriva de Fortran y su estructura
se maneja de un lista inicio o final (cabeza cola)

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
Recursividad
RecursividadRecursividad
Recursividad
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Listas en prolog
Listas en prologListas en prolog
Listas en prolog
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
(gramatica atribuida)
(gramatica atribuida)(gramatica atribuida)
(gramatica atribuida)
 
Unidad de Control
Unidad de ControlUnidad de Control
Unidad de Control
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Razonamiento monotono
Razonamiento monotonoRazonamiento monotono
Razonamiento monotono
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstra
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Colas
ColasColas
Colas
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 

Andere mochten auch

lenguaje lisp
lenguaje lisplenguaje lisp
lenguaje lispjulieth5
 
Introduccion a los lenguajes de programacion para Inteligencia Artificial
Introduccion a los lenguajes de programacion para Inteligencia ArtificialIntroduccion a los lenguajes de programacion para Inteligencia Artificial
Introduccion a los lenguajes de programacion para Inteligencia ArtificialBrian Pando
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPAyrton Adame
 
Proyecto Areas Inteligencia Artificial Javier Garcia
Proyecto Areas Inteligencia Artificial Javier GarciaProyecto Areas Inteligencia Artificial Javier Garcia
Proyecto Areas Inteligencia Artificial Javier GarciaJavier García García
 
Justificación y objetivos de la investigación contable de
Justificación y objetivos de la investigación contable deJustificación y objetivos de la investigación contable de
Justificación y objetivos de la investigación contable deMargarita Guevara
 
Prácticas Autocad
Prácticas AutocadPrácticas Autocad
Prácticas Autocadpetro
 

Andere mochten auch (9)

lenguaje lisp
lenguaje lisplenguaje lisp
lenguaje lisp
 
Introduccion a los lenguajes de programacion para Inteligencia Artificial
Introduccion a los lenguajes de programacion para Inteligencia ArtificialIntroduccion a los lenguajes de programacion para Inteligencia Artificial
Introduccion a los lenguajes de programacion para Inteligencia Artificial
 
02-Unidad 1 Generalidades de la Inteligencia Artificial
02-Unidad 1 Generalidades de la Inteligencia Artificial02-Unidad 1 Generalidades de la Inteligencia Artificial
02-Unidad 1 Generalidades de la Inteligencia Artificial
 
Árboles de decisión y listas
Árboles de decisión y listasÁrboles de decisión y listas
Árboles de decisión y listas
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
 
Proyecto Areas Inteligencia Artificial Javier Garcia
Proyecto Areas Inteligencia Artificial Javier GarciaProyecto Areas Inteligencia Artificial Javier Garcia
Proyecto Areas Inteligencia Artificial Javier Garcia
 
Justificación y objetivos de la investigación contable de
Justificación y objetivos de la investigación contable deJustificación y objetivos de la investigación contable de
Justificación y objetivos de la investigación contable de
 
sistemas expertos
sistemas expertossistemas expertos
sistemas expertos
 
Prácticas Autocad
Prácticas AutocadPrácticas Autocad
Prácticas Autocad
 

Ähnlich wie Lenguaje Lisp

Ähnlich wie Lenguaje Lisp (20)

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 
Semana12
Semana12Semana12
Semana12
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Kit de supervivencia para Java 8 : como prepararse para Java 9
Kit de supervivencia para Java 8 :  como prepararse para Java 9Kit de supervivencia para Java 8 :  como prepararse para Java 9
Kit de supervivencia para Java 8 : como prepararse para Java 9
 
COMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de SimbolosCOMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de Simbolos
 
Java Lambda
Java LambdaJava Lambda
Java Lambda
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
Agenda de Datos Personales en LISP
Agenda de Datos Personales en LISPAgenda de Datos Personales en LISP
Agenda de Datos Personales en LISP
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Presentación1
Presentación1Presentación1
Presentación1
 
Estadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión IntroductoriaEstadística con Lenguaje R: Sesión Introductoria
Estadística con Lenguaje R: Sesión Introductoria
 
Tema 6
Tema 6Tema 6
Tema 6
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
Programacion logica
Programacion logicaProgramacion logica
Programacion logica
 
Numpy y Scipy
Numpy y ScipyNumpy y Scipy
Numpy y Scipy
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programación
 
Apuntes scilab
Apuntes scilabApuntes scilab
Apuntes scilab
 

Mehr von Marcos Omar Cruz Ortrega

Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Marcos Omar Cruz Ortrega
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerMarcos Omar Cruz Ortrega
 
¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?Marcos Omar Cruz Ortrega
 
¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?Marcos Omar Cruz Ortrega
 

Mehr von Marcos Omar Cruz Ortrega (18)

Cruzsoft Project Manager
Cruzsoft Project ManagerCruzsoft Project Manager
Cruzsoft Project Manager
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)
 
El Chipset - Ensayo
El Chipset - Ensayo El Chipset - Ensayo
El Chipset - Ensayo
 
Biblioteca Virtual - PSP
Biblioteca Virtual - PSPBiblioteca Virtual - PSP
Biblioteca Virtual - PSP
 
Ensayo (direccionamiento de memoria)
Ensayo (direccionamiento de memoria)Ensayo (direccionamiento de memoria)
Ensayo (direccionamiento de memoria)
 
Comunicaciones Moviles
Comunicaciones MovilesComunicaciones Moviles
Comunicaciones Moviles
 
Programacion de puertos e interrupciones
Programacion de puertos e interrupciones Programacion de puertos e interrupciones
Programacion de puertos e interrupciones
 
Electroestatica
ElectroestaticaElectroestatica
Electroestatica
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson Penker
 
Mantenimiento de software (síntesis)
Mantenimiento de software (síntesis)Mantenimiento de software (síntesis)
Mantenimiento de software (síntesis)
 
Algebra Booleana
Algebra BooleanaAlgebra Booleana
Algebra Booleana
 
Usuarios y Administradores en DB
Usuarios y Administradores en DBUsuarios y Administradores en DB
Usuarios y Administradores en DB
 
Inductancia magnetica
Inductancia magneticaInductancia magnetica
Inductancia magnetica
 
¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?¿La usabilidad esconde el éxito en el desarrollo de un software?
¿La usabilidad esconde el éxito en el desarrollo de un software?
 
2-Proyectos de electronica
2-Proyectos de electronica2-Proyectos de electronica
2-Proyectos de electronica
 
¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?¿Cual sera el verdadero negocio de facebook?
¿Cual sera el verdadero negocio de facebook?
 
Cruzsoft Magazine #0
Cruzsoft Magazine #0Cruzsoft Magazine #0
Cruzsoft Magazine #0
 
Fundamentos de redes y topologias
Fundamentos de redes y topologiasFundamentos de redes y topologias
Fundamentos de redes y topologias
 

Kürzlich hochgeladen

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Kürzlich hochgeladen (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Lenguaje Lisp

  • 1.
  • 2. Alrededor de 1956 McCarthy entendió el papel central de un lenguaje de programación para su objetivo científico - la inteligencia artificial. Un trabajo consultor en 1957 le permitió experimentar con una combinación de notación algebraica (como esto es usado en el lenguaje FORTRAN para describir el cómputo aritmético). El experimento era acertado y la idea se hizo para él una base de pensamiento. Él analizó lenguajes de programación existentes más profundamente (usando el lenguaje FORTRAN como el modelo) y comenzó a pedir el nuevo medio de expresión. Antes de septiembre de 1958, McCarthy había propuesto crear una nueva Lengua Internacional Algorítmica
  • 3. Características Interactivo (usualmente) Los datos en LISP son muy restringidos: Átomos literales (símbolos) Átomos numéricos La estructura de datos básica es la lista. Incluye primitivas para su manipulación. Los comentarios comienzan por ‘;’ Los parámetros de función van todos por valor o por referencia según la clasificación de la función. LISP es interpretado y usa una estructura de gestión de almacenamiento en montículo con recolección de basura como almacenamiento primario para datos y programas.
  • 4. Estructura/Objetos de datos Tipos de datos primitivos: átomos. Cada átomo tiene una lista de propiedades asociada, accesible a través del puntero que almacena el nombre del átomo. No se distinguen may-min para identificadores. Tipos de datos estructurado: listas. Tienen asociado un puntero al primer elemento (car) y otro al elemento siguiente (cdr). Una lista vacía apunta a nil. Para la asignación se utiliza setq(x val). Representación y almacenamiento. Cada descriptor de un objeto de datos proporciona tipo y atributos. En los datos estructurados (listas) se tienen sólo punteros a primero y a siguiente.
  • 5. El traductor LISP es una función read() que toma el fuente del fichero y lo interpreta. La ejecución del programa consiste en la evaluación de las funciones contenidas en el mismo. Operaciones sobre átomos (en preorden): +, -, *, / Operaciones sobre listas: cons, car, cdr, list, replace, null, equal. Entrada y salida: open(), read(), print(). Definición de funciones: defun, define. Estructura/Control de secuencia
  • 6. • Tres clases de funciones: 1. Función interpretada, en forma de estructura de listas. Primitivas eval y apply. 2. Función compilada, compiladas en un bloque de código máquina que puede ser ejecutado por el interprete del hardware. 3. Macro, se declara con define. Es simplemente una función ordinaria en LISP. Puede ser interpretada y compilada. Estructura/ Gestión de subprogramas
  • 7. o La memoria se estructura en forma de montículo, que maneja unidades de una palabra de tamaño fijo usando una lista de espacios libres y un recolector de basura. o Entorno de referencia: 1. Local, es el que se da en las listas, como asociaciones de átomos relacionados de una determinada manera. 2. Global o común, se consigue mediante asociación de un átomo con una propiedad del mismo que contiene un puntero al datos referenciado. Se usa set y setq. Estructura/Gestión de almacenamiento
  • 8. • Paso de parámetros: 1. Transmisión por valor, consiste en evaluar las expresiones de una lista de parámetros y transmitir los valores resultantes. 2. Transmisión por nombre, transmitir las expresiones de la lista de parámetros sin evaluar, y dejar que la función llamada los evalue usando eval. Estructura/Gestión de almacenamiento
  • 9. Funciones en Lisp Funciones normales, son las que se suelen incluir en las implementaciones de LISP Funciones de lista, para manipulación de listas: – car L, devuelve el primer elemento de L. – cdr L, devuelve la cola (lista - primero). – cons x y, devuelve uan lista formada por x e y. – list x y z, devuelve la lista (x y z). – quote x, no se evalúa x.
  • 10. • Predicados – atom x, devuelve True si x es un átomo. – numberp x, devuelve True si x es un número. – greaterp x y, devuelve True si x>y. – lessp x y, devuelve True si x<y. – null x, devuelve True si x es nulo. – and x y, devuelve x and y. – or x y, devuelve x or y. – not x, devuelve not x. – eq x y, devuelve True si x=y. • Funciones aritméticas: – +, -, *, y /. – rem x y, devuelve el módulo x/y (remainder).
  • 11. • Funciones de entrada y salida – load nombrearchivo, lee el archivo a memoria. – print x, imprime el elemento x. – open nombrearchivo, abre un archivo y devuelve una puntero al mismo. – read, lee del terminal un átomo. – help, proporciona ayuda. – trace, traza la función. – bye, termina LISP.
  • 14. CONCLUSION LISP ha evolucionado durante más de 30 años y desarrollado para inteligencia artificial, pero no es adecuado para aplicaciones convencionales. Las versiones compiladas son algo más eficientes. Es un lenguaje muy estricto poco convencional en el sentido comercial. Se frecuenta mas a lo científico (Inteligencia Artificial)y se deriva de Fortran y su estructura se maneja de un lista inicio o final (cabeza cola)